From db8208d5b296557028940fd0da9b0ccb3e596e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B8=85?= <2944435683> Date: Fri, 3 Apr 2026 03:16:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=86=E8=A7=89=E6=89=8B=E5=86=8C?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E5=A4=B1=E8=B4=A5=E5=B0=B1=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routes/assetsGenerate/batchPolishAssetsPrompt.ts | 9 ++++++--- src/routes/assetsGenerate/polishAssetsPrompt.ts | 2 -- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/routes/assetsGenerate/batchPolishAssetsPrompt.ts b/src/routes/assetsGenerate/batchPolishAssetsPrompt.ts index 898f3b5..04db8ff 100644 --- a/src/routes/assetsGenerate/batchPolishAssetsPrompt.ts +++ b/src/routes/assetsGenerate/batchPolishAssetsPrompt.ts @@ -83,13 +83,13 @@ export default router.post( }); }); const result: ResultItem[] = Object.values(itemMap); - // 批量更新所有 item 状态为生成中 const assetsIds = items.map((item: { assetsId: number }) => item.assetsId); - await u.db("o_assets").whereIn("id", assetsIds).update({ promptState: "生成中" }); //查询所有资产,用于判断每个资产是否是衍生资产 const assetsDataList = await u.db("o_assets").whereIn("id", assetsIds).select("id", "assetsId"); if (!assetsDataList || assetsDataList.length === 0) return res.status(500).send(error("资产不存在")); const assetsDataMap = new Map(assetsDataList.map((a: any) => [a.id, a])); + // 所有前置检测通过后,再批量更新状态为生成中 + await u.db("o_assets").whereIn("id", assetsIds).update({ promptState: "生成中" }); const getTypeConfig = ( isDerivative: boolean, @@ -128,7 +128,10 @@ export default router.post( if (!config) return; //获取到视觉手册 const visualManual = await u.getArtPrompt(project.artStyle as string, "art_skills", config.visualManual); - if (!visualManual) return res.status(500).send(error("视觉手册未定义")); + if (!visualManual) { + await u.db("o_assets").where("id", item.assetsId).update({ promptState: "生成失败", promptErrorReason: "视觉手册未定义" }); + return; + } findItemByName(result, item.name, config.itemType); const systemPrompt = visualManual; try { diff --git a/src/routes/assetsGenerate/polishAssetsPrompt.ts b/src/routes/assetsGenerate/polishAssetsPrompt.ts index d03ee2b..e1914bb 100644 --- a/src/routes/assetsGenerate/polishAssetsPrompt.ts +++ b/src/routes/assetsGenerate/polishAssetsPrompt.ts @@ -108,8 +108,6 @@ export default router.post( if (!config.visualManual) return res.status(500).send(error("视觉手册未定义")); //获取到视觉手册 const visualManual = await u.getArtPrompt(project.artStyle as string, "art_skills", config.visualManual); - console.log("%c Line:111 🍬 visualManual", "background:#6ec1c2", visualManual); - return if (!visualManual) return res.status(500).send(error("视觉手册未定义")); findItemByName(result, name, config.itemType); const systemPrompt = visualManual; From 1de33571551a5f90f3a12d8b6f156a3bcb556be6 Mon Sep 17 00:00:00 2001 From: zhishi <1951671751@qq.com> Date: Fri, 3 Apr 2026 04:39:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/batchGenerateAssetsImage.ts | 14 ++++++++++--- src/types/database.d.ts | 20 +------------------ 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/routes/production/assets/batchGenerateAssetsImage.ts b/src/routes/production/assets/batchGenerateAssetsImage.ts index 40b13da..d7ec5d8 100644 --- a/src/routes/production/assets/batchGenerateAssetsImage.ts +++ b/src/routes/production/assets/batchGenerateAssetsImage.ts @@ -27,7 +27,7 @@ export default router.post( .db("o_assets") .leftJoin("o_image", "o_assets.imageId", "o_image.id") .whereIn("o_assets.id", parentIds as number[]) - .select("o_assets.id", "o_image.filePath"); + .select("o_assets.id", "o_image.filePath", "o_assets.describe"); const assetsSrcArr = await Promise.all( parentAssetsData.map(async (item) => { return { @@ -36,6 +36,12 @@ export default router.post( }; }), ); + assetsDataArr.forEach((i: any) => { + const parent = parentAssetsData.find((item) => item.id === i.assetsId); + if (parent) { + i.parentDescribe = parent.describe; + } + }); const imageUrlRecord: Record = {}; assetsSrcArr.forEach((item) => { imageUrlRecord[item.id] = item.src; @@ -70,7 +76,7 @@ export default router.post( const imageData: { id: number; state: string; src: string }[] = []; res.status(200).send(success("开始生成资产图片")); - const generateSingleAsset = async (item: (typeof assetsDataArr)[number]) => { + const generateSingleAsset = async (item: any) => { const imageId = imageIdMap[item.id!]; const typeConfig = promptRecord[item.type!] || promptRecord["role"]; @@ -79,7 +85,9 @@ export default router.post( messages: [ { role: "user", - content: `资产描述: ${item.describe || "无详细描述"}`, + content: ` + 父级资产描述: ${item.parentDescribe || "无详细描述"} + 当前资产描述: ${item.describe || "无详细描述"}`, }, ], }); diff --git a/src/types/database.d.ts b/src/types/database.d.ts index 62a13d9..9cb1328 100644 --- a/src/types/database.d.ts +++ b/src/types/database.d.ts @@ -1,21 +1,6 @@ -// @db-hash 35cf00f711e9d4df398703de70511684 +// @db-hash e799af0c29da30dc4dbb46649b32bcaa //该文件由脚本自动生成,请勿手动修改 -export interface _o_project_old_20260402 { - 'artStyle'?: string | null; - 'createTime'?: number | null; - 'id'?: number | null; - 'imageModel'?: string | null; - 'imageQuality'?: string | null; - 'intro'?: string | null; - 'mode'?: string | null; - 'name'?: string | null; - 'projectType'?: string | null; - 'type'?: string | null; - 'userId'?: number | null; - 'videoModel'?: string | null; - 'videoRatio'?: string | null; -} export interface _o_storyboard_old_20260402 { 'createTime'?: number | null; 'duration'?: string | null; @@ -180,7 +165,6 @@ export interface o_outlineNovel { export interface o_project { 'artStyle'?: string | null; 'createTime'?: number | null; - 'directorManual'?: string | null; 'id'?: number | null; 'imageModel'?: string | null; 'imageQuality'?: string | null; @@ -271,7 +255,6 @@ export interface o_vendorConfig { 'createTime'?: number | null; 'description'?: string | null; 'enable'?: number | null; - 'enableEnglish'?: number | null; 'icon'?: string | null; 'id'?: string; 'inputs'?: string | null; @@ -301,7 +284,6 @@ export interface o_videoTrack { } export interface DB { - "_o_project_old_20260402": _o_project_old_20260402; "_o_storyboard_old_20260402": _o_storyboard_old_20260402; "_o_storyboard_old_20260402_1": _o_storyboard_old_20260402_1; "_o_vendorConfig_old_20260401": _o_vendorConfig_old_20260401;