From a5a89a8b97176804d5066355db3ea38d3a825fb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B8=85?= <2944435683> Date: Thu, 26 Mar 2026 14:26:19 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=89=AA=E8=BE=91?= =?UTF-8?q?=E5=8F=B0=E7=B4=A0=E6=9D=90=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router.ts | 332 ++++++++++++++------------- src/routes/assets/getMaterialData.ts | 16 ++ 2 files changed, 183 insertions(+), 165 deletions(-) create mode 100644 src/routes/assets/getMaterialData.ts diff --git a/src/router.ts b/src/router.ts index 9026722..dc56c10 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,4 +1,4 @@ -// @routes-hash 7cec68ede825a3753ef93dc3bab8f7ad +// @routes-hash 2e706ea79447fed386a2078b3e62edfe import { Express } from "express"; import route1 from "./routes/agents/clearMemory"; @@ -13,88 +13,89 @@ import route9 from "./routes/assets/batchGenerationData"; import route10 from "./routes/assets/delAssets"; import route11 from "./routes/assets/getAssetsApi"; import route12 from "./routes/assets/getImage"; -import route13 from "./routes/assets/saveAssets"; -import route14 from "./routes/assets/updateAssets"; -import route15 from "./routes/assets/uploadClip"; -import route16 from "./routes/assetsGenerate/generateAssets"; -import route17 from "./routes/assetsGenerate/polishAssetsPrompt"; -import route18 from "./routes/cornerScape/getAllAssets"; -import route19 from "./routes/general/generalStatistics"; -import route20 from "./routes/general/getSingleProject"; -import route21 from "./routes/general/updateProject"; -import route22 from "./routes/login/login"; -import route23 from "./routes/migrate/migrateData"; -import route24 from "./routes/modelSelect/getModelDetail"; -import route25 from "./routes/modelSelect/getModelList"; -import route26 from "./routes/novel/addNovel"; -import route27 from "./routes/novel/batchDeleteNovel"; -import route28 from "./routes/novel/delNovel"; -import route29 from "./routes/novel/event/batchDeleteEvent"; -import route30 from "./routes/novel/event/deletEvent"; -import route31 from "./routes/novel/event/generateEvents"; -import route32 from "./routes/novel/event/getEvent"; -import route33 from "./routes/novel/getNovel"; -import route34 from "./routes/novel/getNovelEventState"; -import route35 from "./routes/novel/getNovelIndex"; -import route36 from "./routes/novel/updateNovel"; -import route37 from "./routes/other/deleteAllData"; -import route38 from "./routes/other/getCaptcha"; -import route39 from "./routes/production/assets/getAssetsData"; -import route40 from "./routes/production/editImage/generateFlowImage"; -import route41 from "./routes/production/editImage/getImageFlow"; -import route42 from "./routes/production/editImage/saveImageFlow"; -import route43 from "./routes/production/editImage/updateImageFlow"; -import route44 from "./routes/production/exportImage"; -import route45 from "./routes/production/getFlowData"; -import route46 from "./routes/production/getProductionData"; -import route47 from "./routes/production/getStoryboardData"; -import route48 from "./routes/production/saveFlowData"; -import route49 from "./routes/production/storyboard/downPreviewImage"; -import route50 from "./routes/production/storyboard/getStoryboardData"; -import route51 from "./routes/production/storyboard/previewImage"; -import route52 from "./routes/production/workbench/confirmSelection"; -import route53 from "./routes/production/workbench/delVideo"; -import route54 from "./routes/production/workbench/generateVideo"; -import route55 from "./routes/production/workbench/getChatLines"; -import route56 from "./routes/production/workbench/getVideoModelDetail"; -import route57 from "./routes/production/workbench/videoPolling"; -import route58 from "./routes/project/addProject"; -import route59 from "./routes/project/delProject"; -import route60 from "./routes/project/editProject"; -import route61 from "./routes/project/getProject"; -import route62 from "./routes/script/addScript"; -import route63 from "./routes/script/delScript"; -import route64 from "./routes/script/exportScript"; -import route65 from "./routes/script/getScrptApi"; -import route66 from "./routes/script/updateScript"; -import route67 from "./routes/scriptAgent/getPlanData"; -import route68 from "./routes/scriptAgent/setPlanData"; -import route69 from "./routes/setting/agentDeploy/agentSetKey"; -import route70 from "./routes/setting/agentDeploy/deployAgentModel"; -import route71 from "./routes/setting/agentDeploy/getAgentDeploy"; -import route72 from "./routes/setting/dbConfig/clearData"; -import route73 from "./routes/setting/fileManagement/openFolder"; -import route74 from "./routes/setting/getTextModel"; -import route75 from "./routes/setting/loginConfig/getUser"; -import route76 from "./routes/setting/loginConfig/updateUserPwd"; -import route77 from "./routes/setting/memoryConfig/getMemory"; -import route78 from "./routes/setting/memoryConfig/sureMemory"; -import route79 from "./routes/setting/skillManagement/addSkill"; -import route80 from "./routes/setting/skillManagement/deleteSkill"; -import route81 from "./routes/setting/skillManagement/embeddingSkill"; -import route82 from "./routes/setting/skillManagement/generateDescription"; -import route83 from "./routes/setting/skillManagement/getSkillList"; -import route84 from "./routes/setting/skillManagement/scanSkills"; -import route85 from "./routes/setting/skillManagement/updateSkill"; -import route86 from "./routes/setting/vendorConfig/addVendor"; -import route87 from "./routes/setting/vendorConfig/deleteVendor"; -import route88 from "./routes/setting/vendorConfig/getVendorList"; -import route89 from "./routes/setting/vendorConfig/modelTest"; -import route90 from "./routes/setting/vendorConfig/updateVendor"; -import route91 from "./routes/task/getTaskApi"; -import route92 from "./routes/task/getTaskCategories"; -import route93 from "./routes/task/taskDetails"; -import route94 from "./routes/test/test"; +import route13 from "./routes/assets/getMaterialData"; +import route14 from "./routes/assets/saveAssets"; +import route15 from "./routes/assets/updateAssets"; +import route16 from "./routes/assets/uploadClip"; +import route17 from "./routes/assetsGenerate/generateAssets"; +import route18 from "./routes/assetsGenerate/polishAssetsPrompt"; +import route19 from "./routes/cornerScape/getAllAssets"; +import route20 from "./routes/general/generalStatistics"; +import route21 from "./routes/general/getSingleProject"; +import route22 from "./routes/general/updateProject"; +import route23 from "./routes/login/login"; +import route24 from "./routes/migrate/migrateData"; +import route25 from "./routes/modelSelect/getModelDetail"; +import route26 from "./routes/modelSelect/getModelList"; +import route27 from "./routes/novel/addNovel"; +import route28 from "./routes/novel/batchDeleteNovel"; +import route29 from "./routes/novel/delNovel"; +import route30 from "./routes/novel/event/batchDeleteEvent"; +import route31 from "./routes/novel/event/deletEvent"; +import route32 from "./routes/novel/event/generateEvents"; +import route33 from "./routes/novel/event/getEvent"; +import route34 from "./routes/novel/getNovel"; +import route35 from "./routes/novel/getNovelEventState"; +import route36 from "./routes/novel/getNovelIndex"; +import route37 from "./routes/novel/updateNovel"; +import route38 from "./routes/other/deleteAllData"; +import route39 from "./routes/other/getCaptcha"; +import route40 from "./routes/production/assets/getAssetsData"; +import route41 from "./routes/production/editImage/generateFlowImage"; +import route42 from "./routes/production/editImage/getImageFlow"; +import route43 from "./routes/production/editImage/saveImageFlow"; +import route44 from "./routes/production/editImage/updateImageFlow"; +import route45 from "./routes/production/exportImage"; +import route46 from "./routes/production/getFlowData"; +import route47 from "./routes/production/getProductionData"; +import route48 from "./routes/production/getStoryboardData"; +import route49 from "./routes/production/saveFlowData"; +import route50 from "./routes/production/storyboard/downPreviewImage"; +import route51 from "./routes/production/storyboard/getStoryboardData"; +import route52 from "./routes/production/storyboard/previewImage"; +import route53 from "./routes/production/workbench/confirmSelection"; +import route54 from "./routes/production/workbench/delVideo"; +import route55 from "./routes/production/workbench/generateVideo"; +import route56 from "./routes/production/workbench/getChatLines"; +import route57 from "./routes/production/workbench/getVideoModelDetail"; +import route58 from "./routes/production/workbench/videoPolling"; +import route59 from "./routes/project/addProject"; +import route60 from "./routes/project/delProject"; +import route61 from "./routes/project/editProject"; +import route62 from "./routes/project/getProject"; +import route63 from "./routes/script/addScript"; +import route64 from "./routes/script/delScript"; +import route65 from "./routes/script/exportScript"; +import route66 from "./routes/script/getScrptApi"; +import route67 from "./routes/script/updateScript"; +import route68 from "./routes/scriptAgent/getPlanData"; +import route69 from "./routes/scriptAgent/setPlanData"; +import route70 from "./routes/setting/agentDeploy/agentSetKey"; +import route71 from "./routes/setting/agentDeploy/deployAgentModel"; +import route72 from "./routes/setting/agentDeploy/getAgentDeploy"; +import route73 from "./routes/setting/dbConfig/clearData"; +import route74 from "./routes/setting/fileManagement/openFolder"; +import route75 from "./routes/setting/getTextModel"; +import route76 from "./routes/setting/loginConfig/getUser"; +import route77 from "./routes/setting/loginConfig/updateUserPwd"; +import route78 from "./routes/setting/memoryConfig/getMemory"; +import route79 from "./routes/setting/memoryConfig/sureMemory"; +import route80 from "./routes/setting/skillManagement/addSkill"; +import route81 from "./routes/setting/skillManagement/deleteSkill"; +import route82 from "./routes/setting/skillManagement/embeddingSkill"; +import route83 from "./routes/setting/skillManagement/generateDescription"; +import route84 from "./routes/setting/skillManagement/getSkillList"; +import route85 from "./routes/setting/skillManagement/scanSkills"; +import route86 from "./routes/setting/skillManagement/updateSkill"; +import route87 from "./routes/setting/vendorConfig/addVendor"; +import route88 from "./routes/setting/vendorConfig/deleteVendor"; +import route89 from "./routes/setting/vendorConfig/getVendorList"; +import route90 from "./routes/setting/vendorConfig/modelTest"; +import route91 from "./routes/setting/vendorConfig/updateVendor"; +import route92 from "./routes/task/getTaskApi"; +import route93 from "./routes/task/getTaskCategories"; +import route94 from "./routes/task/taskDetails"; +import route95 from "./routes/test/test"; export default async (app: Express) => { app.use("/api/agents/clearMemory", route1); @@ -109,86 +110,87 @@ export default async (app: Express) => { app.use("/api/assets/delAssets", route10); app.use("/api/assets/getAssetsApi", route11); app.use("/api/assets/getImage", route12); - app.use("/api/assets/saveAssets", route13); - app.use("/api/assets/updateAssets", route14); - app.use("/api/assets/uploadClip", route15); - app.use("/api/assetsGenerate/generateAssets", route16); - app.use("/api/assetsGenerate/polishAssetsPrompt", route17); - app.use("/api/cornerScape/getAllAssets", route18); - app.use("/api/general/generalStatistics", route19); - app.use("/api/general/getSingleProject", route20); - app.use("/api/general/updateProject", route21); - app.use("/api/login/login", route22); - app.use("/api/migrate/migrateData", route23); - app.use("/api/modelSelect/getModelDetail", route24); - app.use("/api/modelSelect/getModelList", route25); - app.use("/api/novel/addNovel", route26); - app.use("/api/novel/batchDeleteNovel", route27); - app.use("/api/novel/delNovel", route28); - app.use("/api/novel/event/batchDeleteEvent", route29); - app.use("/api/novel/event/deletEvent", route30); - app.use("/api/novel/event/generateEvents", route31); - app.use("/api/novel/event/getEvent", route32); - app.use("/api/novel/getNovel", route33); - app.use("/api/novel/getNovelEventState", route34); - app.use("/api/novel/getNovelIndex", route35); - app.use("/api/novel/updateNovel", route36); - app.use("/api/other/deleteAllData", route37); - app.use("/api/other/getCaptcha", route38); - app.use("/api/production/assets/getAssetsData", route39); - app.use("/api/production/editImage/generateFlowImage", route40); - app.use("/api/production/editImage/getImageFlow", route41); - app.use("/api/production/editImage/saveImageFlow", route42); - app.use("/api/production/editImage/updateImageFlow", route43); - app.use("/api/production/exportImage", route44); - app.use("/api/production/getFlowData", route45); - app.use("/api/production/getProductionData", route46); - app.use("/api/production/getStoryboardData", route47); - app.use("/api/production/saveFlowData", route48); - app.use("/api/production/storyboard/downPreviewImage", route49); - app.use("/api/production/storyboard/getStoryboardData", route50); - app.use("/api/production/storyboard/previewImage", route51); - app.use("/api/production/workbench/confirmSelection", route52); - app.use("/api/production/workbench/delVideo", route53); - app.use("/api/production/workbench/generateVideo", route54); - app.use("/api/production/workbench/getChatLines", route55); - app.use("/api/production/workbench/getVideoModelDetail", route56); - app.use("/api/production/workbench/videoPolling", route57); - app.use("/api/project/addProject", route58); - app.use("/api/project/delProject", route59); - app.use("/api/project/editProject", route60); - app.use("/api/project/getProject", route61); - app.use("/api/script/addScript", route62); - app.use("/api/script/delScript", route63); - app.use("/api/script/exportScript", route64); - app.use("/api/script/getScrptApi", route65); - app.use("/api/script/updateScript", route66); - app.use("/api/scriptAgent/getPlanData", route67); - app.use("/api/scriptAgent/setPlanData", route68); - app.use("/api/setting/agentDeploy/agentSetKey", route69); - app.use("/api/setting/agentDeploy/deployAgentModel", route70); - app.use("/api/setting/agentDeploy/getAgentDeploy", route71); - app.use("/api/setting/dbConfig/clearData", route72); - app.use("/api/setting/fileManagement/openFolder", route73); - app.use("/api/setting/getTextModel", route74); - app.use("/api/setting/loginConfig/getUser", route75); - app.use("/api/setting/loginConfig/updateUserPwd", route76); - app.use("/api/setting/memoryConfig/getMemory", route77); - app.use("/api/setting/memoryConfig/sureMemory", route78); - app.use("/api/setting/skillManagement/addSkill", route79); - app.use("/api/setting/skillManagement/deleteSkill", route80); - app.use("/api/setting/skillManagement/embeddingSkill", route81); - app.use("/api/setting/skillManagement/generateDescription", route82); - app.use("/api/setting/skillManagement/getSkillList", route83); - app.use("/api/setting/skillManagement/scanSkills", route84); - app.use("/api/setting/skillManagement/updateSkill", route85); - app.use("/api/setting/vendorConfig/addVendor", route86); - app.use("/api/setting/vendorConfig/deleteVendor", route87); - app.use("/api/setting/vendorConfig/getVendorList", route88); - app.use("/api/setting/vendorConfig/modelTest", route89); - app.use("/api/setting/vendorConfig/updateVendor", route90); - app.use("/api/task/getTaskApi", route91); - app.use("/api/task/getTaskCategories", route92); - app.use("/api/task/taskDetails", route93); - app.use("/api/test/test", route94); + app.use("/api/assets/getMaterialData", route13); + app.use("/api/assets/saveAssets", route14); + app.use("/api/assets/updateAssets", route15); + app.use("/api/assets/uploadClip", route16); + app.use("/api/assetsGenerate/generateAssets", route17); + app.use("/api/assetsGenerate/polishAssetsPrompt", route18); + app.use("/api/cornerScape/getAllAssets", route19); + app.use("/api/general/generalStatistics", route20); + app.use("/api/general/getSingleProject", route21); + app.use("/api/general/updateProject", route22); + app.use("/api/login/login", route23); + app.use("/api/migrate/migrateData", route24); + app.use("/api/modelSelect/getModelDetail", route25); + app.use("/api/modelSelect/getModelList", route26); + app.use("/api/novel/addNovel", route27); + app.use("/api/novel/batchDeleteNovel", route28); + app.use("/api/novel/delNovel", route29); + app.use("/api/novel/event/batchDeleteEvent", route30); + app.use("/api/novel/event/deletEvent", route31); + app.use("/api/novel/event/generateEvents", route32); + app.use("/api/novel/event/getEvent", route33); + app.use("/api/novel/getNovel", route34); + app.use("/api/novel/getNovelEventState", route35); + app.use("/api/novel/getNovelIndex", route36); + app.use("/api/novel/updateNovel", route37); + app.use("/api/other/deleteAllData", route38); + app.use("/api/other/getCaptcha", route39); + app.use("/api/production/assets/getAssetsData", route40); + app.use("/api/production/editImage/generateFlowImage", route41); + app.use("/api/production/editImage/getImageFlow", route42); + app.use("/api/production/editImage/saveImageFlow", route43); + app.use("/api/production/editImage/updateImageFlow", route44); + app.use("/api/production/exportImage", route45); + app.use("/api/production/getFlowData", route46); + app.use("/api/production/getProductionData", route47); + app.use("/api/production/getStoryboardData", route48); + app.use("/api/production/saveFlowData", route49); + app.use("/api/production/storyboard/downPreviewImage", route50); + app.use("/api/production/storyboard/getStoryboardData", route51); + app.use("/api/production/storyboard/previewImage", route52); + app.use("/api/production/workbench/confirmSelection", route53); + app.use("/api/production/workbench/delVideo", route54); + app.use("/api/production/workbench/generateVideo", route55); + app.use("/api/production/workbench/getChatLines", route56); + app.use("/api/production/workbench/getVideoModelDetail", route57); + app.use("/api/production/workbench/videoPolling", route58); + app.use("/api/project/addProject", route59); + app.use("/api/project/delProject", route60); + app.use("/api/project/editProject", route61); + app.use("/api/project/getProject", route62); + app.use("/api/script/addScript", route63); + app.use("/api/script/delScript", route64); + app.use("/api/script/exportScript", route65); + app.use("/api/script/getScrptApi", route66); + app.use("/api/script/updateScript", route67); + app.use("/api/scriptAgent/getPlanData", route68); + app.use("/api/scriptAgent/setPlanData", route69); + app.use("/api/setting/agentDeploy/agentSetKey", route70); + app.use("/api/setting/agentDeploy/deployAgentModel", route71); + app.use("/api/setting/agentDeploy/getAgentDeploy", route72); + app.use("/api/setting/dbConfig/clearData", route73); + app.use("/api/setting/fileManagement/openFolder", route74); + app.use("/api/setting/getTextModel", route75); + app.use("/api/setting/loginConfig/getUser", route76); + app.use("/api/setting/loginConfig/updateUserPwd", route77); + app.use("/api/setting/memoryConfig/getMemory", route78); + app.use("/api/setting/memoryConfig/sureMemory", route79); + app.use("/api/setting/skillManagement/addSkill", route80); + app.use("/api/setting/skillManagement/deleteSkill", route81); + app.use("/api/setting/skillManagement/embeddingSkill", route82); + app.use("/api/setting/skillManagement/generateDescription", route83); + app.use("/api/setting/skillManagement/getSkillList", route84); + app.use("/api/setting/skillManagement/scanSkills", route85); + app.use("/api/setting/skillManagement/updateSkill", route86); + app.use("/api/setting/vendorConfig/addVendor", route87); + app.use("/api/setting/vendorConfig/deleteVendor", route88); + app.use("/api/setting/vendorConfig/getVendorList", route89); + app.use("/api/setting/vendorConfig/modelTest", route90); + app.use("/api/setting/vendorConfig/updateVendor", route91); + app.use("/api/task/getTaskApi", route92); + app.use("/api/task/getTaskCategories", route93); + app.use("/api/task/taskDetails", route94); + app.use("/api/test/test", route95); } diff --git a/src/routes/assets/getMaterialData.ts b/src/routes/assets/getMaterialData.ts new file mode 100644 index 0000000..119bb3e --- /dev/null +++ b/src/routes/assets/getMaterialData.ts @@ -0,0 +1,16 @@ +import express from "express"; +import u from "@/utils"; +import { success } from "@/lib/responseFormat"; +const router = express.Router(); + +// 获取生成图片 +export default router.post("/", async (req, res) => { + const list = await u.db("o_assets").leftJoin("o_image", "o_assets.id", "=", "o_image.assetsId").where("o_assets.type", "clip").select("*"); + const data = await Promise.all( + list.map(async (item) => ({ + ...item, + filePath: item.filePath ? await u.oss.getFileUrl(item.filePath) : "", + })), + ); + res.status(200).send(success(data)); +}); From 696f0f61159fc9fc0b2a8619993a9bba5842d8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ACT=E4=B8=B6=E6=B5=81=E6=98=9F=E9=9B=A8?= <1340145680@qq.com> Date: Thu, 26 Mar 2026 15:47:15 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B8=85=E7=A9=BA?= =?UTF-8?q?=E8=AE=B0=E5=BF=86=E7=BC=BA=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/skills/references/cooke.md | 77 ------------------- src/lib/initDB.ts | 2 +- src/router.ts | 76 +++++++++--------- .../setting/memoryConfig/delAllMemory.ts | 9 +++ .../setting/skillManagement/getSkillList.ts | 11 ++- .../setting/skillManagement/scanSkills.ts | 34 ++++---- .../setting/skillManagement/updateSkill.ts | 9 +++ src/types/database.d.ts | 3 +- src/utils/vm.ts | 5 -- 9 files changed, 84 insertions(+), 142 deletions(-) delete mode 100644 data/skills/references/cooke.md create mode 100644 src/routes/setting/memoryConfig/delAllMemory.ts diff --git a/data/skills/references/cooke.md b/data/skills/references/cooke.md deleted file mode 100644 index 712bc09..0000000 --- a/data/skills/references/cooke.md +++ /dev/null @@ -1,77 +0,0 @@ -# 烤龙肉的做法 - -## 前言 - -龙肉,作为幻想世界中最珍贵的食材之一,其烹饪方法自古以来就是冒险者和宫廷厨师们追求的终极秘技。以下是一份经典的烤龙肉食谱。 - ---- - -## 食材准备 - -| 食材 | 用量 | 备注 | -|------|------|------| -| 龙肉(里脊或腿肉) | 2公斤 | 需提前放血处理 | -| 龙息椒粉 | 2大勺 | 普通辣椒粉可替代 | -| 凤凰蛋黄 | 3个 | 鸡蛋黄可替代 | -| 精灵橄榄油 | 100毫升 | 特级初榨橄榄油可替代 | -| 矮人黑盐 | 适量 | 海盐可替代 | -| 迷迭香、百里香 | 各一把 | 新鲜为佳 | -| 蒜头 | 8瓣 | 拍碎 | -| 蜂蜜 | 3大勺 | 用于表面刷酱 | - ---- - -## 烹饪步骤 - -### 第一步:腌制龙肉(需提前一天) - -1. 将龙肉洗净,用厨房纸巾吸干表面水分 -2. 用锋利的刀在肉面划几道深约1厘米的斜纹,便于入味 -3. 将蛋黄、橄榄油、龙息椒粉、黑盐混合,调成腌料 -4. 均匀涂抹在龙肉表面,放入密封容器 -5. 冷藏腌制12-24小时 - -### 第二步:准备香草束 - -1. 将迷迭香、百里香捆扎成束 -2. 蒜瓣拍碎备用 -3. 准备好蜂蜜刷酱 - -### 第三步:烤制 - -1. **预热烤炉**:将烤炉预热至220°C(若使用龙焰烤炉,调至"青龙"档位) - -2. **初次高温烤制**: - - 将腌制好的龙肉放入烤盘 - - 铺上香草束和蒜瓣 - - 220°C烤制20分钟,封住肉汁 - -3. **转中温慢烤**: - - 温度降至160°C - - 每隔20分钟翻面一次,并刷上蜂蜜 - - 继续烤制约1.5-2小时(视肉块大小调整) - -4. **检验熟度**: - - 用探针温度计测量中心温度达65°C为五分熟 - - 达75°C为全熟 - - 龙肉建议七分熟(约70°C),口感最佳 - -### 第四步:静置与切片 - -1. 出炉后用锡纸包裹,静置15分钟 -2. 逆着纹理切成1厘米厚的片状 -3. 摆盘,淋上烤盘中的肉汁 - ---- - -## 小贴士 - -- ⚠️ **安全提示**:处理龙肉时请佩戴防火手套,残余龙息可能引发灼伤 -- 🍷 **搭配推荐**:建议搭配精灵白葡萄酒或矮人麦芽啤酒 -- 🔥 若龙肉带有冰属性(如霜龙),烤制时间需延长30% - ---- - -## 成品效果 - -外皮金黄酥脆,内部肉质鲜嫩多汁,带有独特的硫磺香气与蜂蜜的甜润,回味中隐约有龙息的微辣感。 \ No newline at end of file diff --git a/src/lib/initDB.ts b/src/lib/initDB.ts index 530d42b..b6c3863 100644 --- a/src/lib/initDB.ts +++ b/src/lib/initDB.ts @@ -443,7 +443,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise => table.text("type").notNullable(); // "main" | "references" table.integer("createTime").notNullable(); table.integer("updateTime").notNullable(); - table.integer("state").notNullable(); // 1正常,0正在生成description,-1description为空。-2归属为空,-3md5变动 + table.integer("state").notNullable(); // 1正常,0正在生成description,-1description为空。-2归属为空,-3md5变动,-4文件不存在 table.primary(["id"]); }, initData: async (knex) => { diff --git a/src/router.ts b/src/router.ts index 9026722..9556805 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,4 +1,4 @@ -// @routes-hash 7cec68ede825a3753ef93dc3bab8f7ad +// @routes-hash fd1b3ec2552be041f1b6e9582eb842b6 import { Express } from "express"; import route1 from "./routes/agents/clearMemory"; @@ -77,24 +77,25 @@ import route73 from "./routes/setting/fileManagement/openFolder"; import route74 from "./routes/setting/getTextModel"; import route75 from "./routes/setting/loginConfig/getUser"; import route76 from "./routes/setting/loginConfig/updateUserPwd"; -import route77 from "./routes/setting/memoryConfig/getMemory"; -import route78 from "./routes/setting/memoryConfig/sureMemory"; -import route79 from "./routes/setting/skillManagement/addSkill"; -import route80 from "./routes/setting/skillManagement/deleteSkill"; -import route81 from "./routes/setting/skillManagement/embeddingSkill"; -import route82 from "./routes/setting/skillManagement/generateDescription"; -import route83 from "./routes/setting/skillManagement/getSkillList"; -import route84 from "./routes/setting/skillManagement/scanSkills"; -import route85 from "./routes/setting/skillManagement/updateSkill"; -import route86 from "./routes/setting/vendorConfig/addVendor"; -import route87 from "./routes/setting/vendorConfig/deleteVendor"; -import route88 from "./routes/setting/vendorConfig/getVendorList"; -import route89 from "./routes/setting/vendorConfig/modelTest"; -import route90 from "./routes/setting/vendorConfig/updateVendor"; -import route91 from "./routes/task/getTaskApi"; -import route92 from "./routes/task/getTaskCategories"; -import route93 from "./routes/task/taskDetails"; -import route94 from "./routes/test/test"; +import route77 from "./routes/setting/memoryConfig/delAllMemory"; +import route78 from "./routes/setting/memoryConfig/getMemory"; +import route79 from "./routes/setting/memoryConfig/sureMemory"; +import route80 from "./routes/setting/skillManagement/addSkill"; +import route81 from "./routes/setting/skillManagement/deleteSkill"; +import route82 from "./routes/setting/skillManagement/embeddingSkill"; +import route83 from "./routes/setting/skillManagement/generateDescription"; +import route84 from "./routes/setting/skillManagement/getSkillList"; +import route85 from "./routes/setting/skillManagement/scanSkills"; +import route86 from "./routes/setting/skillManagement/updateSkill"; +import route87 from "./routes/setting/vendorConfig/addVendor"; +import route88 from "./routes/setting/vendorConfig/deleteVendor"; +import route89 from "./routes/setting/vendorConfig/getVendorList"; +import route90 from "./routes/setting/vendorConfig/modelTest"; +import route91 from "./routes/setting/vendorConfig/updateVendor"; +import route92 from "./routes/task/getTaskApi"; +import route93 from "./routes/task/getTaskCategories"; +import route94 from "./routes/task/taskDetails"; +import route95 from "./routes/test/test"; export default async (app: Express) => { app.use("/api/agents/clearMemory", route1); @@ -173,22 +174,23 @@ export default async (app: Express) => { app.use("/api/setting/getTextModel", route74); app.use("/api/setting/loginConfig/getUser", route75); app.use("/api/setting/loginConfig/updateUserPwd", route76); - app.use("/api/setting/memoryConfig/getMemory", route77); - app.use("/api/setting/memoryConfig/sureMemory", route78); - app.use("/api/setting/skillManagement/addSkill", route79); - app.use("/api/setting/skillManagement/deleteSkill", route80); - app.use("/api/setting/skillManagement/embeddingSkill", route81); - app.use("/api/setting/skillManagement/generateDescription", route82); - app.use("/api/setting/skillManagement/getSkillList", route83); - app.use("/api/setting/skillManagement/scanSkills", route84); - app.use("/api/setting/skillManagement/updateSkill", route85); - app.use("/api/setting/vendorConfig/addVendor", route86); - app.use("/api/setting/vendorConfig/deleteVendor", route87); - app.use("/api/setting/vendorConfig/getVendorList", route88); - app.use("/api/setting/vendorConfig/modelTest", route89); - app.use("/api/setting/vendorConfig/updateVendor", route90); - app.use("/api/task/getTaskApi", route91); - app.use("/api/task/getTaskCategories", route92); - app.use("/api/task/taskDetails", route93); - app.use("/api/test/test", route94); + app.use("/api/setting/memoryConfig/delAllMemory", route77); + app.use("/api/setting/memoryConfig/getMemory", route78); + app.use("/api/setting/memoryConfig/sureMemory", route79); + app.use("/api/setting/skillManagement/addSkill", route80); + app.use("/api/setting/skillManagement/deleteSkill", route81); + app.use("/api/setting/skillManagement/embeddingSkill", route82); + app.use("/api/setting/skillManagement/generateDescription", route83); + app.use("/api/setting/skillManagement/getSkillList", route84); + app.use("/api/setting/skillManagement/scanSkills", route85); + app.use("/api/setting/skillManagement/updateSkill", route86); + app.use("/api/setting/vendorConfig/addVendor", route87); + app.use("/api/setting/vendorConfig/deleteVendor", route88); + app.use("/api/setting/vendorConfig/getVendorList", route89); + app.use("/api/setting/vendorConfig/modelTest", route90); + app.use("/api/setting/vendorConfig/updateVendor", route91); + app.use("/api/task/getTaskApi", route92); + app.use("/api/task/getTaskCategories", route93); + app.use("/api/task/taskDetails", route94); + app.use("/api/test/test", route95); } diff --git a/src/routes/setting/memoryConfig/delAllMemory.ts b/src/routes/setting/memoryConfig/delAllMemory.ts new file mode 100644 index 0000000..5de4f8f --- /dev/null +++ b/src/routes/setting/memoryConfig/delAllMemory.ts @@ -0,0 +1,9 @@ +import express from "express"; +import { error, success } from "@/lib/responseFormat"; +import u from "@/utils"; +const router = express.Router(); + +export default router.post("/", async (req, res) => { + await u.db("memories").del(); + res.status(200).send(success(true)); +}); diff --git a/src/routes/setting/skillManagement/getSkillList.ts b/src/routes/setting/skillManagement/getSkillList.ts index 4dd0cf0..7a19513 100644 --- a/src/routes/setting/skillManagement/getSkillList.ts +++ b/src/routes/setting/skillManagement/getSkillList.ts @@ -51,7 +51,16 @@ export default router.post( }); } - const list = await query.select("*").orderBy("updateTime", "desc").orderBy("type", "desc").limit(limit).offset(offset); + const list = await query + .select("*") + .orderByRaw(` + CASE type WHEN 'main' THEN 1 ELSE 0 END ASC, + CASE WHEN id NOT IN (SELECT skillId FROM o_skillAttribution) THEN 0 ELSE 1 END ASC, + CASE WHEN state = 1 THEN 1 ELSE 0 END ASC, + updateTime DESC + `) + .limit(limit) + .offset(offset); // 查询每个技能的归属 const skillIds = list.map((item: any) => item.id); diff --git a/src/routes/setting/skillManagement/scanSkills.ts b/src/routes/setting/skillManagement/scanSkills.ts index 8208888..32750c0 100644 --- a/src/routes/setting/skillManagement/scanSkills.ts +++ b/src/routes/setting/skillManagement/scanSkills.ts @@ -44,19 +44,19 @@ export default router.post("/", async (req, res) => { let updatedCount = 0; let removedCount = 0; - const scannedIds = new Set(); + const scannedPaths = new Set(); const existingRows = await u.db("o_skillList").whereIn("type", ["main", "references"]).select("id", "md5", "type", "path"); for (const item of scanItems) { - const id = crypto.createHash("md5").update(item.relativePath).digest("hex"); - const name = path.basename(item.entry, ".md"); + scannedPaths.add(item.relativePath); + + const existing = existingRows.find((row: any) => row.path === item.relativePath); const content = await fs.readFile(item.fullPath, "utf-8"); const md5 = crypto.createHash("md5").update(content).digest("hex"); - const existing = existingRows.find((row: any) => row.id === id); - - scannedIds.add(id); if (!existing) { + const id = crypto.createHash("md5").update(item.relativePath).digest("hex"); + const name = path.basename(item.entry, ".md"); await u.db("o_skillList").insert({ id, path: item.relativePath, @@ -70,25 +70,19 @@ export default router.post("/", async (req, res) => { state: -1, }); insertedCount++; - continue; - } - - if (existing.md5 !== md5 || existing.path !== item.relativePath || existing.type !== item.type) { - await u.db("o_skillList").where("id", id).update({ - path: item.relativePath, - name, - md5, - type: item.type, - updateTime: now, - state: -3, - }); + } else { + const updateData: Record = { md5, updateTime: now }; + if (existing.md5 !== md5) { + updateData.state = -3; + } + await u.db("o_skillList").where("id", existing.id).update(updateData); updatedCount++; } } - const removedIds = existingRows.map((row: any) => row.id).filter((id: string) => !scannedIds.has(id)); + const removedIds = existingRows.filter((row: any) => !scannedPaths.has(row.path)).map((row: any) => row.id); if (removedIds.length > 0) { - await u.db("o_skillList").whereIn("id", removedIds).delete(); + await u.db("o_skillList").whereIn("id", removedIds).update({ state: -4, updateTime: now }); removedCount = removedIds.length; } diff --git a/src/routes/setting/skillManagement/updateSkill.ts b/src/routes/setting/skillManagement/updateSkill.ts index e389b24..f47e855 100644 --- a/src/routes/setting/skillManagement/updateSkill.ts +++ b/src/routes/setting/skillManagement/updateSkill.ts @@ -6,6 +6,7 @@ import { validateFields } from "@/middleware/middleware"; import fs from "fs/promises"; import path from "path"; import crypto from "crypto"; +import { getEmbedding } from "@/utils/agent/embedding"; const router = express.Router(); @@ -99,6 +100,14 @@ export default router.post( state: resolveState(finalDescription, finalAttributions), }); + if (finalDescription && !current.embedding) { + const embedding = await getEmbedding(finalDescription); + await u + .db("o_skillList") + .where("id", nextId) + .update({ embedding: JSON.stringify(embedding) }); + } + await u.db("o_skillAttribution").where("skillId", nextId).delete(); if (finalAttributions.length > 0) { await u.db("o_skillAttribution").insert( diff --git a/src/types/database.d.ts b/src/types/database.d.ts index 864c260..70b079c 100644 --- a/src/types/database.d.ts +++ b/src/types/database.d.ts @@ -1,4 +1,4 @@ -// @db-hash f9f1fb9b0fc04331ecf65d34c1e4b6af +// @db-hash d807205fbb27fc5ddb04cae060fb4430 //该文件由脚本自动生成,请勿手动修改 export interface memories { @@ -156,6 +156,7 @@ export interface o_storyboard { 'filePath'?: string | null; 'frameMode'?: string | null; 'id'?: number; + 'index'?: string | null; 'lines'?: string | null; 'mode'?: string | null; 'model'?: string | null; diff --git a/src/utils/vm.ts b/src/utils/vm.ts index dde5021..a8ab519 100644 --- a/src/utils/vm.ts +++ b/src/utils/vm.ts @@ -30,13 +30,8 @@ export default function runCode(code: string) { urlToBase64, mergeImages, pollTask, - - Response, exports, - - fetch, axios, - FormData, }, compiler: "javascript", From 70e56f2fac588edb3a9a9ece8f4ebbd3e7ee5384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ACT=E4=B8=B6=E6=B5=81=E6=98=9F=E9=9B=A8?= <1340145680@qq.com> Date: Thu, 26 Mar 2026 16:25:25 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E8=8E=B7=E5=8F=96=EF=BC=8C=E4=B8=BA=E7=83=AD=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=81=9A=E5=87=86=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/build.ts | 8 ++++++++ src/agents/scriptAgent/index.ts | 2 -- src/router.ts | 6 +++--- src/routes/other/getCaptcha.ts | 13 ------------- src/routes/other/getVersion.ts | 22 ++++++++++++++++++++++ 5 files changed, 33 insertions(+), 18 deletions(-) delete mode 100644 src/routes/other/getCaptcha.ts create mode 100644 src/routes/other/getVersion.ts diff --git a/scripts/build.ts b/scripts/build.ts index 00a8db3..3cd22bf 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -19,6 +19,8 @@ if (!fs.existsSync(envFile)) { console.log(`📄 已自动创建环境变量文件: ${envFile}`); } +const pkg = JSON.parse(fs.readFileSync(path.resolve("package.json"), "utf8")); + const external = [ "electron", "@huggingface/transformers", @@ -51,6 +53,9 @@ const appBuildConfig: esbuild.BuildOptions = { }, sourcemap: false, external, + define: { + __APP_VERSION__: JSON.stringify(pkg.version), + }, }; // Electron 主进程打包配置 @@ -69,6 +74,9 @@ const mainBuildConfig: esbuild.BuildOptions = { }, sourcemap: false, external, + define: { + __APP_VERSION__: JSON.stringify(pkg.version), + }, }; (async () => { diff --git a/src/agents/scriptAgent/index.ts b/src/agents/scriptAgent/index.ts index adce6f7..d322240 100644 --- a/src/agents/scriptAgent/index.ts +++ b/src/agents/scriptAgent/index.ts @@ -40,7 +40,6 @@ export async function decisionAI(ctx: AgentContext) { resTool.systemMessage("决策层AI 接管聊天"); const memory = new Memory("scriptAgent", isolationKey); - console.log("%c Line:43 🥟 isolationKey", "background:#4fff4B", isolationKey); await memory.add("user", text); const [skill, mem] = await Promise.all([useSkill("script_agent_decision.md"), memory.get(text)]); @@ -59,7 +58,6 @@ export async function decisionAI(ctx: AgentContext) { ].join("\n"); const prefixSystem = `${projectInfo}\n\n## 章节ID映射表\n${novelData.map((i: any) => `- ${i.id}: 第${i.index}章`).join("\n")}\n\n`; - console.log("%c Line:57 🍧 prefixSystem", "background:#ea7e5c", prefixSystem); const { textStream } = await u.Ai.Text("scriptAgent").stream({ system: prefixSystem + systemPrompt, diff --git a/src/router.ts b/src/router.ts index 9556805..fad8e8b 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,4 +1,4 @@ -// @routes-hash fd1b3ec2552be041f1b6e9582eb842b6 +// @routes-hash adf6a50cb14a1d93aea2983d0364e6a3 import { Express } from "express"; import route1 from "./routes/agents/clearMemory"; @@ -38,7 +38,7 @@ import route34 from "./routes/novel/getNovelEventState"; import route35 from "./routes/novel/getNovelIndex"; import route36 from "./routes/novel/updateNovel"; import route37 from "./routes/other/deleteAllData"; -import route38 from "./routes/other/getCaptcha"; +import route38 from "./routes/other/getVersion"; import route39 from "./routes/production/assets/getAssetsData"; import route40 from "./routes/production/editImage/generateFlowImage"; import route41 from "./routes/production/editImage/getImageFlow"; @@ -135,7 +135,7 @@ export default async (app: Express) => { app.use("/api/novel/getNovelIndex", route35); app.use("/api/novel/updateNovel", route36); app.use("/api/other/deleteAllData", route37); - app.use("/api/other/getCaptcha", route38); + app.use("/api/other/getVersion", route38); app.use("/api/production/assets/getAssetsData", route39); app.use("/api/production/editImage/generateFlowImage", route40); app.use("/api/production/editImage/getImageFlow", route41); diff --git a/src/routes/other/getCaptcha.ts b/src/routes/other/getCaptcha.ts deleted file mode 100644 index 5b5eab4..0000000 --- a/src/routes/other/getCaptcha.ts +++ /dev/null @@ -1,13 +0,0 @@ -import express from "express"; -import { success } from "@/lib/responseFormat"; -import { md5 } from "js-md5"; -const router = express.Router(); - -// 获取验证码 -export default router.get("/", async (req, res) => { - const data: any = { svg: "", captcha: md5("123") }; - if (req.app.get("env") === "dev") { - data.key = 2; - } - res.status(200).send(success(data)); -}); diff --git a/src/routes/other/getVersion.ts b/src/routes/other/getVersion.ts new file mode 100644 index 0000000..0f53d52 --- /dev/null +++ b/src/routes/other/getVersion.ts @@ -0,0 +1,22 @@ +import express from "express"; +import { success } from "@/lib/responseFormat"; +const router = express.Router(); + +import fs from "fs"; +import path from "path"; + +declare const __APP_VERSION__: string | undefined; + +const APP_VERSION: string = (() => { + if (typeof __APP_VERSION__ !== "undefined") { + return __APP_VERSION__; + } + // 开发环境回退:从 package.json 读取 + const pkgPath = path.resolve(process.cwd(), "package.json"); + const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8")); + return pkg.version; +})(); + +export default router.get("/", async (req, res) => { + res.status(200).send(success(APP_VERSION)); +}); From 9ad354aa3e397b6e2f75e3725726e605a775f4db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B8=85?= <2944435683> Date: Thu, 26 Mar 2026 17:16:43 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=89=AA=E8=BE=91?= =?UTF-8?q?=E5=8F=B0=E7=B4=A0=E6=9D=90=E5=88=86=E9=95=9C=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router.ts | 336 ++++++++++++++------------- src/routes/assets/getMaterialData.ts | 18 +- src/types/database.d.ts | 3 +- 3 files changed, 187 insertions(+), 170 deletions(-) diff --git a/src/router.ts b/src/router.ts index fad8e8b..1332528 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,4 +1,4 @@ -// @routes-hash adf6a50cb14a1d93aea2983d0364e6a3 +// @routes-hash 758e343e27eb25780faf00eeab306216 import { Express } from "express"; import route1 from "./routes/agents/clearMemory"; @@ -13,89 +13,90 @@ import route9 from "./routes/assets/batchGenerationData"; import route10 from "./routes/assets/delAssets"; import route11 from "./routes/assets/getAssetsApi"; import route12 from "./routes/assets/getImage"; -import route13 from "./routes/assets/saveAssets"; -import route14 from "./routes/assets/updateAssets"; -import route15 from "./routes/assets/uploadClip"; -import route16 from "./routes/assetsGenerate/generateAssets"; -import route17 from "./routes/assetsGenerate/polishAssetsPrompt"; -import route18 from "./routes/cornerScape/getAllAssets"; -import route19 from "./routes/general/generalStatistics"; -import route20 from "./routes/general/getSingleProject"; -import route21 from "./routes/general/updateProject"; -import route22 from "./routes/login/login"; -import route23 from "./routes/migrate/migrateData"; -import route24 from "./routes/modelSelect/getModelDetail"; -import route25 from "./routes/modelSelect/getModelList"; -import route26 from "./routes/novel/addNovel"; -import route27 from "./routes/novel/batchDeleteNovel"; -import route28 from "./routes/novel/delNovel"; -import route29 from "./routes/novel/event/batchDeleteEvent"; -import route30 from "./routes/novel/event/deletEvent"; -import route31 from "./routes/novel/event/generateEvents"; -import route32 from "./routes/novel/event/getEvent"; -import route33 from "./routes/novel/getNovel"; -import route34 from "./routes/novel/getNovelEventState"; -import route35 from "./routes/novel/getNovelIndex"; -import route36 from "./routes/novel/updateNovel"; -import route37 from "./routes/other/deleteAllData"; -import route38 from "./routes/other/getVersion"; -import route39 from "./routes/production/assets/getAssetsData"; -import route40 from "./routes/production/editImage/generateFlowImage"; -import route41 from "./routes/production/editImage/getImageFlow"; -import route42 from "./routes/production/editImage/saveImageFlow"; -import route43 from "./routes/production/editImage/updateImageFlow"; -import route44 from "./routes/production/exportImage"; -import route45 from "./routes/production/getFlowData"; -import route46 from "./routes/production/getProductionData"; -import route47 from "./routes/production/getStoryboardData"; -import route48 from "./routes/production/saveFlowData"; -import route49 from "./routes/production/storyboard/downPreviewImage"; -import route50 from "./routes/production/storyboard/getStoryboardData"; -import route51 from "./routes/production/storyboard/previewImage"; -import route52 from "./routes/production/workbench/confirmSelection"; -import route53 from "./routes/production/workbench/delVideo"; -import route54 from "./routes/production/workbench/generateVideo"; -import route55 from "./routes/production/workbench/getChatLines"; -import route56 from "./routes/production/workbench/getVideoModelDetail"; -import route57 from "./routes/production/workbench/videoPolling"; -import route58 from "./routes/project/addProject"; -import route59 from "./routes/project/delProject"; -import route60 from "./routes/project/editProject"; -import route61 from "./routes/project/getProject"; -import route62 from "./routes/script/addScript"; -import route63 from "./routes/script/delScript"; -import route64 from "./routes/script/exportScript"; -import route65 from "./routes/script/getScrptApi"; -import route66 from "./routes/script/updateScript"; -import route67 from "./routes/scriptAgent/getPlanData"; -import route68 from "./routes/scriptAgent/setPlanData"; -import route69 from "./routes/setting/agentDeploy/agentSetKey"; -import route70 from "./routes/setting/agentDeploy/deployAgentModel"; -import route71 from "./routes/setting/agentDeploy/getAgentDeploy"; -import route72 from "./routes/setting/dbConfig/clearData"; -import route73 from "./routes/setting/fileManagement/openFolder"; -import route74 from "./routes/setting/getTextModel"; -import route75 from "./routes/setting/loginConfig/getUser"; -import route76 from "./routes/setting/loginConfig/updateUserPwd"; -import route77 from "./routes/setting/memoryConfig/delAllMemory"; -import route78 from "./routes/setting/memoryConfig/getMemory"; -import route79 from "./routes/setting/memoryConfig/sureMemory"; -import route80 from "./routes/setting/skillManagement/addSkill"; -import route81 from "./routes/setting/skillManagement/deleteSkill"; -import route82 from "./routes/setting/skillManagement/embeddingSkill"; -import route83 from "./routes/setting/skillManagement/generateDescription"; -import route84 from "./routes/setting/skillManagement/getSkillList"; -import route85 from "./routes/setting/skillManagement/scanSkills"; -import route86 from "./routes/setting/skillManagement/updateSkill"; -import route87 from "./routes/setting/vendorConfig/addVendor"; -import route88 from "./routes/setting/vendorConfig/deleteVendor"; -import route89 from "./routes/setting/vendorConfig/getVendorList"; -import route90 from "./routes/setting/vendorConfig/modelTest"; -import route91 from "./routes/setting/vendorConfig/updateVendor"; -import route92 from "./routes/task/getTaskApi"; -import route93 from "./routes/task/getTaskCategories"; -import route94 from "./routes/task/taskDetails"; -import route95 from "./routes/test/test"; +import route13 from "./routes/assets/getMaterialData"; +import route14 from "./routes/assets/saveAssets"; +import route15 from "./routes/assets/updateAssets"; +import route16 from "./routes/assets/uploadClip"; +import route17 from "./routes/assetsGenerate/generateAssets"; +import route18 from "./routes/assetsGenerate/polishAssetsPrompt"; +import route19 from "./routes/cornerScape/getAllAssets"; +import route20 from "./routes/general/generalStatistics"; +import route21 from "./routes/general/getSingleProject"; +import route22 from "./routes/general/updateProject"; +import route23 from "./routes/login/login"; +import route24 from "./routes/migrate/migrateData"; +import route25 from "./routes/modelSelect/getModelDetail"; +import route26 from "./routes/modelSelect/getModelList"; +import route27 from "./routes/novel/addNovel"; +import route28 from "./routes/novel/batchDeleteNovel"; +import route29 from "./routes/novel/delNovel"; +import route30 from "./routes/novel/event/batchDeleteEvent"; +import route31 from "./routes/novel/event/deletEvent"; +import route32 from "./routes/novel/event/generateEvents"; +import route33 from "./routes/novel/event/getEvent"; +import route34 from "./routes/novel/getNovel"; +import route35 from "./routes/novel/getNovelEventState"; +import route36 from "./routes/novel/getNovelIndex"; +import route37 from "./routes/novel/updateNovel"; +import route38 from "./routes/other/deleteAllData"; +import route39 from "./routes/other/getVersion"; +import route40 from "./routes/production/assets/getAssetsData"; +import route41 from "./routes/production/editImage/generateFlowImage"; +import route42 from "./routes/production/editImage/getImageFlow"; +import route43 from "./routes/production/editImage/saveImageFlow"; +import route44 from "./routes/production/editImage/updateImageFlow"; +import route45 from "./routes/production/exportImage"; +import route46 from "./routes/production/getFlowData"; +import route47 from "./routes/production/getProductionData"; +import route48 from "./routes/production/getStoryboardData"; +import route49 from "./routes/production/saveFlowData"; +import route50 from "./routes/production/storyboard/downPreviewImage"; +import route51 from "./routes/production/storyboard/getStoryboardData"; +import route52 from "./routes/production/storyboard/previewImage"; +import route53 from "./routes/production/workbench/confirmSelection"; +import route54 from "./routes/production/workbench/delVideo"; +import route55 from "./routes/production/workbench/generateVideo"; +import route56 from "./routes/production/workbench/getChatLines"; +import route57 from "./routes/production/workbench/getVideoModelDetail"; +import route58 from "./routes/production/workbench/videoPolling"; +import route59 from "./routes/project/addProject"; +import route60 from "./routes/project/delProject"; +import route61 from "./routes/project/editProject"; +import route62 from "./routes/project/getProject"; +import route63 from "./routes/script/addScript"; +import route64 from "./routes/script/delScript"; +import route65 from "./routes/script/exportScript"; +import route66 from "./routes/script/getScrptApi"; +import route67 from "./routes/script/updateScript"; +import route68 from "./routes/scriptAgent/getPlanData"; +import route69 from "./routes/scriptAgent/setPlanData"; +import route70 from "./routes/setting/agentDeploy/agentSetKey"; +import route71 from "./routes/setting/agentDeploy/deployAgentModel"; +import route72 from "./routes/setting/agentDeploy/getAgentDeploy"; +import route73 from "./routes/setting/dbConfig/clearData"; +import route74 from "./routes/setting/fileManagement/openFolder"; +import route75 from "./routes/setting/getTextModel"; +import route76 from "./routes/setting/loginConfig/getUser"; +import route77 from "./routes/setting/loginConfig/updateUserPwd"; +import route78 from "./routes/setting/memoryConfig/delAllMemory"; +import route79 from "./routes/setting/memoryConfig/getMemory"; +import route80 from "./routes/setting/memoryConfig/sureMemory"; +import route81 from "./routes/setting/skillManagement/addSkill"; +import route82 from "./routes/setting/skillManagement/deleteSkill"; +import route83 from "./routes/setting/skillManagement/embeddingSkill"; +import route84 from "./routes/setting/skillManagement/generateDescription"; +import route85 from "./routes/setting/skillManagement/getSkillList"; +import route86 from "./routes/setting/skillManagement/scanSkills"; +import route87 from "./routes/setting/skillManagement/updateSkill"; +import route88 from "./routes/setting/vendorConfig/addVendor"; +import route89 from "./routes/setting/vendorConfig/deleteVendor"; +import route90 from "./routes/setting/vendorConfig/getVendorList"; +import route91 from "./routes/setting/vendorConfig/modelTest"; +import route92 from "./routes/setting/vendorConfig/updateVendor"; +import route93 from "./routes/task/getTaskApi"; +import route94 from "./routes/task/getTaskCategories"; +import route95 from "./routes/task/taskDetails"; +import route96 from "./routes/test/test"; export default async (app: Express) => { app.use("/api/agents/clearMemory", route1); @@ -110,87 +111,88 @@ export default async (app: Express) => { app.use("/api/assets/delAssets", route10); app.use("/api/assets/getAssetsApi", route11); app.use("/api/assets/getImage", route12); - app.use("/api/assets/saveAssets", route13); - app.use("/api/assets/updateAssets", route14); - app.use("/api/assets/uploadClip", route15); - app.use("/api/assetsGenerate/generateAssets", route16); - app.use("/api/assetsGenerate/polishAssetsPrompt", route17); - app.use("/api/cornerScape/getAllAssets", route18); - app.use("/api/general/generalStatistics", route19); - app.use("/api/general/getSingleProject", route20); - app.use("/api/general/updateProject", route21); - app.use("/api/login/login", route22); - app.use("/api/migrate/migrateData", route23); - app.use("/api/modelSelect/getModelDetail", route24); - app.use("/api/modelSelect/getModelList", route25); - app.use("/api/novel/addNovel", route26); - app.use("/api/novel/batchDeleteNovel", route27); - app.use("/api/novel/delNovel", route28); - app.use("/api/novel/event/batchDeleteEvent", route29); - app.use("/api/novel/event/deletEvent", route30); - app.use("/api/novel/event/generateEvents", route31); - app.use("/api/novel/event/getEvent", route32); - app.use("/api/novel/getNovel", route33); - app.use("/api/novel/getNovelEventState", route34); - app.use("/api/novel/getNovelIndex", route35); - app.use("/api/novel/updateNovel", route36); - app.use("/api/other/deleteAllData", route37); - app.use("/api/other/getVersion", route38); - app.use("/api/production/assets/getAssetsData", route39); - app.use("/api/production/editImage/generateFlowImage", route40); - app.use("/api/production/editImage/getImageFlow", route41); - app.use("/api/production/editImage/saveImageFlow", route42); - app.use("/api/production/editImage/updateImageFlow", route43); - app.use("/api/production/exportImage", route44); - app.use("/api/production/getFlowData", route45); - app.use("/api/production/getProductionData", route46); - app.use("/api/production/getStoryboardData", route47); - app.use("/api/production/saveFlowData", route48); - app.use("/api/production/storyboard/downPreviewImage", route49); - app.use("/api/production/storyboard/getStoryboardData", route50); - app.use("/api/production/storyboard/previewImage", route51); - app.use("/api/production/workbench/confirmSelection", route52); - app.use("/api/production/workbench/delVideo", route53); - app.use("/api/production/workbench/generateVideo", route54); - app.use("/api/production/workbench/getChatLines", route55); - app.use("/api/production/workbench/getVideoModelDetail", route56); - app.use("/api/production/workbench/videoPolling", route57); - app.use("/api/project/addProject", route58); - app.use("/api/project/delProject", route59); - app.use("/api/project/editProject", route60); - app.use("/api/project/getProject", route61); - app.use("/api/script/addScript", route62); - app.use("/api/script/delScript", route63); - app.use("/api/script/exportScript", route64); - app.use("/api/script/getScrptApi", route65); - app.use("/api/script/updateScript", route66); - app.use("/api/scriptAgent/getPlanData", route67); - app.use("/api/scriptAgent/setPlanData", route68); - app.use("/api/setting/agentDeploy/agentSetKey", route69); - app.use("/api/setting/agentDeploy/deployAgentModel", route70); - app.use("/api/setting/agentDeploy/getAgentDeploy", route71); - app.use("/api/setting/dbConfig/clearData", route72); - app.use("/api/setting/fileManagement/openFolder", route73); - app.use("/api/setting/getTextModel", route74); - app.use("/api/setting/loginConfig/getUser", route75); - app.use("/api/setting/loginConfig/updateUserPwd", route76); - app.use("/api/setting/memoryConfig/delAllMemory", route77); - app.use("/api/setting/memoryConfig/getMemory", route78); - app.use("/api/setting/memoryConfig/sureMemory", route79); - app.use("/api/setting/skillManagement/addSkill", route80); - app.use("/api/setting/skillManagement/deleteSkill", route81); - app.use("/api/setting/skillManagement/embeddingSkill", route82); - app.use("/api/setting/skillManagement/generateDescription", route83); - app.use("/api/setting/skillManagement/getSkillList", route84); - app.use("/api/setting/skillManagement/scanSkills", route85); - app.use("/api/setting/skillManagement/updateSkill", route86); - app.use("/api/setting/vendorConfig/addVendor", route87); - app.use("/api/setting/vendorConfig/deleteVendor", route88); - app.use("/api/setting/vendorConfig/getVendorList", route89); - app.use("/api/setting/vendorConfig/modelTest", route90); - app.use("/api/setting/vendorConfig/updateVendor", route91); - app.use("/api/task/getTaskApi", route92); - app.use("/api/task/getTaskCategories", route93); - app.use("/api/task/taskDetails", route94); - app.use("/api/test/test", route95); + app.use("/api/assets/getMaterialData", route13); + app.use("/api/assets/saveAssets", route14); + app.use("/api/assets/updateAssets", route15); + app.use("/api/assets/uploadClip", route16); + app.use("/api/assetsGenerate/generateAssets", route17); + app.use("/api/assetsGenerate/polishAssetsPrompt", route18); + app.use("/api/cornerScape/getAllAssets", route19); + app.use("/api/general/generalStatistics", route20); + app.use("/api/general/getSingleProject", route21); + app.use("/api/general/updateProject", route22); + app.use("/api/login/login", route23); + app.use("/api/migrate/migrateData", route24); + app.use("/api/modelSelect/getModelDetail", route25); + app.use("/api/modelSelect/getModelList", route26); + app.use("/api/novel/addNovel", route27); + app.use("/api/novel/batchDeleteNovel", route28); + app.use("/api/novel/delNovel", route29); + app.use("/api/novel/event/batchDeleteEvent", route30); + app.use("/api/novel/event/deletEvent", route31); + app.use("/api/novel/event/generateEvents", route32); + app.use("/api/novel/event/getEvent", route33); + app.use("/api/novel/getNovel", route34); + app.use("/api/novel/getNovelEventState", route35); + app.use("/api/novel/getNovelIndex", route36); + app.use("/api/novel/updateNovel", route37); + app.use("/api/other/deleteAllData", route38); + app.use("/api/other/getVersion", route39); + app.use("/api/production/assets/getAssetsData", route40); + app.use("/api/production/editImage/generateFlowImage", route41); + app.use("/api/production/editImage/getImageFlow", route42); + app.use("/api/production/editImage/saveImageFlow", route43); + app.use("/api/production/editImage/updateImageFlow", route44); + app.use("/api/production/exportImage", route45); + app.use("/api/production/getFlowData", route46); + app.use("/api/production/getProductionData", route47); + app.use("/api/production/getStoryboardData", route48); + app.use("/api/production/saveFlowData", route49); + app.use("/api/production/storyboard/downPreviewImage", route50); + app.use("/api/production/storyboard/getStoryboardData", route51); + app.use("/api/production/storyboard/previewImage", route52); + app.use("/api/production/workbench/confirmSelection", route53); + app.use("/api/production/workbench/delVideo", route54); + app.use("/api/production/workbench/generateVideo", route55); + app.use("/api/production/workbench/getChatLines", route56); + app.use("/api/production/workbench/getVideoModelDetail", route57); + app.use("/api/production/workbench/videoPolling", route58); + app.use("/api/project/addProject", route59); + app.use("/api/project/delProject", route60); + app.use("/api/project/editProject", route61); + app.use("/api/project/getProject", route62); + app.use("/api/script/addScript", route63); + app.use("/api/script/delScript", route64); + app.use("/api/script/exportScript", route65); + app.use("/api/script/getScrptApi", route66); + app.use("/api/script/updateScript", route67); + app.use("/api/scriptAgent/getPlanData", route68); + app.use("/api/scriptAgent/setPlanData", route69); + app.use("/api/setting/agentDeploy/agentSetKey", route70); + app.use("/api/setting/agentDeploy/deployAgentModel", route71); + app.use("/api/setting/agentDeploy/getAgentDeploy", route72); + app.use("/api/setting/dbConfig/clearData", route73); + app.use("/api/setting/fileManagement/openFolder", route74); + app.use("/api/setting/getTextModel", route75); + app.use("/api/setting/loginConfig/getUser", route76); + app.use("/api/setting/loginConfig/updateUserPwd", route77); + app.use("/api/setting/memoryConfig/delAllMemory", route78); + app.use("/api/setting/memoryConfig/getMemory", route79); + app.use("/api/setting/memoryConfig/sureMemory", route80); + app.use("/api/setting/skillManagement/addSkill", route81); + app.use("/api/setting/skillManagement/deleteSkill", route82); + app.use("/api/setting/skillManagement/embeddingSkill", route83); + app.use("/api/setting/skillManagement/generateDescription", route84); + app.use("/api/setting/skillManagement/getSkillList", route85); + app.use("/api/setting/skillManagement/scanSkills", route86); + app.use("/api/setting/skillManagement/updateSkill", route87); + app.use("/api/setting/vendorConfig/addVendor", route88); + app.use("/api/setting/vendorConfig/deleteVendor", route89); + app.use("/api/setting/vendorConfig/getVendorList", route90); + app.use("/api/setting/vendorConfig/modelTest", route91); + app.use("/api/setting/vendorConfig/updateVendor", route92); + app.use("/api/task/getTaskApi", route93); + app.use("/api/task/getTaskCategories", route94); + app.use("/api/task/taskDetails", route95); + app.use("/api/test/test", route96); } diff --git a/src/routes/assets/getMaterialData.ts b/src/routes/assets/getMaterialData.ts index 119bb3e..0623c2a 100644 --- a/src/routes/assets/getMaterialData.ts +++ b/src/routes/assets/getMaterialData.ts @@ -12,5 +12,21 @@ export default router.post("/", async (req, res) => { filePath: item.filePath ? await u.oss.getFileUrl(item.filePath) : "", })), ); - res.status(200).send(success(data)); + // 查询o_videoConfig表,拿到已选中的videoId + const configRows = await u.db("o_videoConfig").select("videoId"); + const selectedIds = new Set(configRows.map((row) => row.videoId)); + + // 查询o_video表 + const videoRows = await u.db("o_video").where("state", "生成成功").select("*"); + + // 处理并返回结果 + const video = await Promise.all( + videoRows.map(async (row) => ({ + id: row.id, + filePath: row.filePath ? await u.oss.getFileUrl(row.filePath) : "", + selected: selectedIds.has(row.id), + storyboard: row.storyboardId, + })), + ); + res.status(200).send(success({ data, video })); }); diff --git a/src/types/database.d.ts b/src/types/database.d.ts index 70b079c..864c260 100644 --- a/src/types/database.d.ts +++ b/src/types/database.d.ts @@ -1,4 +1,4 @@ -// @db-hash d807205fbb27fc5ddb04cae060fb4430 +// @db-hash f9f1fb9b0fc04331ecf65d34c1e4b6af //该文件由脚本自动生成,请勿手动修改 export interface memories { @@ -156,7 +156,6 @@ export interface o_storyboard { 'filePath'?: string | null; 'frameMode'?: string | null; 'id'?: number; - 'index'?: string | null; 'lines'?: string | null; 'mode'?: string | null; 'model'?: string | null; From 66d2e8b709c7eb58fe711f663d5a8217bfbf72b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B8=85?= <2944435683> Date: Thu, 26 Mar 2026 17:35:26 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routes/assets/delAssets.ts | 1 - src/routes/production/workbench/videoPolling.ts | 1 + src/routes/project/delProject.ts | 13 +------------ 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/routes/assets/delAssets.ts b/src/routes/assets/delAssets.ts index 38addd0..162e55b 100644 --- a/src/routes/assets/delAssets.ts +++ b/src/routes/assets/delAssets.ts @@ -12,7 +12,6 @@ export default router.post( }), async (req, res) => { const { id } = req.body; - console.log("%c Line:15 🍑 id", "background:#465975", id); const assetsData = await u.db("o_image").where("assetsId", id); await Promise.all(assetsData.map((i) => i.filePath && u.oss.deleteFile(i.filePath))); await u.db("o_assets").where({ id }).delete(); diff --git a/src/routes/production/workbench/videoPolling.ts b/src/routes/production/workbench/videoPolling.ts index 2d68b51..31241c2 100644 --- a/src/routes/production/workbench/videoPolling.ts +++ b/src/routes/production/workbench/videoPolling.ts @@ -14,6 +14,7 @@ export default router.post( async (req, res) => { const { scriptId, specifyIds } = req.body; const data = await u.db("o_video").where("scriptId", scriptId).whereIn("id", specifyIds).andWhere("state", "生成中").select("*"); + console.log("%c Line:17 🧀 data", "background:#93c0a4", data.length); res.status(200).send(success(data)); }, ); \ No newline at end of file diff --git a/src/routes/project/delProject.ts b/src/routes/project/delProject.ts index c80c1fa..4ceed7c 100644 --- a/src/routes/project/delProject.ts +++ b/src/routes/project/delProject.ts @@ -20,9 +20,6 @@ export default router.post( const assetsData = await u.db("o_assets").where("projectId", id).select("id"); const assetsIds = assetsData.map((item: any) => item.id); - const videoData = await u.db("o_video").whereIn("scriptId", scriptIds).select("id"); - const videoIds = videoData.map((item: any) => item.id); - await u.db("o_project").where("id", id).delete(); await u.db("o_novel").where("projectId", id).delete(); await u.db("o_outline").where("projectId", id).delete(); @@ -31,17 +28,9 @@ export default router.post( await u.db("o_script").where("projectId", id).delete(); await u.db("o_assets").where("projectId", id).delete(); - const tempAssetsQuery = u.db("o_image").where("projectId", id); if (assetsIds.length > 0) { - tempAssetsQuery.orWhereIn("assetsId", assetsIds); + await u.db("o_image").where("projectId", id).orWhereIn("assetsId", assetsIds).delete(); } - if (scriptIds.length > 0) { - tempAssetsQuery.orWhereIn("scriptId", scriptIds); - } - if (videoIds.length > 0) { - tempAssetsQuery.orWhereIn("videoId", videoIds); - } - await tempAssetsQuery.delete(); await u.db("o_video").whereIn("scriptId", scriptIds).delete();