From b520949520d8307fd71994bd22d878385b8cf64a Mon Sep 17 00:00:00 2001 From: taylor <709161610@qq.com> Date: Wed, 18 Jan 2017 21:39:49 +0800 Subject: [PATCH] add mockjs --- src/api/api.js | 12 +- src/mock/mock.js | 85 +++++++- src/mockdata/user.js | 3 +- src/pages/Login.vue | 27 ++- src/pages/nav1/Table.vue | 421 ++++++++++++++++++--------------------- src/pages/nav1/user.vue | 7 +- 6 files changed, 310 insertions(+), 245 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 13afce3..5d2e1aa 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -2,6 +2,14 @@ import axios from 'axios'; let base = ''; -export const requestLogin = params => { return axios.post(`${ base }/login`, params).then(res => res.data); }; +export const requestLogin = params => { return axios.post(`${base}/login`, params).then(res => res.data); }; -export const getUserList = params => { return axios.get(`${ base }/user/list`, {params: params}); }; \ No newline at end of file +export const getUserList = params => { return axios.get(`${base}/user/list`, { params: params }); }; + +export const getUserListPage = params => { return axios.get(`${base}/user/listpage`, { params: params }); }; + +export const removeUser = params => { return axios.get(`${base}/user/remove`, { params: params }); }; + +export const editUser = params => { return axios.get(`${base}/user/edit`, { params: params }); }; + +export const addUser = params => { return axios.get(`${base}/user/add`, { params: params }); }; \ No newline at end of file diff --git a/src/mock/mock.js b/src/mock/mock.js index f94d415..a134b50 100644 --- a/src/mock/mock.js +++ b/src/mock/mock.js @@ -1,6 +1,7 @@ import axios from 'axios'; import MockAdapter from 'axios-mock-adapter'; import { LoginUsers, Users } from '../mockdata/user'; +let _Users = Users; export default { /** @@ -19,6 +20,7 @@ export default { msg: 'failure' }); + //登录 mock.onPost('/login').reply(config => { let {username, password} = JSON.parse(config.data); return new Promise((resolve, reject) => { @@ -33,17 +35,18 @@ export default { }); if (hasUser) { - resolve([200, { code: 200, msg: '请求成功!!!', user }]); + resolve([200, { code: 200, msg: '请求成功', user }]); } else { - resolve([200, { code: 500, msg: '用户名或密码错误!!!' }]); + resolve([200, { code: 500, msg: '账号或密码错误' }]); } }, 500); }); }); + //获取用户列表 mock.onGet('/user/list').reply(config => { let {name} = config.params; - let mockUsers = Users.filter(user => { + let mockUsers = _Users.filter(user => { if (name && user.name.indexOf(name) == -1) return false; return true; }); @@ -56,5 +59,81 @@ export default { }); }); + //获取用户列表(分页) + 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); + }); + }); + } }; \ No newline at end of file diff --git a/src/mockdata/user.js b/src/mockdata/user.js index 0d613b6..68bdf24 100644 --- a/src/mockdata/user.js +++ b/src/mockdata/user.js @@ -9,9 +9,8 @@ const LoginUsers = [ ]; const Users = []; -const userCount = 8; -for (let i = 0; i < userCount; i++) { +for (let i = 0; i < 86; i++) { Users.push(Mock.mock({ id: Mock.Random.guid(), name: Mock.Random.cname(), diff --git a/src/pages/Login.vue b/src/pages/Login.vue index 1e6c2b6..d40d881 100644 --- a/src/pages/Login.vue +++ b/src/pages/Login.vue @@ -8,15 +8,16 @@ 记住密码 - - 登录 - - - + +登录 + + +