index.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  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. // 分页获取
  67. Mock.mock('/user/list', 'post', (params) => {
  68. let body = JSON.parse(params.body);
  69. let { pageIndex, pageSize, queryParams, dateRange } = body;
  70. let newList = usersList.data;
  71. if (newList.length > 0 && queryParams.userId) {
  72. newList = newList.filter((res) => {
  73. return res.userId == queryParams.userId;
  74. });
  75. }
  76. if (newList.length > 0 && queryParams.phoneNumber) {
  77. newList = newList.filter((res) => {
  78. return res.phoneNumber == queryParams.phoneNumber;
  79. });
  80. }
  81. if (newList.length > 0 && queryParams.status) {
  82. newList = newList.filter((res) => {
  83. return res.status == queryParams.status;
  84. });
  85. }
  86. if (newList.length > 0 && dateRange.length > 0) {
  87. newList = newList.filter((res) => {
  88. return res.registerTime >= dateRange[0] && res.registerTime <= dateRange[1];
  89. });
  90. }
  91. let total = newList.length;
  92. let len = total / pageSize;
  93. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  94. let newDataList = newList.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);
  95. return {
  96. code: 200,
  97. message: 'success',
  98. data: {
  99. pageIndex,
  100. pageSize,
  101. userList: newDataList,
  102. total,
  103. totalPages: totalPages,
  104. }
  105. }
  106. })
  107. // 公告列表
  108. let noticeList = Mock.mock({
  109. "data|100": [{
  110. "noticeId|+1": 1,//编号
  111. "noticeTitle": "@ctitle",//公告标题
  112. "noticeContent": "@cparagraph(20)",//公告内容
  113. "createTime": "@datetime('yyyy-MM-dd HH:mm:ss')",//发布时间
  114. }
  115. ]
  116. })
  117. // 分页获取
  118. Mock.mock('/notice/list', 'post', (params) => {
  119. let body = JSON.parse(params.body);
  120. let { pageIndex, pageSize, queryParams } = body
  121. let newList = noticeList.data;
  122. if (newList.length > 0 && queryParams.noticeTitle) {
  123. newList = newList.filter((res) => {
  124. return res.noticeTitle == queryParams.noticeTitle;
  125. });
  126. }
  127. if (newList.length > 0 && queryParams.dateRange.length > 0) {
  128. newList = newList.filter((res) => {
  129. return res.createTime >= queryParams.dateRange[0] && res.createTime <= queryParams.dateRange[1];
  130. });
  131. }
  132. let total = newList.length;
  133. let len = total / pageSize;
  134. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  135. let newDataList = newList.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);
  136. return {
  137. code: 200,
  138. message: 'success',
  139. data: {
  140. pageIndex,
  141. pageSize,
  142. noticeList: newDataList,
  143. total,
  144. totalPages: totalPages,
  145. }
  146. }
  147. });
  148. // 删除公告
  149. Mock.mock('/notice/delete', 'post', (params) => {
  150. let body = JSON.parse(params.body);
  151. let { id } = body
  152. noticeList.data = noticeList.data.filter((res) => {
  153. return res.noticeId != id;
  154. });
  155. return {
  156. code: 200,
  157. message: 'success',
  158. }
  159. })
  160. // 订单列表mock数据模拟
  161. let ordersList = Mock.mock({
  162. "data|100": [{
  163. "oId|+1": 1,//ID
  164. "oNumber": /[A-Z]*[0-9]{10}$/,//订单编号
  165. "collectionsNumber": "@cname",//藏品套系ID
  166. "collectionNumber": /^1(5|3|7|8)[0-9]{9}$/,//藏品ID
  167. "number": /[0-9]{10}$/,//账号
  168. "oName": "@cname",//名称
  169. "buyNumber": /[0-9]{2}$/,// 购买数量
  170. "lssuerName": "@cname",// 发行方名称
  171. "payTime": "@datetime('yyyy-MM-dd HH:mm:ss')",//支付时间
  172. "orderType|1": ["0", "1"],// 订单类型
  173. }
  174. ]
  175. })
  176. // 订单列表查询,分页功能实现
  177. Mock.mock('/order/list', 'post', (params) => {
  178. let body = JSON.parse(params.body);
  179. let { pageIndex, pageSize, queryParams, dateRange } = body;
  180. let newList = ordersList.data;
  181. if (newList.length > 0 && queryParams.number) {
  182. newList = newList.filter((res) => {
  183. return res.number == queryParams.number;
  184. });
  185. }
  186. if (newList.length > 0 && queryParams.oNumber) {
  187. newList = newList.filter((res) => {
  188. return res.oNumber == queryParams.oNumber;
  189. });
  190. }
  191. if (newList.length > 0 && queryParams.oName) {
  192. newList = newList.filter((res) => {
  193. return res.oName == queryParams.oName;
  194. });
  195. }
  196. if (newList.length > 0 && queryParams.lssuerName) {
  197. newList = newList.filter((res) => {
  198. return res.lssuerName == queryParams.lssuerName;
  199. });
  200. }
  201. if (newList.length > 0 && queryParams.collectionsNumber) {
  202. newList = newList.filter((res) => {
  203. return res.collectionsNumber == queryParams.collectionsNumber;
  204. });
  205. }
  206. if (newList.length > 0 && queryParams.collectionNumber) {
  207. newList = newList.filter((res) => {
  208. return res.collectionNumber == queryParams.collectionNumber;
  209. });
  210. }
  211. if (newList.length > 0 && queryParams.orderType) {
  212. newList = newList.filter((res) => {
  213. return res.orderType == queryParams.orderType;
  214. });
  215. }
  216. if (newList.length > 0 && dateRange.length > 0) {
  217. newList = newList.filter((res) => {
  218. return res.payTime >= dateRange[0] && res.payTime <= dateRange[1];
  219. });
  220. }
  221. let total = newList.length;
  222. let len = total / pageSize;
  223. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  224. let newDataList = newList.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);
  225. return {
  226. code: 200,
  227. message: 'success',
  228. data: {
  229. pageIndex,
  230. pageSize,
  231. userList: newDataList,
  232. total,
  233. totalPages: totalPages,
  234. }
  235. }
  236. })
  237. // 订单删除
  238. Mock.mock('/order/delete', 'post', (params) => {
  239. let body = JSON.parse(params.body);
  240. let { id } = body
  241. ordersList.data = ordersList.data.filter((res) => {
  242. return res.oId != id;
  243. });
  244. return {
  245. code: 200,
  246. message: 'success',
  247. }
  248. })
  249. // 发行方管理
  250. let issuerList = Mock.mock({
  251. "data|100": [{
  252. "issuerID|+1": 1,//编号
  253. "issuerName": "@ctitle",//发行方名称
  254. "contact":"@cname", //联系人
  255. "phone":/^1(5|3|7|8)[0-9]{9}$/, //电话号码
  256. "email":"@email", //电子邮件
  257. "address":"@csentence", //详细地址
  258. "remarks":"@cparagraph(10)", //备注
  259. avatar() {
  260. return Mock.Random.image('50×50',Mock.Random.color(),'#757575','png',this.issuerName)
  261. }
  262. }]
  263. })
  264. // 分页获取
  265. Mock.mock('/issuer/list', 'post', (params)=>{
  266. let body = JSON.parse(params.body);
  267. let { pageIndex, pageSize, queryParams } = body
  268. let newList = issuerList.data;
  269. if (newList.length > 0 && queryParams.issuerID) {
  270. newList = newList.filter((res) => {
  271. return res.issuerID == queryParams.issuerID;
  272. });
  273. }
  274. if (newList.length > 0 && queryParams.issuerName) {
  275. newList = newList.filter((res) => {
  276. return res.issuerName == queryParams.issuerName;
  277. });
  278. }
  279. let total = newList.length;
  280. let len = total / pageSize;
  281. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  282. let newDataList = newList.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);
  283. return {
  284. code: 200,
  285. message: 'success',
  286. data: {
  287. pageIndex,
  288. pageSize,
  289. issuerList: newDataList,
  290. total,
  291. totalPages: totalPages,
  292. }
  293. }
  294. })
  295. // 删除
  296. Mock.mock('/issuer/delete', 'post', (params)=>{
  297. let body = JSON.parse(params.body);
  298. let { id } = body;
  299. issuerList.data = issuerList.data.filter((res) => {
  300. return res.issuerID != id;
  301. });
  302. return {
  303. code: 200,
  304. message: 'success',
  305. }
  306. });
  307. // 修改
  308. Mock.mock('/issuer/update', 'post', (params)=>{
  309. let body = JSON.parse(params.body);
  310. let { issuerID,avatar,issuerName } = body;
  311. return {
  312. code: 200,
  313. message: 'success',
  314. }
  315. });