no message
This commit is contained in:
parent
de1dff3aed
commit
4f72036169
@ -227,6 +227,16 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
|
||||
table.unique(["id"]);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "t_aiModelMap",
|
||||
builder: (table) => {
|
||||
table.integer("id").notNullable();
|
||||
table.integer("promptsId"); // 提示词表ID
|
||||
table.integer("configId"); // 模型列表id
|
||||
table.primary(["id"]);
|
||||
table.unique(["id"]);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "t_prompts",
|
||||
builder: (table) => {
|
||||
|
||||
118
src/router.ts
118
src/router.ts
@ -1,4 +1,4 @@
|
||||
// @routes-hash 4c67f0d89475e1a882416d9f6ab1687d
|
||||
// @routes-hash 8ce2263d4dc5c8171785529954312b92
|
||||
import { Express } from "express";
|
||||
|
||||
import route1 from "./routes/assets/addAssets";
|
||||
@ -44,33 +44,37 @@ import route40 from "./routes/prompt/updatePrompt";
|
||||
import route41 from "./routes/script/generateScriptApi";
|
||||
import route42 from "./routes/script/generateScriptSave";
|
||||
import route43 from "./routes/script/geScriptApi";
|
||||
import route44 from "./routes/setting/getSetting";
|
||||
import route45 from "./routes/setting/updateSetting";
|
||||
import route46 from "./routes/storyboard/batchSuperScoreImage";
|
||||
import route47 from "./routes/storyboard/chatStoryboard";
|
||||
import route48 from "./routes/storyboard/generateShotImage";
|
||||
import route49 from "./routes/storyboard/generateStoryboardApi";
|
||||
import route50 from "./routes/storyboard/generateVideoPrompt";
|
||||
import route51 from "./routes/storyboard/getStoryboard";
|
||||
import route52 from "./routes/storyboard/keepStoryboard";
|
||||
import route53 from "./routes/storyboard/saveStoryboard";
|
||||
import route54 from "./routes/storyboard/uploadImage";
|
||||
import route55 from "./routes/task/getTaskApi";
|
||||
import route56 from "./routes/task/taskDetails";
|
||||
import route57 from "./routes/user/getUser";
|
||||
import route58 from "./routes/video/addVideo";
|
||||
import route59 from "./routes/video/addVideoConfig";
|
||||
import route60 from "./routes/video/deleteVideoConfig";
|
||||
import route61 from "./routes/video/generatePrompt";
|
||||
import route62 from "./routes/video/generateVideo";
|
||||
import route63 from "./routes/video/getManufacturer";
|
||||
import route64 from "./routes/video/getVideo";
|
||||
import route65 from "./routes/video/getVideoConfigs";
|
||||
import route66 from "./routes/video/getVideoModel";
|
||||
import route67 from "./routes/video/getVideoStoryboards";
|
||||
import route68 from "./routes/video/reviseVideoStoryboards";
|
||||
import route69 from "./routes/video/saveVideo";
|
||||
import route70 from "./routes/video/upDateVideoConfig";
|
||||
import route44 from "./routes/setting/addModel";
|
||||
import route45 from "./routes/setting/configurationModel";
|
||||
import route46 from "./routes/setting/delModel";
|
||||
import route47 from "./routes/setting/getAiModelMap";
|
||||
import route48 from "./routes/setting/getSetting";
|
||||
import route49 from "./routes/setting/updeteModel";
|
||||
import route50 from "./routes/storyboard/batchSuperScoreImage";
|
||||
import route51 from "./routes/storyboard/chatStoryboard";
|
||||
import route52 from "./routes/storyboard/generateShotImage";
|
||||
import route53 from "./routes/storyboard/generateStoryboardApi";
|
||||
import route54 from "./routes/storyboard/generateVideoPrompt";
|
||||
import route55 from "./routes/storyboard/getStoryboard";
|
||||
import route56 from "./routes/storyboard/keepStoryboard";
|
||||
import route57 from "./routes/storyboard/saveStoryboard";
|
||||
import route58 from "./routes/storyboard/uploadImage";
|
||||
import route59 from "./routes/task/getTaskApi";
|
||||
import route60 from "./routes/task/taskDetails";
|
||||
import route61 from "./routes/user/getUser";
|
||||
import route62 from "./routes/video/addVideo";
|
||||
import route63 from "./routes/video/addVideoConfig";
|
||||
import route64 from "./routes/video/deleteVideoConfig";
|
||||
import route65 from "./routes/video/generatePrompt";
|
||||
import route66 from "./routes/video/generateVideo";
|
||||
import route67 from "./routes/video/getManufacturer";
|
||||
import route68 from "./routes/video/getVideo";
|
||||
import route69 from "./routes/video/getVideoConfigs";
|
||||
import route70 from "./routes/video/getVideoModel";
|
||||
import route71 from "./routes/video/getVideoStoryboards";
|
||||
import route72 from "./routes/video/reviseVideoStoryboards";
|
||||
import route73 from "./routes/video/saveVideo";
|
||||
import route74 from "./routes/video/upDateVideoConfig";
|
||||
|
||||
export default async (app: Express) => {
|
||||
app.use("/assets/addAssets", route1);
|
||||
@ -116,31 +120,35 @@ export default async (app: Express) => {
|
||||
app.use("/script/generateScriptApi", route41);
|
||||
app.use("/script/generateScriptSave", route42);
|
||||
app.use("/script/geScriptApi", route43);
|
||||
app.use("/setting/getSetting", route44);
|
||||
app.use("/setting/updateSetting", route45);
|
||||
app.use("/storyboard/batchSuperScoreImage", route46);
|
||||
app.use("/storyboard/chatStoryboard", route47);
|
||||
app.use("/storyboard/generateShotImage", route48);
|
||||
app.use("/storyboard/generateStoryboardApi", route49);
|
||||
app.use("/storyboard/generateVideoPrompt", route50);
|
||||
app.use("/storyboard/getStoryboard", route51);
|
||||
app.use("/storyboard/keepStoryboard", route52);
|
||||
app.use("/storyboard/saveStoryboard", route53);
|
||||
app.use("/storyboard/uploadImage", route54);
|
||||
app.use("/task/getTaskApi", route55);
|
||||
app.use("/task/taskDetails", route56);
|
||||
app.use("/user/getUser", route57);
|
||||
app.use("/video/addVideo", route58);
|
||||
app.use("/video/addVideoConfig", route59);
|
||||
app.use("/video/deleteVideoConfig", route60);
|
||||
app.use("/video/generatePrompt", route61);
|
||||
app.use("/video/generateVideo", route62);
|
||||
app.use("/video/getManufacturer", route63);
|
||||
app.use("/video/getVideo", route64);
|
||||
app.use("/video/getVideoConfigs", route65);
|
||||
app.use("/video/getVideoModel", route66);
|
||||
app.use("/video/getVideoStoryboards", route67);
|
||||
app.use("/video/reviseVideoStoryboards", route68);
|
||||
app.use("/video/saveVideo", route69);
|
||||
app.use("/video/upDateVideoConfig", route70);
|
||||
app.use("/setting/addModel", route44);
|
||||
app.use("/setting/configurationModel", route45);
|
||||
app.use("/setting/delModel", route46);
|
||||
app.use("/setting/getAiModelMap", route47);
|
||||
app.use("/setting/getSetting", route48);
|
||||
app.use("/setting/updeteModel", route49);
|
||||
app.use("/storyboard/batchSuperScoreImage", route50);
|
||||
app.use("/storyboard/chatStoryboard", route51);
|
||||
app.use("/storyboard/generateShotImage", route52);
|
||||
app.use("/storyboard/generateStoryboardApi", route53);
|
||||
app.use("/storyboard/generateVideoPrompt", route54);
|
||||
app.use("/storyboard/getStoryboard", route55);
|
||||
app.use("/storyboard/keepStoryboard", route56);
|
||||
app.use("/storyboard/saveStoryboard", route57);
|
||||
app.use("/storyboard/uploadImage", route58);
|
||||
app.use("/task/getTaskApi", route59);
|
||||
app.use("/task/taskDetails", route60);
|
||||
app.use("/user/getUser", route61);
|
||||
app.use("/video/addVideo", route62);
|
||||
app.use("/video/addVideoConfig", route63);
|
||||
app.use("/video/deleteVideoConfig", route64);
|
||||
app.use("/video/generatePrompt", route65);
|
||||
app.use("/video/generateVideo", route66);
|
||||
app.use("/video/getManufacturer", route67);
|
||||
app.use("/video/getVideo", route68);
|
||||
app.use("/video/getVideoConfigs", route69);
|
||||
app.use("/video/getVideoModel", route70);
|
||||
app.use("/video/getVideoStoryboards", route71);
|
||||
app.use("/video/reviseVideoStoryboards", route72);
|
||||
app.use("/video/saveVideo", route73);
|
||||
app.use("/video/upDateVideoConfig", route74);
|
||||
}
|
||||
|
||||
33
src/routes/setting/addModel.ts
Normal file
33
src/routes/setting/addModel.ts
Normal file
@ -0,0 +1,33 @@
|
||||
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({
|
||||
type: z.string(),
|
||||
name: z.string(),
|
||||
model: z.string(),
|
||||
baseUrl: z.string(),
|
||||
apiKey: z.string(),
|
||||
manufacturer: z.string(),
|
||||
}),
|
||||
async (req, res) => {
|
||||
const { type, name, model, baseUrl, apiKey, manufacturer } = req.body;
|
||||
|
||||
await u.db("t_config").insert({
|
||||
type,
|
||||
name,
|
||||
model,
|
||||
baseUrl,
|
||||
apiKey,
|
||||
manufacturer,
|
||||
createTime: Date.now(),
|
||||
userId: 1,
|
||||
});
|
||||
res.status(200).send(success("新增成功"));
|
||||
},
|
||||
);
|
||||
30
src/routes/setting/configurationModel.ts
Normal file
30
src/routes/setting/configurationModel.ts
Normal file
@ -0,0 +1,30 @@
|
||||
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().optional(),
|
||||
promptsId: z.number(),
|
||||
configId: z.number(),
|
||||
}),
|
||||
async (req, res) => {
|
||||
const { id, promptsId, configId } = req.body;
|
||||
if (id) {
|
||||
await u.db("t_aiModelMap").where("id", id).update({
|
||||
promptsId,
|
||||
configId,
|
||||
});
|
||||
} else {
|
||||
await u.db("t_aiModelMap").insert({
|
||||
promptsId,
|
||||
configId,
|
||||
});
|
||||
}
|
||||
res.status(200).send(success("配置成功"));
|
||||
},
|
||||
);
|
||||
19
src/routes/setting/delModel.ts
Normal file
19
src/routes/setting/delModel.ts
Normal file
@ -0,0 +1,19 @@
|
||||
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(),
|
||||
}),
|
||||
async (req, res) => {
|
||||
const { id } = req.body;
|
||||
await u.db("t_config").where("id", id).delete();
|
||||
await u.db("t_aiModelMap").where("configId", id).delete();
|
||||
res.status(200).send(success("删除成功"));
|
||||
},
|
||||
);
|
||||
13
src/routes/setting/getAiModelMap.ts
Normal file
13
src/routes/setting/getAiModelMap.ts
Normal file
@ -0,0 +1,13 @@
|
||||
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 configData = await u
|
||||
.db("t_prompts")
|
||||
.leftJoin("t_aiModelMap", "t_prompts.id", "t_aiModelMap.promptsId")
|
||||
.leftJoin("t_config", "t_config.id", "t_aiModelMap.configId")
|
||||
.select("t_prompts.id as promptsId", "t_prompts.code", "t_prompts.name", "t_config.model", "t_aiModelMap.id");
|
||||
res.status(200).send(success(configData));
|
||||
});
|
||||
@ -1,29 +1,11 @@
|
||||
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({
|
||||
userId: z.number(),
|
||||
}),
|
||||
async (req, res) => {
|
||||
const { userId } = req.body;
|
||||
export default router.post("/", async (req, res) => {
|
||||
const userId = 1;
|
||||
const configData = await u.db("t_config").where("userId", userId).select("*");
|
||||
|
||||
const settingData = await u.db("t_setting").select("*");
|
||||
|
||||
const configData = await u.db("t_config").where("userId", userId).select("*");
|
||||
|
||||
const parsedData = settingData.map((item) => ({
|
||||
...item,
|
||||
imageModel: configData.find((i) => i.type == "image"),
|
||||
languageModel: configData.find((i) => i.type == "text"),
|
||||
videoModel: configData.filter((i) => i.type == "video").filter(Boolean),
|
||||
}));
|
||||
|
||||
res.status(200).send(success(parsedData));
|
||||
},
|
||||
);
|
||||
res.status(200).send(success(configData));
|
||||
});
|
||||
|
||||
@ -1,79 +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({
|
||||
userId: z.number(),
|
||||
imageModel: z.object().optional(),
|
||||
videoModel: z.array(z.object()).optional(),
|
||||
languageModel: z.object().optional(),
|
||||
name: z.string().optional(),
|
||||
password: z.string().optional(),
|
||||
}),
|
||||
async (req, res) => {
|
||||
const { userId, imageModel, videoModel, languageModel, name, password } = req.body;
|
||||
|
||||
await u
|
||||
.db("t_setting")
|
||||
.where("userId", userId)
|
||||
.update({
|
||||
imageModel: JSON.stringify(imageModel),
|
||||
languageModel: JSON.stringify(languageModel),
|
||||
});
|
||||
|
||||
if (videoModel) {
|
||||
await u.db("t_config").where("type", "video").delete();
|
||||
|
||||
for (const item of videoModel) {
|
||||
await u.db("t_config").insert({
|
||||
type: "video",
|
||||
name: item.model,
|
||||
model: item.model,
|
||||
apiKey: item.apiKey,
|
||||
baseUrl: item.baseUrl,
|
||||
createTime: Date.now(),
|
||||
userId,
|
||||
manufacturer: item.manufacturer,
|
||||
});
|
||||
}
|
||||
}
|
||||
if (languageModel) {
|
||||
await u.db("t_config").where("type", "text").delete();
|
||||
await u.db("t_config").insert({
|
||||
type: "text",
|
||||
name: languageModel.model,
|
||||
model: languageModel.model,
|
||||
apiKey: languageModel.apiKey,
|
||||
baseUrl: languageModel.baseUrl,
|
||||
createTime: Date.now(),
|
||||
userId,
|
||||
manufacturer: languageModel.manufacturer,
|
||||
});
|
||||
}
|
||||
if (imageModel) {
|
||||
await u.db("t_config").where("type", "image").delete();
|
||||
await u.db("t_config").insert({
|
||||
type: "image",
|
||||
name: imageModel.model,
|
||||
model: imageModel.model,
|
||||
apiKey: imageModel.apiKey,
|
||||
baseUrl: imageModel.baseUrl,
|
||||
createTime: Date.now(),
|
||||
userId,
|
||||
manufacturer: imageModel.manufacturer,
|
||||
});
|
||||
}
|
||||
await u.db("t_user").where("id", userId).update({
|
||||
name,
|
||||
password,
|
||||
});
|
||||
|
||||
res.status(200).send(success({ message: "修改全局配置成功" }));
|
||||
},
|
||||
);
|
||||
32
src/routes/setting/updeteModel.ts
Normal file
32
src/routes/setting/updeteModel.ts
Normal file
@ -0,0 +1,32 @@
|
||||
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.string(),
|
||||
name: z.string(),
|
||||
model: z.string(),
|
||||
baseUrl: z.string(),
|
||||
apiKey: z.string(),
|
||||
manufacturer: z.string(),
|
||||
}),
|
||||
async (req, res) => {
|
||||
const { id, type, name, model, baseUrl, apiKey, manufacturer } = req.body;
|
||||
|
||||
await u.db("t_config").where("id", id).update({
|
||||
type,
|
||||
name,
|
||||
model,
|
||||
baseUrl,
|
||||
apiKey,
|
||||
manufacturer,
|
||||
});
|
||||
res.status(200).send(success("编辑成功"));
|
||||
},
|
||||
);
|
||||
Loading…
x
Reference in New Issue
Block a user