修改部分 api名字

This commit is contained in:
zhishi 2026-03-03 17:20:49 +08:00
parent 1e76787b21
commit 09fe3ef598
16 changed files with 538 additions and 557 deletions

View File

@ -1,4 +1,4 @@
// @routes-hash c97cf72361299980ea4b0c43549a0de8 // @routes-hash a24355702228a933a77ebc8b8add2067
import { Express } from "express"; import { Express } from "express";
import route1 from "./routes/assets/addAssets"; import route1 from "./routes/assets/addAssets";
@ -7,82 +7,80 @@ import route3 from "./routes/assets/delAssetsImage";
import route4 from "./routes/assets/generateAssets"; import route4 from "./routes/assets/generateAssets";
import route5 from "./routes/assets/getAssets"; import route5 from "./routes/assets/getAssets";
import route6 from "./routes/assets/getImage"; import route6 from "./routes/assets/getImage";
import route7 from "./routes/assets/getStoryboard"; import route7 from "./routes/assets/getScriptList";
import route8 from "./routes/assets/polishPrompt"; import route8 from "./routes/assets/polishAssetsPrompt";
import route9 from "./routes/assets/saveAssets"; import route9 from "./routes/assets/saveAssets";
import route10 from "./routes/assets/updateAssets"; import route10 from "./routes/assets/updateAssets";
import route11 from "./routes/index/index"; import route11 from "./routes/novel/addNovel";
import route12 from "./routes/novel/addNovel"; import route12 from "./routes/novel/delNovel";
import route13 from "./routes/novel/delNovel"; import route13 from "./routes/novel/getNovel";
import route14 from "./routes/novel/getNovel"; import route14 from "./routes/novel/updateNovel";
import route15 from "./routes/novel/updateNovel"; import route15 from "./routes/other/clearDatabase";
import route16 from "./routes/other/clearDatabase"; import route16 from "./routes/other/deleteAllData";
import route17 from "./routes/other/deleteAllData"; import route17 from "./routes/other/getCaptcha";
import route18 from "./routes/other/getCaptcha"; import route18 from "./routes/other/login";
import route19 from "./routes/other/login"; import route19 from "./routes/other/testAI";
import route20 from "./routes/other/testAI"; import route20 from "./routes/other/testImage";
import route21 from "./routes/other/testImage"; import route21 from "./routes/other/testVideo";
import route22 from "./routes/other/testVideo"; import route22 from "./routes/outline/addOutline";
import route23 from "./routes/outline/addOutline"; import route23 from "./routes/outline/agentsOutline";
import route24 from "./routes/outline/agentsOutline"; import route24 from "./routes/outline/delOutline";
import route25 from "./routes/outline/delOutline"; import route25 from "./routes/outline/getHistory";
import route26 from "./routes/outline/getHistory"; import route26 from "./routes/outline/getOutline";
import route27 from "./routes/outline/getOutline"; import route27 from "./routes/outline/getPartScript";
import route28 from "./routes/outline/getPartScript"; import route28 from "./routes/outline/getStoryline";
import route29 from "./routes/outline/getStoryline"; import route29 from "./routes/outline/setHistory";
import route30 from "./routes/outline/setHistory"; import route30 from "./routes/outline/updateOutline";
import route31 from "./routes/outline/updateOutline"; import route31 from "./routes/outline/updateScript";
import route32 from "./routes/outline/updateScript"; import route32 from "./routes/outline/updateStoryline";
import route33 from "./routes/outline/updateStoryline"; import route33 from "./routes/project/addProject";
import route34 from "./routes/project/addProject"; import route34 from "./routes/project/delProject";
import route35 from "./routes/project/delProject"; import route35 from "./routes/project/getProject";
import route36 from "./routes/project/getProject"; import route36 from "./routes/project/getProjectCount";
import route37 from "./routes/project/getProjectCount"; import route37 from "./routes/project/getSingleProject";
import route38 from "./routes/project/getSingleProject"; import route38 from "./routes/project/updateProject";
import route39 from "./routes/project/updateProject"; import route39 from "./routes/prompt/getPrompts";
import route40 from "./routes/prompt/getPrompts"; import route40 from "./routes/prompt/updatePrompt";
import route41 from "./routes/prompt/updatePrompt"; import route41 from "./routes/script/generateScriptApi";
import route42 from "./routes/script/generateScriptApi"; import route42 from "./routes/script/generateScriptSave";
import route43 from "./routes/script/generateScriptSave"; import route43 from "./routes/script/geScriptApi";
import route44 from "./routes/script/geScriptApi"; import route44 from "./routes/setting/addModel";
import route45 from "./routes/setting/addModel"; import route45 from "./routes/setting/configurationModel";
import route46 from "./routes/setting/configurationModel"; import route46 from "./routes/setting/delModel";
import route47 from "./routes/setting/delModel"; import route47 from "./routes/setting/getAiModelList";
import route48 from "./routes/setting/getAiModelList"; import route48 from "./routes/setting/getAiModelMap";
import route49 from "./routes/setting/getAiModelMap"; import route49 from "./routes/setting/getLog";
import route50 from "./routes/setting/getLog"; import route50 from "./routes/setting/getSetting";
import route51 from "./routes/setting/getSetting"; import route51 from "./routes/setting/getVideoModelDetail";
import route52 from "./routes/setting/getVideoModelDetail"; import route52 from "./routes/setting/getVideoModelList";
import route53 from "./routes/setting/getVideoModelList"; import route53 from "./routes/setting/updateModel";
import route54 from "./routes/setting/updateModel"; import route54 from "./routes/storyboard/batchSuperScoreImage";
import route55 from "./routes/setting/updeteModel"; import route55 from "./routes/storyboard/chatStoryboard";
import route56 from "./routes/storyboard/batchSuperScoreImage"; import route56 from "./routes/storyboard/delStoryboard";
import route57 from "./routes/storyboard/chatStoryboard"; import route57 from "./routes/storyboard/generateShotImage";
import route58 from "./routes/storyboard/delStoryboard"; import route58 from "./routes/storyboard/generateVideoPrompt";
import route59 from "./routes/storyboard/generateShotImage"; import route59 from "./routes/storyboard/getStoryboard";
import route60 from "./routes/storyboard/generateStoryboardApi"; import route60 from "./routes/storyboard/keepStoryboard";
import route61 from "./routes/storyboard/generateVideoPrompt"; import route61 from "./routes/storyboard/saveStoryboard";
import route62 from "./routes/storyboard/getStoryboard"; import route62 from "./routes/storyboard/storyboardImageEdit";
import route63 from "./routes/storyboard/keepStoryboard"; import route63 from "./routes/storyboard/uploadImage";
import route64 from "./routes/storyboard/saveStoryboard"; import route64 from "./routes/task/getTaskApi";
import route65 from "./routes/storyboard/uploadImage"; import route65 from "./routes/task/taskDetails";
import route66 from "./routes/task/getTaskApi"; import route66 from "./routes/user/getUser";
import route67 from "./routes/task/taskDetails"; import route67 from "./routes/user/saveUser";
import route68 from "./routes/user/getUser"; import route68 from "./routes/video/addVideo";
import route69 from "./routes/user/saveUser"; import route69 from "./routes/video/addVideoConfig";
import route70 from "./routes/video/addVideo"; import route70 from "./routes/video/deleteVideoConfig";
import route71 from "./routes/video/addVideoConfig"; import route71 from "./routes/video/generatePrompt";
import route72 from "./routes/video/deleteVideoConfig"; import route72 from "./routes/video/generateVideo";
import route73 from "./routes/video/generatePrompt"; import route73 from "./routes/video/getManufacturer";
import route74 from "./routes/video/generateVideo"; import route74 from "./routes/video/getVideo";
import route75 from "./routes/video/getManufacturer"; import route75 from "./routes/video/getVideoConfigs";
import route76 from "./routes/video/getVideo"; import route76 from "./routes/video/getVideoModel";
import route77 from "./routes/video/getVideoConfigs"; import route77 from "./routes/video/getVideoStoryboards";
import route78 from "./routes/video/getVideoModel"; import route78 from "./routes/video/reviseVideoStoryboards";
import route79 from "./routes/video/getVideoStoryboards"; import route79 from "./routes/video/saveVideo";
import route80 from "./routes/video/reviseVideoStoryboards"; import route80 from "./routes/video/upDateVideoConfig";
import route81 from "./routes/video/saveVideo";
import route82 from "./routes/video/upDateVideoConfig";
export default async (app: Express) => { export default async (app: Express) => {
app.use("/assets/addAssets", route1); app.use("/assets/addAssets", route1);
@ -91,80 +89,78 @@ export default async (app: Express) => {
app.use("/assets/generateAssets", route4); app.use("/assets/generateAssets", route4);
app.use("/assets/getAssets", route5); app.use("/assets/getAssets", route5);
app.use("/assets/getImage", route6); app.use("/assets/getImage", route6);
app.use("/assets/getStoryboard", route7); app.use("/assets/getScriptList", route7);
app.use("/assets/polishPrompt", route8); app.use("/assets/polishAssetsPrompt", route8);
app.use("/assets/saveAssets", route9); app.use("/assets/saveAssets", route9);
app.use("/assets/updateAssets", route10); app.use("/assets/updateAssets", route10);
app.use("/index", route11); app.use("/novel/addNovel", route11);
app.use("/novel/addNovel", route12); app.use("/novel/delNovel", route12);
app.use("/novel/delNovel", route13); app.use("/novel/getNovel", route13);
app.use("/novel/getNovel", route14); app.use("/novel/updateNovel", route14);
app.use("/novel/updateNovel", route15); app.use("/other/clearDatabase", route15);
app.use("/other/clearDatabase", route16); app.use("/other/deleteAllData", route16);
app.use("/other/deleteAllData", route17); app.use("/other/getCaptcha", route17);
app.use("/other/getCaptcha", route18); app.use("/other/login", route18);
app.use("/other/login", route19); app.use("/other/testAI", route19);
app.use("/other/testAI", route20); app.use("/other/testImage", route20);
app.use("/other/testImage", route21); app.use("/other/testVideo", route21);
app.use("/other/testVideo", route22); app.use("/outline/addOutline", route22);
app.use("/outline/addOutline", route23); app.use("/outline/agentsOutline", route23);
app.use("/outline/agentsOutline", route24); app.use("/outline/delOutline", route24);
app.use("/outline/delOutline", route25); app.use("/outline/getHistory", route25);
app.use("/outline/getHistory", route26); app.use("/outline/getOutline", route26);
app.use("/outline/getOutline", route27); app.use("/outline/getPartScript", route27);
app.use("/outline/getPartScript", route28); app.use("/outline/getStoryline", route28);
app.use("/outline/getStoryline", route29); app.use("/outline/setHistory", route29);
app.use("/outline/setHistory", route30); app.use("/outline/updateOutline", route30);
app.use("/outline/updateOutline", route31); app.use("/outline/updateScript", route31);
app.use("/outline/updateScript", route32); app.use("/outline/updateStoryline", route32);
app.use("/outline/updateStoryline", route33); app.use("/project/addProject", route33);
app.use("/project/addProject", route34); app.use("/project/delProject", route34);
app.use("/project/delProject", route35); app.use("/project/getProject", route35);
app.use("/project/getProject", route36); app.use("/project/getProjectCount", route36);
app.use("/project/getProjectCount", route37); app.use("/project/getSingleProject", route37);
app.use("/project/getSingleProject", route38); app.use("/project/updateProject", route38);
app.use("/project/updateProject", route39); app.use("/prompt/getPrompts", route39);
app.use("/prompt/getPrompts", route40); app.use("/prompt/updatePrompt", route40);
app.use("/prompt/updatePrompt", route41); app.use("/script/generateScriptApi", route41);
app.use("/script/generateScriptApi", route42); app.use("/script/generateScriptSave", route42);
app.use("/script/generateScriptSave", route43); app.use("/script/geScriptApi", route43);
app.use("/script/geScriptApi", route44); app.use("/setting/addModel", route44);
app.use("/setting/addModel", route45); app.use("/setting/configurationModel", route45);
app.use("/setting/configurationModel", route46); app.use("/setting/delModel", route46);
app.use("/setting/delModel", route47); app.use("/setting/getAiModelList", route47);
app.use("/setting/getAiModelList", route48); app.use("/setting/getAiModelMap", route48);
app.use("/setting/getAiModelMap", route49); app.use("/setting/getLog", route49);
app.use("/setting/getLog", route50); app.use("/setting/getSetting", route50);
app.use("/setting/getSetting", route51); app.use("/setting/getVideoModelDetail", route51);
app.use("/setting/getVideoModelDetail", route52); app.use("/setting/getVideoModelList", route52);
app.use("/setting/getVideoModelList", route53); app.use("/setting/updateModel", route53);
app.use("/setting/updateModel", route54); app.use("/storyboard/batchSuperScoreImage", route54);
app.use("/setting/updeteModel", route55); app.use("/storyboard/chatStoryboard", route55);
app.use("/storyboard/batchSuperScoreImage", route56); app.use("/storyboard/delStoryboard", route56);
app.use("/storyboard/chatStoryboard", route57); app.use("/storyboard/generateShotImage", route57);
app.use("/storyboard/delStoryboard", route58); app.use("/storyboard/generateVideoPrompt", route58);
app.use("/storyboard/generateShotImage", route59); app.use("/storyboard/getStoryboard", route59);
app.use("/storyboard/generateStoryboardApi", route60); app.use("/storyboard/keepStoryboard", route60);
app.use("/storyboard/generateVideoPrompt", route61); app.use("/storyboard/saveStoryboard", route61);
app.use("/storyboard/getStoryboard", route62); app.use("/storyboard/storyboardImageEdit", route62);
app.use("/storyboard/keepStoryboard", route63); app.use("/storyboard/uploadImage", route63);
app.use("/storyboard/saveStoryboard", route64); app.use("/task/getTaskApi", route64);
app.use("/storyboard/uploadImage", route65); app.use("/task/taskDetails", route65);
app.use("/task/getTaskApi", route66); app.use("/user/getUser", route66);
app.use("/task/taskDetails", route67); app.use("/user/saveUser", route67);
app.use("/user/getUser", route68); app.use("/video/addVideo", route68);
app.use("/user/saveUser", route69); app.use("/video/addVideoConfig", route69);
app.use("/video/addVideo", route70); app.use("/video/deleteVideoConfig", route70);
app.use("/video/addVideoConfig", route71); app.use("/video/generatePrompt", route71);
app.use("/video/deleteVideoConfig", route72); app.use("/video/generateVideo", route72);
app.use("/video/generatePrompt", route73); app.use("/video/getManufacturer", route73);
app.use("/video/generateVideo", route74); app.use("/video/getVideo", route74);
app.use("/video/getManufacturer", route75); app.use("/video/getVideoConfigs", route75);
app.use("/video/getVideo", route76); app.use("/video/getVideoModel", route76);
app.use("/video/getVideoConfigs", route77); app.use("/video/getVideoStoryboards", route77);
app.use("/video/getVideoModel", route78); app.use("/video/reviseVideoStoryboards", route78);
app.use("/video/getVideoStoryboards", route79); app.use("/video/saveVideo", route79);
app.use("/video/reviseVideoStoryboards", route80); app.use("/video/upDateVideoConfig", route80);
app.use("/video/saveVideo", route81);
app.use("/video/upDateVideoConfig", route82);
} }

View File

@ -1,27 +0,0 @@
import express from "express";
import u from "@/utils";
const router = express.Router();
import { z } from "zod";
import { error } from "@/lib/responseFormat";
export default router.get("/", async (req, res, next) => {
const id = 14;
const targetOutlineData = await u.db("t_outline").where("id", id).select("data").first();
if (!targetOutlineData) return res.status(400).send(error("大纲不存在"));
//筛选出改大纲特有的资产
const allOutlineDataList = await u.db("t_outline").where("projectId", 8).andWhere("id", "!=", id).select("data");
//找出目标ID大纲特有的资产名称
const allOutlineData = allOutlineDataList
.map((item) => {
const data = JSON.parse(item?.data || "[]");
return [...data.characters, ...data.props, ...data.scenes].map((item: any) => item.name);
})
.flat();
const targetOutLineNames = JSON.parse(targetOutlineData?.data || "[]");
const targetNames = [...targetOutLineNames.characters, ...targetOutLineNames.props, ...targetOutLineNames.scenes].map((item: any) => item.name);
const diffAssetsNames = targetNames.filter((item) => !allOutlineData.includes(item));
res.status(200).send(123);
});

View File

@ -5,7 +5,7 @@ import { error, success } from "@/lib/responseFormat";
import { validateFields } from "@/middleware/middleware"; import { validateFields } from "@/middleware/middleware";
const router = express.Router(); const router = express.Router();
// 删除大纲 // 获取历史消息记录
export default router.post( export default router.post(
"/", "/",
validateFields({ validateFields({

View File

@ -5,7 +5,7 @@ import { error, success } from "@/lib/responseFormat";
import { validateFields } from "@/middleware/middleware"; import { validateFields } from "@/middleware/middleware";
const router = express.Router(); const router = express.Router();
// 删除大纲 // 保存历史消息记录
export default router.post( export default router.post(
"/", "/",
validateFields({ validateFields({

View File

@ -21,13 +21,22 @@ export default router.post(
.db(sqlTableMap[type as "image" | "text" | "video"]) .db(sqlTableMap[type as "image" | "text" | "video"])
.whereNot("manufacturer", "other") .whereNot("manufacturer", "other")
.select("id", "manufacturer", "model"); .select("id", "manufacturer", "model");
const result: Record<string, any[]> = {}; const result: Record<string, any[]> = {};
const modelCache: Record<string, Set<string>> = {};
for (const row of modelLists) { for (const row of modelLists) {
if (!result[row.manufacturer]) { if (!result[row.manufacturer]) {
result[row.manufacturer] = []; result[row.manufacturer] = [];
modelCache[row.manufacturer] = new Set();
}
if (!modelCache[row.manufacturer].has(row.model)) {
result[row.manufacturer].push({ label: row.model, value: row.model });
modelCache[row.manufacturer].add(row.model);
} }
result[row.manufacturer].push({ label: row.model, value: row.model });
} }
res.status(200).send(success(result)); res.status(200).send(success(result));
}, },
); );

View File

@ -1,32 +0,0 @@
import express from "express";
import u from "@/utils";
import { z } from "zod";
import { success } from "@/lib/responseFormat";
import { validateFields } from "@/middleware/middleware";
const router = express.Router();
export default router.post(
"/",
validateFields({
id: z.number(),
type: z.enum(["text", "video", "image"]),
model: z.string(),
baseUrl: z.string(),
modelType: z.string(),
apiKey: z.string(),
manufacturer: z.string(),
}),
async (req, res) => {
const { id, type, model, baseUrl, apiKey, manufacturer, modelType } = req.body;
await u.db("t_config").where("id", id).update({
type,
model,
baseUrl,
apiKey,
manufacturer,
modelType,
});
res.status(200).send(success("编辑成功"));
},
);

View File

@ -37,7 +37,7 @@ async function superResolutionAndSave(src: string, projectId: number, videoRatio
await u.oss.writeFile(ossPath, buffer); await u.oss.writeFile(ossPath, buffer);
return { ossPath, base64: `data:image/jpg;base64,${base64Str}` }; return { ossPath, base64: `data:image/jpg;base64,${base64Str}` };
} }
// 图片超分
export default router.post( export default router.post(
"/", "/",
validateFields({ validateFields({

View File

@ -5,6 +5,7 @@ import Storyboard from "@/agents/storyboard";
const router = express.Router(); const router = express.Router();
expressWs(router as unknown as Application); expressWs(router as unknown as Application);
// 分镜对话Agent
router.ws("/", async (ws, req) => { router.ws("/", async (ws, req) => {
let agent: Storyboard; let agent: Storyboard;

View File

@ -5,6 +5,7 @@ import { success } from "@/lib/responseFormat";
import { validateFields } from "@/middleware/middleware"; import { validateFields } from "@/middleware/middleware";
const router = express.Router(); const router = express.Router();
//删除分镜
export default router.post( export default router.post(
"/", "/",
validateFields({ validateFields({

View File

@ -5,7 +5,7 @@ import { validateFields } from "@/middleware/middleware";
import { z } from "zod"; import { z } from "zod";
const router = express.Router(); const router = express.Router();
// 生成分镜 // 片编辑
export default router.post( export default router.post(
"/", "/",
validateFields({ validateFields({

View File

@ -6,7 +6,7 @@ import { z } from "zod";
import { v4 as uuid } from "uuid"; import { v4 as uuid } from "uuid";
const router = express.Router(); const router = express.Router();
// 上传对话图片 // 图片上传
export default router.post( export default router.post(
"/", "/",
validateFields({ validateFields({

View File

@ -1,4 +1,4 @@
// @db-hash 0f9789bd5ad2eebd79bd502988efcb4e // @db-hash bdfbb3a599198f1e91b2e5d7930ccd96
//该文件由脚本自动生成,请勿手动修改 //该文件由脚本自动生成,请勿手动修改
export interface t_aiModelMap { export interface t_aiModelMap {
@ -8,6 +8,7 @@ export interface t_aiModelMap {
'name'?: string | null; 'name'?: string | null;
} }
export interface t_assets { export interface t_assets {
'dialogue'?: string | null;
'duration'?: string | null; 'duration'?: string | null;
'episode'?: string | null; 'episode'?: string | null;
'filePath'?: string | null; 'filePath'?: string | null;
@ -157,6 +158,7 @@ export interface t_videoConfig {
'aiConfigId'?: number | null; 'aiConfigId'?: number | null;
'audioEnabled'?: number | null; 'audioEnabled'?: number | null;
'createTime'?: number | null; 'createTime'?: number | null;
'dialogue'?: string | null;
'duration'?: number | null; 'duration'?: number | null;
'endFrame'?: string | null; 'endFrame'?: string | null;
'id'?: number; 'id'?: number;

View File

@ -1,6 +1,8 @@
import "../type"; import "../type";
import { generateImage, generateText, ModelMessage } from "ai"; import { generateImage, generateText, ModelMessage } from "ai";
import { createOpenAICompatible } from "@ai-sdk/openai-compatible"; import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { createOpenAI, OpenAIProviderSettings } from "@ai-sdk/openai";
import axios from "axios"; import axios from "axios";
export default async (input: ImageConfig, config: AIConfig): Promise<string> => { export default async (input: ImageConfig, config: AIConfig): Promise<string> => {
@ -11,7 +13,7 @@ export default async (input: ImageConfig, config: AIConfig): Promise<string> =>
const apiKey = config.apiKey.replace("Bearer ", ""); const apiKey = config.apiKey.replace("Bearer ", "");
const otherProvider = createOpenAICompatible({ const otherProvider = createOpenAICompatible({
name: "xixixi", name: "other",
baseURL: config.baseURL, baseURL: config.baseURL,
headers: { headers: {
Authorization: `Bearer ${apiKey}`, Authorization: `Bearer ${apiKey}`,
@ -43,15 +45,18 @@ export default async (input: ImageConfig, config: AIConfig): Promise<string> =>
} }
const result = await generateText({ const result = await generateText({
model: otherProvider.languageModel(model), model: otherProvider.languageModel(model, { provider: "other" }),
prompt: promptData as string | ModelMessage[], prompt: promptData as string | ModelMessage[],
providerOptions: { providerOptions: {
google: { other: {
imageConfig: { extra_body: {
...(config.model == "gemini-2.5-flash-image" image_config: {
? { aspectRatio: input.aspectRatio } ...(config.model == "gemini-2.5-flash-image"
: { aspectRatio: input.aspectRatio, imageSize: input.size }), ? { aspectRatio: input.aspectRatio }
: { aspect_ratio: input.aspectRatio, image_size: input.size }),
},
}, },
responseModalities: ["IMAGE"], responseModalities: ["IMAGE"],
}, },
}, },

696
yarn.lock

File diff suppressed because it is too large Load Diff