补全添加编辑不能存在符号

This commit is contained in:
小帅 2026-04-02 15:41:36 +08:00
parent 869231eefc
commit 7d1054d907
8 changed files with 21 additions and 12 deletions

View File

@ -1,2 +0,0 @@
12第三方第三方
12是多少

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 KiB

View File

@ -30,12 +30,18 @@ export default router.post(
data: { label: string; value: string; data: string }[];
directorManual: string;
};
// 不允许纯数字
if (/^\d+$/.test(directorManual)) {
res.status(400).send(error("文件名称不能为纯数字"));
return;
}
// 不允许有符号(只允许中文、字母和数字)
if (!/^[\u4e00-\u9fa5a-zA-Z0-9]+$/.test(directorManual)) {
res.status(400).send(error("文件名称不能包含符号"));
return;
}
const mainPath = u.getPath(["skills", "story_skills", directorManual]);
if (fs.existsSync(mainPath)) {
return res.status(400).send(error("请勿填写重复名称的视觉手册"));
@ -43,8 +49,8 @@ export default router.post(
// 字段映射表(与 getVisualManual 保持一致)
const DATA_MAP: { value: string; subDir?: string }[] = [
{ value: "README" },
{ value: "art_character", subDir: "art_prompt" },
{ value: "art_character_derivative", subDir: "art_prompt" },
{ value: "art_directorPlanning", subDir: "art_prompt" },
{ value: "art_storyboard", subDir: "art_prompt" },
];
// 根据 DATA_MAP 构建 value -> subDir 的映射
const SUB_DIR_MAP = new Map(DATA_MAP.map(({ value, subDir }) => [value, subDir ?? ""]));

View File

@ -31,8 +31,15 @@ export default router.post(
data: { label: string; value: string; data: string }[];
};
// 不允许纯数字
if (/^\d+$/.test(directorManual)) {
res.status(400).send(error("名称不能为纯数字"));
res.status(400).send(error("文件名称不能为纯数字"));
return;
}
// 不允许有符号(只允许中文、字母和数字)
if (!/^[\u4e00-\u9fa5a-zA-Z0-9]+$/.test(directorManual)) {
res.status(400).send(error("文件名称不能包含符号"));
return;
}
@ -43,8 +50,8 @@ export default router.post(
// 字段映射表(与 getVisualManual 保持一致)
const DATA_MAP: { value: string; subDir?: string }[] = [
{ value: "README" },
{ value: "art_character", subDir: "art_prompt" },
{ value: "art_character_derivative", subDir: "art_prompt" },
{ value: "art_directorPlanning", subDir: "art_prompt" },
{ value: "art_storyboard", subDir: "art_prompt" },
];
// 根据 DATA_MAP 构建 value -> subDir 的映射
const SUB_DIR_MAP = new Map(DATA_MAP.map(({ value, subDir }) => [value, subDir ?? ""]));

View File

@ -8,8 +8,8 @@ const router = express.Router();
// 字段映射表
const DATA_MAP: { label: string; value: string; subDir?: string }[] = [
{ label: "README", value: "README" },
{ label: "前缀", value: "art_character", subDir: "art_prompt" },
{ label: "角色", value: "art_character_derivative", subDir: "art_prompt" },
{ label: "导演规划", value: "art_directorPlanning", subDir: "art_prompt" },
{ label: "分镜表", value: "art_storyboard", subDir: "art_prompt" },
];
// 读取 md 文件内容,文件不存在时返回空字符串