You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.8 KiB
TypeScript

/*
* @Author: donghao donghao@supervision.ltd
* @Date: 2024-04-11 14:13:34
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-05-06 13:55:01
* @FilePath: \general-ai-manage\mock\model.ts
* @Description: mock 模型 api
*/
/**模型管理模块 mock */
import {
mockGetGroupBaseModelListData,
mockGetModelListData,
mockGetModelRuntimeLibFilesListData,
mockGetModelRuntimeLibListData,
mockGetModelVersionListData,
} from './pools/modelData';
import { successMockApiProps } from './typing';
import { fetchCurrPageByList, fetchMockSuccessFullByOther } from './utils/apiMock';
export default {
// 模型列表分页
'GET /api/model/list': async (req: Request, res: Response) => {
// get 使用 query 读取参数
const { pageNo, pageSize } = req.query;
const resData: successMockApiProps = {
...fetchCurrPageByList({
...mockGetModelListData,
data: { ...mockGetModelListData.data, pageNo, pageSize: pageSize || 10 },
}),
};
res.json(resData);
},
// 模型详情
'GET /api/model/detail': async (req: Request, res: Response) => {
// get 使用 query 读取参数
const { id } = req.query;
let finalData = {};
mockGetModelListData.data.data.forEach((item) => {
if (item.id === Number(id)) {
finalData = item;
// break;
}
});
const resData: successMockApiProps = fetchMockSuccessFullByOther({
data: finalData,
});
res.json(resData);
},
// 模型版本列表
'GET /api/model/versions/list': async (req: Request, res: Response) => {
// get 使用 query 读取参数
const { pageNo, pageSize } = req.query;
const resData: successMockApiProps = {
...fetchCurrPageByList({
...mockGetModelVersionListData,
data: { ...mockGetModelVersionListData.data, pageNo, pageSize: pageSize || 10 },
}),
};
res.json(resData);
},
// 模型运行库列表分页
'GET /api/model/runtimeLib/list': async (req: Request, res: Response) => {
// get 使用 query 读取参数
const { pageNo, pageSize } = req.query;
const resData: successMockApiProps = {
...fetchCurrPageByList({
...mockGetModelRuntimeLibListData,
data: { ...mockGetModelRuntimeLibListData.data, pageNo, pageSize: pageSize || 10 },
}),
};
res.json(resData);
},
// 模型运行库文件列表
'GET /api/model/runtimeLib/filesList': async (req: Request, res: Response) => {
const resData: successMockApiProps = fetchMockSuccessFullByOther(
mockGetModelRuntimeLibFilesListData,
);
res.json(resData);
},
// 节点下基础模型列表
'GET /api/model/groupBaseModel/list': async (req: Request, res: Response) => {
const resData: successMockApiProps = fetchMockSuccessFullByOther(mockGetGroupBaseModelListData);
res.json(resData);
},
};