import axios from 'axios';
|
import MockAdapter from 'axios-mock-adapter';
|
import { LoginUsers, Users } from './data/user';
|
import { Course } from './data/course';
|
let _Users = Users;
|
let _Course = Course;
|
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: '账号或密码错误' }]);
|
}
|
}, 1000);
|
});
|
});
|
|
//课程列表
|
// mock.onGet('/course/list').reply(config => {
|
// //let {name} = config.params;
|
// let mockCourses = _Course.filter(course => {
|
// if (name && course.name.indexOf(name) == -1) return false;
|
// return true;
|
// });
|
// return new Promise((resolve, reject) => {
|
// setTimeout(() => {
|
// resolve([200, {
|
// total: total,
|
// courses: mockCourses
|
// }]);
|
// }, 1000);
|
// });
|
// });
|
mock.onGet('/course/list').reply(config => {
|
// console.log(config.params);
|
let {page, name} = config.params;
|
let mockCourses = _Course.filter(course => {
|
if (name && course.name.indexOf(name) == -1) return false;
|
return true;
|
});
|
let total = mockCourses.length;
|
// console.log("total="+total);
|
mockCourses = mockCourses.filter((u, index) => index < 20 * page && index >= 20 * (page - 1));
|
// console.log("mockCourses="+mockCourses);
|
return new Promise((resolve, reject) => {
|
setTimeout(() => {
|
resolve([200, {
|
total: total,
|
courses: mockCourses
|
}]);
|
}, 200);
|
});
|
});
|
//新增课程
|
mock.onPost('/course/add').reply(config => {
|
var data = JSON.parse(config.data);
|
//console.log(data);
|
// console.log(config.data.params);
|
let { name, author, createtime,status } = data.params;
|
_Course.push({
|
name: name,
|
author: author,
|
createtime: createtime,
|
status: status
|
});
|
return new Promise((resolve, reject) => {
|
setTimeout(() => {
|
resolve([200, {
|
code: 200,
|
msg: '新增成功'
|
}]);
|
}, 500);
|
});
|
});
|
//根据id查询课程
|
mock.onGet('/course/get').reply(config => {
|
console.log("fdsfdsfds")
|
console.log(config)
|
|
let { id } = config.params;
|
console.log("id="+id)
|
let mockCourses = _Course.filter(course => {
|
if (id && course.id.indexOf(id) == -1) return false;
|
return true;
|
});
|
let total = mockCourses.length;
|
return new Promise((resolve, reject) => {
|
setTimeout(() => {
|
resolve([200, {
|
total: total,
|
courses: mockCourses
|
}]);
|
}, 200);
|
});
|
});
|
//更新课程
|
mock.onPost('/course/edit').reply(config => {
|
var data = JSON.parse(config.data);
|
//console.log(data);
|
// console.log(config.data.params);
|
let { id,name, author, createtime,status } = data.params;
|
_Course.some(u => {
|
if (u.id === id) {
|
u.name = name;
|
u.author = author;
|
u.createtime = createtime;
|
u.status = status;
|
return true;
|
}
|
});
|
return new Promise((resolve, reject) => {
|
setTimeout(() => {
|
resolve([200, {
|
code: 200,
|
msg: '编辑成功'
|
}]);
|
}, 500);
|
});
|
});
|
//删除课程
|
mock.onGet('/course/del').reply(config => {
|
console.log(config)
|
let { id } = config.params;
|
_Course = _Course.filter(u => u.id !== id);
|
return new Promise((resolve, reject) => {
|
setTimeout(() => {
|
resolve([200, {
|
code: 200,
|
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
|
}]);
|
}, 1000);
|
});
|
});
|
|
//获取用户列表(分页)
|
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
|
}]);
|
}, 1000);
|
});
|
});
|
|
//删除用户
|
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/batchremove').reply(config => {
|
let { ids } = config.params;
|
ids = ids.split(',');
|
_Users = _Users.filter(u => !ids.includes(u.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);
|
});
|
});
|
|
}
|
};
|