添加供应商增加报错提示
This commit is contained in:
parent
edc1c4cfbe
commit
02cbc7bea2
@ -1,4 +1,5 @@
|
||||
import express from "express";
|
||||
import { serializeError } from "serialize-error";
|
||||
import { success, error } from "@/lib/responseFormat";
|
||||
import { validateFields } from "@/middleware/middleware";
|
||||
import u from "@/utils";
|
||||
@ -70,30 +71,35 @@ export default router.post(
|
||||
tsCode: z.string(),
|
||||
}),
|
||||
async (req, res) => {
|
||||
const { tsCode } = req.body;
|
||||
const jsCode = transform(tsCode, { transforms: ["typescript"] }).code;
|
||||
const exports = u.vm(jsCode);
|
||||
if (!exports) return res.status(400).send(success("脚本文件必须导出对象"));
|
||||
if (!exports.textRequest) return res.status(400).send(success("脚本文件必须导出文本请求对象"));
|
||||
if (!exports.imageRequest) return res.status(400).send(success("脚本文件必须导出图像请求对象"));
|
||||
if (!exports.videoRequest) return res.status(400).send(success("脚本文件必须导出视频请求对象"));
|
||||
if (!exports.vendor) return res.status(400).send(success("脚本文件必须导出vendor对象"));
|
||||
const vendor = exports.vendor;
|
||||
const result = vendorConfigSchema.safeParse(vendor);
|
||||
if (!result.success) {
|
||||
const errorMsg = result.error.issues.map((e) => `${e.path.join(".")}: ${e.message}`).join("; ");
|
||||
return res.status(400).send(error(`vendor配置校验失败: ${errorMsg}`));
|
||||
try {
|
||||
const { tsCode } = req.body;
|
||||
const jsCode = transform(tsCode, { transforms: ["typescript"] }).code;
|
||||
const exports = u.vm(jsCode);
|
||||
if (!exports) return res.status(400).send(success("脚本文件必须导出对象"));
|
||||
if (!exports.textRequest) return res.status(400).send(success("脚本文件必须导出文本请求对象"));
|
||||
if (!exports.imageRequest) return res.status(400).send(success("脚本文件必须导出图像请求对象"));
|
||||
if (!exports.videoRequest) return res.status(400).send(success("脚本文件必须导出视频请求对象"));
|
||||
if (!exports.vendor) return res.status(400).send(success("脚本文件必须导出vendor对象"));
|
||||
const vendor = exports.vendor;
|
||||
const result = vendorConfigSchema.safeParse(vendor);
|
||||
if (!result.success) {
|
||||
const errorMsg = result.error.issues.map((e) => `${e.path.join(".")}: ${e.message}`).join("; ");
|
||||
return res.status(400).send(error(`vendor配置校验失败: ${errorMsg}`));
|
||||
}
|
||||
await u.db("o_vendorConfig").insert({
|
||||
name: vendor.name,
|
||||
version: vendor.version.toString(),
|
||||
icon: vendor.icon || "",
|
||||
inputs: JSON.stringify(vendor.inputs),
|
||||
inputValues: JSON.stringify(vendor.inputValues),
|
||||
models: JSON.stringify(vendor.models),
|
||||
code: tsCode,
|
||||
createTime: Date.now(),
|
||||
});
|
||||
res.status(200).send(success(result.data));
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
res.status(400).send(error(serializeError(err).message || "未知错误"));
|
||||
}
|
||||
await u.db("o_vendorConfig").insert({
|
||||
name: vendor.name,
|
||||
version: vendor.version.toString(),
|
||||
icon: vendor.icon || "",
|
||||
inputs: JSON.stringify(vendor.inputs),
|
||||
inputValues: JSON.stringify(vendor.inputValues),
|
||||
models: JSON.stringify(vendor.models),
|
||||
code: tsCode,
|
||||
createTime: Date.now(),
|
||||
});
|
||||
res.status(200).send(success(result.data));
|
||||
},
|
||||
);
|
||||
|
||||
4
src/types/database.d.ts
vendored
4
src/types/database.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
// @db-hash 5ea1f1cf9926d08390093d10da66e6ae
|
||||
// @db-hash b6146b9f91d8b9853e0f6fcb41c3145b
|
||||
//该文件由脚本自动生成,请勿手动修改
|
||||
|
||||
export interface memories {
|
||||
@ -88,6 +88,8 @@ export interface o_novel {
|
||||
'chapterData'?: string | null;
|
||||
'chapterIndex'?: number | null;
|
||||
'createTime'?: number | null;
|
||||
'event'?: string | null;
|
||||
'eventState'?: number | null;
|
||||
'id'?: number;
|
||||
'projectId'?: number | null;
|
||||
'reel'?: string | null;
|
||||
|
||||
@ -25,7 +25,6 @@ export default function runCode(code: string) {
|
||||
createOpenAICompatible,
|
||||
createXai,
|
||||
createGoogleGenerativeAI,
|
||||
|
||||
zipImage,
|
||||
zipImageResolution,
|
||||
urlToBase64,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user