跳板机管理web端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
3.5 KiB

8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
  1. import axios from 'axios';
  2. import MockAdapter from 'axios-mock-adapter';
  3. import { LoginUsers, Users } from '../mockdata/user';
  4. let _Users = Users;
  5. export default {
  6. /**
  7. * mock bootstrap
  8. */
  9. bootstrap() {
  10. let mock = new MockAdapter(axios);
  11. // mock success request
  12. mock.onGet('/success').reply(200, {
  13. msg: 'success'
  14. });
  15. // mock error request
  16. mock.onGet('/error').reply(500, {
  17. msg: 'failure'
  18. });
  19. //登录
  20. mock.onPost('/login').reply(config => {
  21. let {username, password} = JSON.parse(config.data);
  22. return new Promise((resolve, reject) => {
  23. let user = null;
  24. setTimeout(() => {
  25. let hasUser = LoginUsers.some(u => {
  26. if (u.username === username && u.password === password) {
  27. user = JSON.parse(JSON.stringify(u));
  28. user.password = undefined;
  29. return true;
  30. }
  31. });
  32. if (hasUser) {
  33. resolve([200, { code: 200, msg: '请求成功', user }]);
  34. } else {
  35. resolve([200, { code: 500, msg: '账号或密码错误' }]);
  36. }
  37. }, 500);
  38. });
  39. });
  40. //获取用户列表
  41. mock.onGet('/user/list').reply(config => {
  42. let {name} = config.params;
  43. let mockUsers = _Users.filter(user => {
  44. if (name && user.name.indexOf(name) == -1) return false;
  45. return true;
  46. });
  47. return new Promise((resolve, reject) => {
  48. setTimeout(() => {
  49. resolve([200, {
  50. users: mockUsers
  51. }]);
  52. }, 500);
  53. });
  54. });
  55. //获取用户列表(分页)
  56. mock.onGet('/user/listpage').reply(config => {
  57. let {page, name} = config.params;
  58. let mockUsers = _Users.filter(user => {
  59. if (name && user.name.indexOf(name) == -1) return false;
  60. return true;
  61. });
  62. let total = mockUsers.length;
  63. mockUsers = mockUsers.filter((u, index) => index < 20 * page && index >= 20 * (page - 1));
  64. return new Promise((resolve, reject) => {
  65. setTimeout(() => {
  66. resolve([200, {
  67. total: total,
  68. users: mockUsers
  69. }]);
  70. }, 500);
  71. });
  72. });
  73. //删除用户
  74. mock.onGet('/user/remove').reply(config => {
  75. let { id } = config.params;
  76. _Users = _Users.filter(u => u.id !== id);
  77. return new Promise((resolve, reject) => {
  78. setTimeout(() => {
  79. resolve([200, {
  80. code: 200,
  81. msg: '删除成功'
  82. }]);
  83. }, 500);
  84. });
  85. });
  86. //编辑用户
  87. mock.onGet('/user/edit').reply(config => {
  88. let { id, name, addr, age, birth, sex } = config.params;
  89. _Users.some(u => {
  90. if (u.id === id) {
  91. u.name = name;
  92. u.addr = addr;
  93. u.age = age;
  94. u.birth = birth;
  95. u.sex = sex;
  96. return true;
  97. }
  98. });
  99. return new Promise((resolve, reject) => {
  100. setTimeout(() => {
  101. resolve([200, {
  102. code: 200,
  103. msg: '编辑成功'
  104. }]);
  105. }, 500);
  106. });
  107. });
  108. //新增用户
  109. mock.onGet('/user/add').reply(config => {
  110. let { name, addr, age, birth, sex } = config.params;
  111. _Users.push({
  112. name: name,
  113. addr: addr,
  114. age: age,
  115. birth: birth,
  116. sex: sex
  117. });
  118. return new Promise((resolve, reject) => {
  119. setTimeout(() => {
  120. resolve([200, {
  121. code: 200,
  122. msg: '新增成功'
  123. }]);
  124. }, 500);
  125. });
  126. });
  127. }
  128. };