test.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. import Mock from 'mockjs';
  2. import { getUrlParams } from './utils';
  3. let userList = [
  4. {
  5. id: 1,
  6. name: '刘一',
  7. process: 42.2,
  8. endTime: '2019年09月02日',
  9. price: 75.99,
  10. salesRate: 52.2,
  11. salesStatus: 1
  12. },
  13. {
  14. id: 2,
  15. name: '陈二',
  16. process: 35.2,
  17. endTime: '2019年09月05日',
  18. price: 242.1,
  19. salesRate: 72.1,
  20. salesStatus: 1
  21. },
  22. {
  23. id: 3,
  24. name: '张三',
  25. process: 10.2,
  26. endTime: '2019年09月12日',
  27. price: 74.11,
  28. salesRate: 23.9,
  29. salesStatus: 0
  30. },
  31. {
  32. id: 4,
  33. name: '李四',
  34. process: 75.5,
  35. endTime: '2019年09月13日',
  36. price: 276.64,
  37. salesRate: 47.2,
  38. salesStatus: 0
  39. },
  40. {
  41. id: 5,
  42. name: '王五',
  43. process: 25.4,
  44. endTime: '2019年09月18日',
  45. price: 160.23,
  46. salesRate: 28.3,
  47. salesStatus: 1
  48. },
  49. {
  50. id: 6,
  51. name: '赵六',
  52. process: 9.8,
  53. endTime: '2019年09月20日',
  54. price: 219.52,
  55. salesRate: 24.4,
  56. salesStatus: 0
  57. }
  58. ];
  59. Mock.setup({
  60. timeout: '300'
  61. });
  62. Mock.mock(RegExp('/test/page' + '.*'), 'get', req => {
  63. let { page, size, salesStatus = '', keyWord = '', id = '', name = '' } = getUrlParams(req.url);
  64. let list = userList
  65. .filter(e => {
  66. if (salesStatus !== '') {
  67. return e.salesStatus == salesStatus;
  68. }
  69. return e;
  70. })
  71. .filter(e => {
  72. if (id) {
  73. return e.id == id;
  74. }
  75. if (name) {
  76. return e.name.includes(name);
  77. }
  78. if (keyWord) {
  79. return e.id == keyWord || e.name.includes(keyWord);
  80. }
  81. return e;
  82. })
  83. .slice((page - 1) * size, page * size);
  84. let total = list.length;
  85. return {
  86. code: 1000,
  87. data: {
  88. list,
  89. pagination: {
  90. pageSize: size,
  91. total,
  92. current: page
  93. }
  94. }
  95. };
  96. });
  97. Mock.mock(RegExp('/test/info' + '.*'), 'get', req => {
  98. let { id } = getUrlParams(req.url);
  99. return {
  100. code: 1000,
  101. data: userList.find(e => e.id == id)
  102. };
  103. });
  104. Mock.mock(RegExp('/test/update' + '.*'), 'post', req => {
  105. let d = JSON.parse(req.body);
  106. userList = userList.map(e => {
  107. if (e.id == d.id) {
  108. return Object.assign(e, d);
  109. }
  110. return e;
  111. });
  112. return {
  113. code: 1000
  114. };
  115. });
  116. Mock.mock(RegExp('/test/add' + '.*'), 'post', req => {
  117. let d = JSON.parse(req.body);
  118. d.id =
  119. Math.max.apply(
  120. this,
  121. userList.map(e => e.id)
  122. ) + 1;
  123. userList.push(d);
  124. return {
  125. code: 1000
  126. };
  127. });
  128. Mock.mock(RegExp('/test/delete' + '.*'), 'post', req => {
  129. let { ids } = JSON.parse(req.body);
  130. ids = ids.split(',').map(Number);
  131. console.log(ids);
  132. userList = userList.filter(e => !ids.includes(e.id));
  133. return {
  134. code: 1000
  135. };
  136. });