Files
naive-ui-admin/mock/table/list.ts
ahjung 7a62de39c2 2.0.0
2024-09-14 22:39:11 +08:00

40 lines
1.3 KiB
TypeScript

import { defineMock } from '@alova/mock';
import { faker } from '@faker-js/faker';
import { doCustomTimes, resultSuccess } from '../_util';
import dayjs from 'dayjs';
function tableList(pageSize: number) {
const result: any[] = [];
doCustomTimes(pageSize, () => {
result.push({
id: faker.string.numeric(4),
name: faker.person.firstName(),
sex: faker.person.sexType(),
avatar: `https://picsum.photos/200/200?v=${faker.string.numeric(4)}`,
email: faker.internet.email({ firstName: 'admin' }),
city: faker.location.city(),
status: faker.helpers.arrayElement(['close', 'refuse', 'pass']),
type: faker.helpers.arrayElement(['person', 'company']),
// createDate: faker.helpers.arrayElement(dateStrs),
createDate: dayjs(faker.date.anytime()).format('YYYY-MM-DD HH:mm'),
});
});
return result;
}
export default defineMock({
// 表格数据列表
'/api/table/list': ({ query }) => {
const { page = 1, pageSize = 10, name } = query;
const list = tableList(Number(pageSize));
// 并非真实,只是为了模拟搜索结果
const count = name ? 30 : 60;
return resultSuccess({
page: Number(page),
pageSize: Number(pageSize),
pageCount: count,
itemCount: count * Number(pageSize),
list,
});
},
});