index.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. const Mock = require("mockjs");
  2. let data = Mock.mock({
  3. "data|100": [ //生成xxx条数据 数组
  4. {
  5. "messageID|+1": 1,//生成id,自增1
  6. "messageTitle": "@ctitle(3,7)", //生成消息标题,长度为10个汉字
  7. "shopName": "@cname",//生成商品名 , 都是中国人的名字
  8. "messageTel": /^1(5|3|7|8)[0-9]{9}$/,//生成随机电话号
  9. "messageData":"@date('yyyy-MM-dd')",//生成随机发布时间
  10. "shopAddress": "@county(true)", //随机生成地址
  11. "shopStar|1-5": "★", //随机生成1-5个星星
  12. "salesVolume|30-1000": 30, //随机生成商品价格 在30-1000之间
  13. "shopLogo": "@Image('100x40','#c33', '#ffffff','小北鼻')", //生成随机图片,大小/背景色/字体颜色/文字信息
  14. "food|2": [ //每个商品中再随机生成2个food
  15. {
  16. "foodName": "@cname", //food的名字
  17. "foodPic": "@Image('100x40','#c33', '#ffffff','小可爱')",//生成随机图片,大小/背景色/字体颜色/文字信息
  18. "foodPrice|1-100": 20,//生成1-100的随机数
  19. "aname|2": [
  20. {
  21. "aname": "@cname",
  22. "aprice|30-60": 20
  23. }
  24. ]
  25. }
  26. ]
  27. }
  28. ]
  29. })
  30. Mock.mock(/goods\/goodAll/, 'post', () => { //三个参数。第一个:路径,第二个:请求方式post/get,第三个:回调,返回值
  31. return data
  32. })
  33. // list 分页接口()
  34. Mock.mock('http://localhost:8080/api/list', 'post', (params) => {
  35. var info = JSON.parse(params.body)
  36. var [index, size, total] = [info.pageIndex, info.pageSize, dataList.length]
  37. var len = total / size
  38. var totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len
  39. var newDataList = dataList.slice(index * size, (index + 1) * size)
  40. return {
  41. 'code': '0',
  42. 'message': 'success',
  43. 'data': {
  44. 'pageIndex': index,
  45. 'pageSize': size,
  46. 'rows': newDataList,
  47. 'total': total,
  48. 'totalPages': totalPages
  49. }
  50. }
  51. })
  52. // app用户列表 分页获取
  53. let usersList = Mock.mock({
  54. "data|100":[{
  55. "userId|+1": 1,//编号
  56. "number": /[A-Z]*[0-9]{10}$/,//账号
  57. "name":"@cname",//真实姓名
  58. "phoneNumber":/^1(5|3|7|8)[0-9]{9}$/,//手机号
  59. "adress":"@csentence",//详细地址
  60. "status|1":["0","1"],//状态
  61. "registerTime":"@datetime('yyyy-MM-dd HH:mm:ss')",//注册时间
  62. "verifiedTime":"@datetime('yyyy-MM-dd HH:mm:ss')"//实名时间
  63. }
  64. ]
  65. })
  66. Mock.mock('/user/list', 'post', (params) => {
  67. let body = JSON.parse(params.body);
  68. let { pageIndex, pageSize } = body
  69. let total = usersList.data.length;
  70. let len = total / pageSize;
  71. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  72. let newDataList = usersList.data.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);
  73. return {
  74. code: 200,
  75. message: 'success',
  76. data: {
  77. pageIndex,
  78. pageSize,
  79. userList: newDataList,
  80. total,
  81. totalPages: totalPages,
  82. }
  83. }
  84. })
  85. // 公告列表
  86. let noticeList = Mock.mock({
  87. "data|100":[{
  88. "noticeId|+1": 1,//编号
  89. "noticeTitle":"@ctitle",//公告标题
  90. "noticeContent":"@cparagraph(20)",//公告内容
  91. "createTime":"@datetime('yyyy-MM-dd HH:mm:ss')",//发布时间
  92. }
  93. ]
  94. })
  95. // 分页获取
  96. Mock.mock('/notice/list', 'post', (params) => {
  97. let body = JSON.parse(params.body);
  98. let { pageIndex, pageSize } = body
  99. let total = noticeList.data.length;
  100. let len = total / pageSize;
  101. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  102. let newDataList = noticeList.data.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);
  103. return {
  104. code: 200,
  105. message: 'success',
  106. data: {
  107. pageIndex,
  108. pageSize,
  109. noticeList: newDataList,
  110. total,
  111. totalPages: totalPages,
  112. }
  113. }
  114. });
  115. // 删除公告
  116. Mock.mock('/notice/delete', 'post', (params) => {
  117. let body = JSON.parse(params.body);
  118. let { id } = body
  119. noticeList.data = noticeList.data.filter( (res)=>{
  120. return res.noticeId!=id;
  121. });
  122. return {
  123. code: 200,
  124. message: 'success',
  125. }
  126. })