feat: 接口返回数据需要根据多个枚举值动态计算结果渲染(多个枚举值是接口返回,并且不知道具体返回时间)
parent
5782f42db3
commit
b254d008fc
@ -0,0 +1,75 @@
|
|||||||
|
|
||||||
|
// 模拟获取computedWithEnumList页面所需接口
|
||||||
|
import { defineFakeRoute } from 'vite-plugin-fake-server/client';
|
||||||
|
import { faker } from '@faker-js/faker';
|
||||||
|
|
||||||
|
// 模拟后端延迟返回
|
||||||
|
const delay = (ms: number) => new Promise(res => setTimeout(res, ms));
|
||||||
|
|
||||||
|
// 模拟枚举值
|
||||||
|
const enums = {
|
||||||
|
// 性别
|
||||||
|
gender: [
|
||||||
|
{ label: '男', value: 1 },
|
||||||
|
{ label: '女', value: 2 },
|
||||||
|
{ label: '未知', value: 0 },
|
||||||
|
],
|
||||||
|
// 状态
|
||||||
|
status: [
|
||||||
|
{ label: '启用', value: 1 },
|
||||||
|
{ label: '禁用', value: 0 },
|
||||||
|
],
|
||||||
|
// 角色
|
||||||
|
role: [
|
||||||
|
{ label: '管理员', value: 'admin' },
|
||||||
|
{ label: '普通用户', value: 'common' },
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
export default defineFakeRoute([
|
||||||
|
{
|
||||||
|
url: '/computed-with-enum-list/get-page-info',
|
||||||
|
method: 'post',
|
||||||
|
response: async ({ body }) => {
|
||||||
|
// 模拟延迟
|
||||||
|
await delay(faker.number.int({ min: 200, max: 500 }));
|
||||||
|
|
||||||
|
const list = [];
|
||||||
|
for (let i = 0; i < body.pageSize; i++) {
|
||||||
|
list.push({
|
||||||
|
id: faker.string.uuid(),
|
||||||
|
name: faker.person.fullName(),
|
||||||
|
gender: faker.helpers.arrayElement([0, 1, 2]),
|
||||||
|
status: faker.helpers.arrayElement([0, 1]),
|
||||||
|
role: faker.helpers.arrayElement(['admin', 'common']),
|
||||||
|
createTime: faker.date.past(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
success: true,
|
||||||
|
code: 200,
|
||||||
|
data: {
|
||||||
|
list,
|
||||||
|
total: 100,
|
||||||
|
pageSize: body.pageSize,
|
||||||
|
pageNumber: body.pageNumber,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: '/computed-with-enum-list/get-enum-list',
|
||||||
|
method: 'get',
|
||||||
|
response: async ({ query }) => {
|
||||||
|
// 模拟超长延迟
|
||||||
|
await delay(faker.number.int({ min: 1000, max: 5000 }));
|
||||||
|
const type = query.type as keyof typeof enums;
|
||||||
|
return {
|
||||||
|
success: true,
|
||||||
|
code: 200,
|
||||||
|
data: enums[type] || [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]);
|
||||||
Loading…
Reference in New Issue