// 模拟获取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] || [], }; }, }, ]);