import axios from ‘axios‘; import MockAdapter from ‘axios-mock-adapter‘; import { LoginUsers, Users } from ‘../mockdata/user‘; let _Users = Users; export default { /** * mock bootstrap */ bootstrap() { let mock = new MockAdapter(axios); // mock success request mock.onGet(‘/success‘).reply(200, { msg: ‘success‘ }); // mock error request mock.onGet(‘/error‘).reply(500, { msg: ‘failure‘ }); //登录 mock.onPost(‘/login‘).reply(config => { let {username, password} = JSON.parse(config.data); return new Promise((resolve, reject) => { let user = null; setTimeout(() => { let hasUser = LoginUsers.some(u => { if (u.username === username && u.password === password) { user = JSON.parse(JSON.stringify(u)); user.password = undefined; return true; } }); if (hasUser) { resolve([200, { code: 200, msg: ‘请求成功‘, user }]); } else { resolve([200, { code: 500, msg: ‘账号或密码错误‘ }]); } }, 500); }); }); //获取用户列表 mock.onGet(‘/user/list‘).reply(config => { let {name} = config.params; let mockUsers = _Users.filter(user => { if (name && user.name.indexOf(name) == -1) return false; return true; }); return new Promise((resolve, reject) => { setTimeout(() => { resolve([200, { users: mockUsers }]); }, 500); }); }); //获取用户列表(分页) mock.onGet(‘/user/listpage‘).reply(config => { let {page, name} = config.params; let mockUsers = _Users.filter(user => { if (name && user.name.indexOf(name) == -1) return false; return true; }); let total = mockUsers.length; mockUsers = mockUsers.filter((u, index) => index < 20 * page && index >= 20 * (page - 1)); return new Promise((resolve, reject) => { setTimeout(() => { resolve([200, { total: total, users: mockUsers }]); }, 500); }); }); //删除用户 mock.onGet(‘/user/remove‘).reply(config => { let { id } = config.params; _Users = _Users.filter(u => u.id !== id); return new Promise((resolve, reject) => { setTimeout(() => { resolve([200, { code: 200, msg: ‘删除成功‘ }]); }, 500); }); }); //编辑用户 mock.onGet(‘/user/edit‘).reply(config => { let { id, name, addr, age, birth, sex } = config.params; _Users.some(u => { if (u.id === id) { u.name = name; u.addr = addr; u.age = age; u.birth = birth; u.sex = sex; return true; } }); return new Promise((resolve, reject) => { setTimeout(() => { resolve([200, { code: 200, msg: ‘编辑成功‘ }]); }, 500); }); }); //新增用户 mock.onGet(‘/user/add‘).reply(config => { let { name, addr, age, birth, sex } = config.params; _Users.push({ name: name, addr: addr, age: age, birth: birth, sex: sex }); return new Promise((resolve, reject) => { setTimeout(() => { resolve([200, { code: 200, msg: ‘新增成功‘ }]); }, 500); }); }); } };
时间: 2024-10-27 05:06:17