补全添加编辑不能存在符号
This commit is contained in:
parent
869231eefc
commit
7d1054d907
@ -1,2 +0,0 @@
|
||||
12第三方第三方
|
||||
12是多少
|
||||
@ -1 +0,0 @@
|
||||
12
|
||||
@ -1 +0,0 @@
|
||||
12
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 743 KiB |
@ -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 ?? ""]));
|
||||
|
||||
@ -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 ?? ""]));
|
||||
|
||||
@ -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 文件内容,文件不存在时返回空字符串
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user