首页 > 代码库 > 分享一个vueui axios-mock-adapter 中的用法
分享一个vueui axios-mock-adapter 中的用法
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); }); }); } };
分享一个vueui axios-mock-adapter 中的用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。