index.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  1. const Mock = require("mockjs");
  2. let data = Mock.mock({
  3. "data|100": [
  4. //生成xxx条数据 数组
  5. {
  6. "messageID|+1": 1, //生成id,自增1
  7. messageTitle: "@ctitle(3,7)", //生成消息标题,长度为10个汉字
  8. shopName: "@cname", //生成商品名 , 都是中国人的名字
  9. messageTel: /^1(5|3|7|8)[0-9]{9}$/, //生成随机电话号
  10. messageData: "@date('yyyy-MM-dd')", //生成随机发布时间
  11. shopAddress: "@county(true)", //随机生成地址
  12. "shopStar|1-5": "★", //随机生成1-5个星星
  13. "salesVolume|30-1000": 30, //随机生成商品价格 在30-1000之间
  14. shopLogo: "@Image('100x40','#c33', '#ffffff','小北鼻')", //生成随机图片,大小/背景色/字体颜色/文字信息
  15. "food|2": [
  16. //每个商品中再随机生成2个food
  17. {
  18. foodName: "@cname", //food的名字
  19. foodPic: "@Image('100x40','#c33', '#ffffff','小可爱')", //生成随机图片,大小/背景色/字体颜色/文字信息
  20. "foodPrice|1-100": 20, //生成1-100的随机数
  21. "aname|2": [
  22. {
  23. aname: "@cname",
  24. "aprice|30-60": 20,
  25. },
  26. ],
  27. },
  28. ],
  29. },
  30. ],
  31. });
  32. Mock.mock(/goods\/goodAll/, "post", () => {
  33. //三个参数。第一个:路径,第二个:请求方式post/get,第三个:回调,返回值
  34. return data;
  35. });
  36. // list 分页接口()
  37. Mock.mock("http://localhost:8080/api/list", "post", (params) => {
  38. var info = JSON.parse(params.body);
  39. var [index, size, total] = [info.pageIndex, info.pageSize, dataList.length];
  40. var len = total / size;
  41. var totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  42. var newDataList = dataList.slice(index * size, (index + 1) * size);
  43. return {
  44. code: "0",
  45. message: "success",
  46. data: {
  47. pageIndex: index,
  48. pageSize: size,
  49. rows: newDataList,
  50. total: total,
  51. totalPages: totalPages,
  52. },
  53. };
  54. });
  55. // app用户列表
  56. let usersList = Mock.mock({
  57. "data|100": [
  58. {
  59. "userId|+1": 1, //编号
  60. number: /[A-Z]*[0-9]{10}$/, //账号
  61. name: "@cname", //真实姓名
  62. phoneNumber: /^1(5|3|7|8)[0-9]{9}$/, //手机号
  63. adress: "@csentence", //详细地址
  64. "status|1": ["0", "1"], //状态
  65. registerTime: "@datetime('yyyy-MM-dd HH:mm:ss')", //注册时间
  66. verifiedTime: "@datetime('yyyy-MM-dd HH:mm:ss')", //实名时间
  67. },
  68. ],
  69. });
  70. // 分页获取
  71. Mock.mock("/user/list", "post", (params) => {
  72. let body = JSON.parse(params.body);
  73. let { pageIndex, pageSize, queryParams, dateRange } = body;
  74. let newList = usersList.data;
  75. if (newList.length > 0 && queryParams.userId) {
  76. newList = newList.filter((res) => {
  77. return res.userId == queryParams.userId;
  78. });
  79. }
  80. if (newList.length > 0 && queryParams.phoneNumber) {
  81. newList = newList.filter((res) => {
  82. return res.phoneNumber == queryParams.phoneNumber;
  83. });
  84. }
  85. if (newList.length > 0 && queryParams.status) {
  86. newList = newList.filter((res) => {
  87. return res.status == queryParams.status;
  88. });
  89. }
  90. if (newList.length > 0 && dateRange.length > 0) {
  91. newList = newList.filter((res) => {
  92. return (
  93. res.registerTime >= dateRange[0] && res.registerTime <= dateRange[1]
  94. );
  95. });
  96. }
  97. let total = newList.length;
  98. let len = total / pageSize;
  99. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  100. let newDataList = newList.slice(
  101. (pageIndex - 1) * pageSize,
  102. pageIndex * pageSize
  103. );
  104. return {
  105. code: 200,
  106. message: "success",
  107. data: {
  108. pageIndex,
  109. pageSize,
  110. userList: newDataList,
  111. total,
  112. totalPages: totalPages,
  113. },
  114. };
  115. });
  116. // 公告列表
  117. let noticeList = Mock.mock({
  118. "data|100": [
  119. {
  120. "noticeId|+1": 1, //编号
  121. noticeTitle: "@ctitle", //公告标题
  122. noticeContent: "@cparagraph(20)", //公告内容
  123. createTime: "@datetime('yyyy-MM-dd HH:mm:ss')", //发布时间
  124. },
  125. ],
  126. });
  127. // 分页获取
  128. Mock.mock("/notice/list", "post", (params) => {
  129. let body = JSON.parse(params.body);
  130. let { pageIndex, pageSize, queryParams } = body;
  131. let newList = noticeList.data;
  132. if (newList.length > 0 && queryParams.noticeTitle) {
  133. newList = newList.filter((res) => {
  134. return res.noticeTitle == queryParams.noticeTitle;
  135. });
  136. }
  137. if (newList.length > 0 && queryParams.dateRange.length > 0) {
  138. newList = newList.filter((res) => {
  139. return (
  140. res.createTime >= queryParams.dateRange[0] &&
  141. res.createTime <= queryParams.dateRange[1]
  142. );
  143. });
  144. }
  145. let total = newList.length;
  146. let len = total / pageSize;
  147. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  148. let newDataList = newList.slice(
  149. (pageIndex - 1) * pageSize,
  150. pageIndex * pageSize
  151. );
  152. return {
  153. code: 200,
  154. message: "success",
  155. data: {
  156. pageIndex,
  157. pageSize,
  158. noticeList: newDataList,
  159. total,
  160. totalPages: totalPages,
  161. },
  162. };
  163. });
  164. // 删除公告
  165. Mock.mock("/notice/delete", "post", (params) => {
  166. let body = JSON.parse(params.body);
  167. let { id } = body;
  168. noticeList.data = noticeList.data.filter((res) => {
  169. return res.noticeId != id;
  170. });
  171. return {
  172. code: 200,
  173. message: "success",
  174. };
  175. });
  176. // 订单列表mock数据模拟
  177. let ordersList = Mock.mock({
  178. "data|100": [
  179. {
  180. "oId|+1": 1, //ID
  181. oNumber: /[A-Z]*[0-9]{10}$/, //订单编号
  182. collectionsNumber: "@cname", //藏品套系ID
  183. collectionNumber: /^1(5|3|7|8)[0-9]{9}$/, //藏品ID
  184. number: /[0-9]{10}$/, //账号
  185. oName: "@cname", //名称
  186. buyNumber: /[0-9]{2}$/, // 购买数量
  187. lssuerName: "@cname", // 发行方名称
  188. payTime: "@datetime('yyyy-MM-dd HH:mm:ss')", //支付时间
  189. "orderType|1": ["0", "1"], // 订单类型
  190. },
  191. ],
  192. });
  193. // 订单列表查询,分页功能实现
  194. Mock.mock("/order/list", "post", (params) => {
  195. let body = JSON.parse(params.body);
  196. let { pageIndex, pageSize, queryParams, dateRange } = body;
  197. let newList = ordersList.data;
  198. if (newList.length > 0 && queryParams.number) {
  199. newList = newList.filter((res) => {
  200. return res.number == queryParams.number;
  201. });
  202. }
  203. if (newList.length > 0 && queryParams.oNumber) {
  204. newList = newList.filter((res) => {
  205. return res.oNumber == queryParams.oNumber;
  206. });
  207. }
  208. if (newList.length > 0 && queryParams.oName) {
  209. newList = newList.filter((res) => {
  210. return res.oName == queryParams.oName;
  211. });
  212. }
  213. if (newList.length > 0 && queryParams.lssuerName) {
  214. newList = newList.filter((res) => {
  215. return res.lssuerName == queryParams.lssuerName;
  216. });
  217. }
  218. if (newList.length > 0 && queryParams.collectionsNumber) {
  219. newList = newList.filter((res) => {
  220. return res.collectionsNumber == queryParams.collectionsNumber;
  221. });
  222. }
  223. if (newList.length > 0 && queryParams.collectionNumber) {
  224. newList = newList.filter((res) => {
  225. return res.collectionNumber == queryParams.collectionNumber;
  226. });
  227. }
  228. if (newList.length > 0 && queryParams.orderType) {
  229. newList = newList.filter((res) => {
  230. return res.orderType == queryParams.orderType;
  231. });
  232. }
  233. if (newList.length > 0 && dateRange.length > 0) {
  234. newList = newList.filter((res) => {
  235. return res.payTime >= dateRange[0] && res.payTime <= dateRange[1];
  236. });
  237. }
  238. let total = newList.length;
  239. let len = total / pageSize;
  240. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  241. let newDataList = newList.slice(
  242. (pageIndex - 1) * pageSize,
  243. pageIndex * pageSize
  244. );
  245. return {
  246. code: 200,
  247. message: "success",
  248. data: {
  249. pageIndex,
  250. pageSize,
  251. userList: newDataList,
  252. total,
  253. totalPages: totalPages,
  254. },
  255. };
  256. });
  257. // 订单删除
  258. Mock.mock("/order/delete", "post", (params) => {
  259. let body = JSON.parse(params.body);
  260. let { id } = body;
  261. ordersList.data = ordersList.data.filter((res) => {
  262. return res.oId != id;
  263. });
  264. return {
  265. code: 200,
  266. message: "success",
  267. };
  268. });
  269. // 发行方管理
  270. let issuerList = Mock.mock({
  271. "data|100": [
  272. {
  273. "issuerID|+1": 1, //编号
  274. issuerName: "@ctitle", //发行方名称
  275. contact: "@cname", //联系人
  276. phone: /^1(5|3|7|8)[0-9]{9}$/, //电话号码
  277. email: "@email", //电子邮件
  278. address: "@csentence", //详细地址
  279. remarks: "@cparagraph(10)", //备注
  280. avatar() {
  281. return Mock.Random.image(
  282. "50×50",
  283. Mock.Random.color(),
  284. "#757575",
  285. "png",
  286. this.issuerName
  287. );
  288. },
  289. },
  290. ],
  291. });
  292. // 分页获取
  293. Mock.mock("/issuer/list", "post", (params) => {
  294. let body = JSON.parse(params.body);
  295. let { pageIndex, pageSize, queryParams } = body;
  296. let newList = issuerList.data;
  297. if (newList.length > 0 && queryParams.issuerID) {
  298. newList = newList.filter((res) => {
  299. return res.issuerID == queryParams.issuerID;
  300. });
  301. }
  302. if (newList.length > 0 && queryParams.issuerName) {
  303. newList = newList.filter((res) => {
  304. return res.issuerName == queryParams.issuerName;
  305. });
  306. }
  307. let total = newList.length;
  308. let len = total / pageSize;
  309. let totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len;
  310. let newDataList = newList.slice(
  311. (pageIndex - 1) * pageSize,
  312. pageIndex * pageSize
  313. );
  314. return {
  315. code: 200,
  316. message: "success",
  317. data: {
  318. pageIndex,
  319. pageSize,
  320. issuerList: newDataList,
  321. total,
  322. totalPages: totalPages,
  323. },
  324. };
  325. });
  326. // 删除
  327. Mock.mock("/issuer/delete", "post", (params) => {
  328. let body = JSON.parse(params.body);
  329. let { id } = body;
  330. issuerList.data = issuerList.data.filter((res) => {
  331. return res.issuerID != id;
  332. });
  333. return {
  334. code: 200,
  335. message: "success",
  336. };
  337. });
  338. // 修改
  339. Mock.mock("/issuer/update", "post", (params) => {
  340. let body = JSON.parse(params.body);
  341. let { issuerID, avatar, issuerName } = body;
  342. return {
  343. code: 200,
  344. message: "success",
  345. };
  346. });
  347. // 新增
  348. Mock.mock("/issuer/create", "post", (params) => {
  349. const body = JSON.parse(params.body);
  350. const { name, user, phone, email, address, avatar, remarks } = body;
  351. return {
  352. code: 200,
  353. message: "success",
  354. };
  355. });
  356. // 上传头像
  357. Mock.mock("/upload/avatar", "post", (params) => {
  358. return {
  359. code: 200,
  360. message: "success",
  361. };
  362. });