diff --git a/src/routes/modelSelect/getModelList.ts b/src/routes/modelSelect/getModelList.ts index 5e4fa8e..e0a9687 100644 --- a/src/routes/modelSelect/getModelList.ts +++ b/src/routes/modelSelect/getModelList.ts @@ -12,32 +12,24 @@ export default router.post( }), async (req, res) => { const { type } = req.body; - const data = await u.db("o_vendorConfig").select("id", "models", "name").first(); - if (!data) { + const dataList = await u.db("o_vendorConfig").select("id", "models", "name"); + if (!dataList || dataList.length === 0) { return res.status(404).send({ error: "模型未找到" }); } - const models = JSON.parse(data.models!); - if (type === "all") { - const allData = models - .filter((item: { type: string }) => item.type !== "video") - .map((item: { name: string; modelName: string; type: string }) => ({ - id: data.id, - label: item.name, - value: item.modelName, - type: item.type, - name: data.name, - })); - return res.status(200).send(success(allData)); - } - const filteredData = models - .filter((item: { type: string }) => item.type === type) - .map((item: { name: string; modelName: string; type: string }) => ({ + const result = dataList.flatMap((data) => { + const models = JSON.parse(data.models!); + const filtered = + type === "all" + ? models.filter((item: { type: string }) => item.type !== "video") + : models.filter((item: { type: string }) => item.type === type); + return filtered.map((item: { name: string; modelName: string; type: string }) => ({ id: data.id, label: item.name, value: item.modelName, type: item.type, name: data.name, })); - res.status(200).send(success(filteredData)); + }); + res.status(200).send(success(result)); }, );