const waitTime = (time = 100) => { return new Promise(resolve => { setTimeout(() => { resolve(true) }, time) }) } async function getFakeCaptcha(req, res) { await waitTime(2000) return res.json('captcha-xxx') } // 代码中会兼容本地 service mock 以及部署站点的静态数据 export default { // 支持值为 Object 和 Array // 'GET /api/login/staff': { // code: 0, // data: { // "staffId": "NcDlEdO0O0Oi", // "categoryId": "McTlIdO0O0Oi", // "username": "蔡频", // "categoryTitle": "总部", // "avatar": "/global/avatar/avatar_41", // "qq": "2147422", // "qualifications": "大专" // } // }, // GET POST 可省略 'GET /api/users': [ { key: '1', name: 'John Brown', age: 32, address: 'New York No. 1 Lake Park' }, { key: '2', name: 'Jim Green', age: 42, address: 'London No. 1 Lake Park' }, { key: '3', name: 'Joe Black', age: 32, address: 'Sidney No. 1 Lake Park' } ], 'POST /api/login': async (req, res) => { const { password, username, type } = req.body await waitTime(2000) if (password === '123456' && username === '蔡频') { res.send({ code: 0, data: { token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdGFmZklkIjoiTmNEbEVkTzBPME9pIiwiY2F0ZWdvcnlJZCI6Ik1jVGxJZE8wTzBPaSIsInVzZXJuYW1lIjoiXHU4NTIxXHU5ODkxIiwiY2F0ZWdvcnlUaXRsZSI6Ilx1NjAzYlx1OTBlOCIsImF2YXRhciI6IlwvZ2xvYmFsXC9hdmF0YXJcL2F2YXRhcl80MSIsInFxIjoiMjE0NzQyMiIsInF1YWxpZmljYXRpb25zIjoiXHU1OTI3XHU0ZTEzIiwiYXVkIjoiIiwiZXhwIjoxNjEyODQyNDg3LCJpYXQiOjE2MTI3NTYwODcsImlzcyI6IiIsImp0aSI6IjgyNWRmNTBjNjg3NDQ0ZDJhZDA1ZDNiNzhhOGE0YmVhIiwibmJmIjoxNjEyNzU2MDg3LCJzdWIiOiIifQ.Iexq-ep6YiVM61nEoCDSd72NS-Qh63Ll5vAhlxTgVEo' }, currentAuthority: 'admin' }) return } if (password === 'ant.design' && username === 'user') { res.send({ status: 'ok', type, currentAuthority: 'user' }) return } if (type === 'mobile') { res.send({ status: 'ok', type, currentAuthority: 'admin' }) return } res.send({ status: 'error', type, currentAuthority: 'guest' }) }, 'POST /api/register': (req, res) => { res.send({ status: 'ok', currentAuthority: 'user' }) }, 'GET /api/500': (req, res) => { res.status(500).send({ timestamp: 1513932555104, status: 500, error: 'error', message: 'error', path: '/base/category/list' }) }, 'GET /api/404': (req, res) => { res.status(404).send({ timestamp: 1513932643431, status: 404, error: 'Not Found', message: 'No message available', path: '/base/category/list/2121212' }) }, 'GET /api/403': (req, res) => { res.status(403).send({ timestamp: 1513932555104, status: 403, error: 'Unauthorized', message: 'Unauthorized', path: '/base/category/list' }) }, 'GET /api/401': (req, res) => { res.status(401).send({ timestamp: 1513932555104, status: 401, error: 'Unauthorized', message: 'Unauthorized', path: '/base/category/list' }) }, 'GET /api/login/captcha': getFakeCaptcha }