123 lines
3.0 KiB
TypeScript
123 lines
3.0 KiB
TypeScript
import { MockRequest } from '@delon/mock';
|
||
|
||
const list: any[] = [];
|
||
const total = 50;
|
||
|
||
for (let i = 0; i < total; i += 1) {
|
||
list.push({
|
||
id: i + 1,
|
||
disabled: i % 6 === 0,
|
||
href: 'https://ant.design',
|
||
avatar: [
|
||
'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png',
|
||
'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png'
|
||
][i % 2],
|
||
no: `TradeCode ${i}`,
|
||
title: `一个任务名称 ${i}`,
|
||
owner: '曲丽丽',
|
||
description: '这是一段描述',
|
||
callNo: Math.floor(Math.random() * 1000),
|
||
status: Math.floor(Math.random() * 10) % 4,
|
||
updatedAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`),
|
||
createdAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`),
|
||
progress: Math.ceil(Math.random() * 100)
|
||
});
|
||
}
|
||
|
||
function genData(params: any): { total: number; list: any[] } {
|
||
let ret = [...list];
|
||
const pi = +params.pi;
|
||
const ps = +params.ps;
|
||
const start = (pi - 1) * ps;
|
||
|
||
if (params.no) {
|
||
ret = ret.filter(data => data.no.indexOf(params.no) > -1);
|
||
}
|
||
|
||
return { total: ret.length, list: ret.slice(start, ps * pi) };
|
||
}
|
||
|
||
function saveData(id: number, value: any): { msg: string } {
|
||
const item = list.find(w => w.id === id);
|
||
if (!item) {
|
||
return { msg: '无效用户信息' };
|
||
}
|
||
Object.assign(item, value);
|
||
return { msg: 'ok' };
|
||
}
|
||
|
||
export const USERS = {
|
||
'/user': (req: MockRequest) => genData(req.queryString),
|
||
'/user/:id': (req: MockRequest) => list.find(w => w.id === +req.params.id),
|
||
'POST /user/:id': (req: MockRequest) => saveData(+req.params.id, req.body),
|
||
'/user/current': {
|
||
name: 'IoTGateway',
|
||
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png',
|
||
userid: '00000001',
|
||
email: '535915157@qq.com',
|
||
signature: '海纳百川,有容乃大',
|
||
title: '交互专家',
|
||
group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED',
|
||
tags: [
|
||
{
|
||
key: '0',
|
||
label: '很有想法的'
|
||
},
|
||
{
|
||
key: '1',
|
||
label: '专注撩妹'
|
||
},
|
||
{
|
||
key: '2',
|
||
label: '帅~'
|
||
},
|
||
{
|
||
key: '3',
|
||
label: '通吃'
|
||
},
|
||
{
|
||
key: '4',
|
||
label: '专职后端'
|
||
},
|
||
{
|
||
key: '5',
|
||
label: '海纳百川'
|
||
}
|
||
],
|
||
notifyCount: 12,
|
||
country: 'China',
|
||
geographic: {
|
||
province: {
|
||
label: '上海',
|
||
key: '330000'
|
||
},
|
||
city: {
|
||
label: '市辖区',
|
||
key: '330100'
|
||
}
|
||
},
|
||
address: 'XX区XXX路 XX 号',
|
||
phone: '你猜-你猜你猜猜猜'
|
||
},
|
||
'POST /user/avatar': 'ok',
|
||
'POST /login/account': (req: MockRequest) => {
|
||
const data = req.body;
|
||
if (!(data.userName === 'admin') || data.password !== '000000') {
|
||
return { msg: `Invalid username or password(admin/000000)` };
|
||
}
|
||
return {
|
||
msg: 'ok',
|
||
user: {
|
||
token: '123456789',
|
||
name: data.userName,
|
||
email: `535915157@qq.com`,
|
||
id: 10000,
|
||
time: +new Date()
|
||
}
|
||
};
|
||
},
|
||
'POST /register': {
|
||
msg: 'ok'
|
||
}
|
||
};
|