goodsManagement.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { MockMethod } from 'vite-plugin-mock'
  2. import { handleRandomImage } from '../utils/index.ts'
  3. const List = <any>[]
  4. const count = 50
  5. for (let i = 0; i < count; i++) {
  6. List.push({
  7. uuid: '@uuid',
  8. id: '@id',
  9. title: '@ctitle(5, 10)',
  10. description: '@ctitle(10, 20)',
  11. name: '@ctitle(3, 6)',
  12. 'type|1': ['视频饮料', '家用电器', '其他'],
  13. price: '¥' + '@integer(0,100)',
  14. sales: '@integer(0,100)',
  15. stock: '@integer(0,100)',
  16. 'status|1': ['已上架', '已下架', '待上架'],
  17. datetime: '@datetime',
  18. image: handleRandomImage(),
  19. link: 'https://www.baidu.com',
  20. 'isRecommend|1': [1, 0],
  21. })
  22. }
  23. export default [
  24. {
  25. url: '/goodsManagement/getList',
  26. method: 'get',
  27. response({ query }: any) {
  28. const { name, pageNo = 1, pageSize = 20 } = query
  29. const mockList = List.filter((item: { name: string | any[] }) => !(name && item.name.indexOf(name) < 0))
  30. const list = mockList.filter((item: any, index: number) => index < pageSize * pageNo && index >= pageSize * (pageNo - 1))
  31. return {
  32. code: 200,
  33. msg: 'success',
  34. data: { list, ...{ total: mockList.length } },
  35. }
  36. },
  37. },
  38. {
  39. url: '/goodsManagement/doEdit',
  40. method: 'post',
  41. response() {
  42. return {
  43. code: 200,
  44. msg: '模拟保存成功',
  45. }
  46. },
  47. },
  48. {
  49. url: '/goodsManagement/doDelete',
  50. method: 'post',
  51. response() {
  52. return {
  53. code: 200,
  54. msg: '模拟删除成功',
  55. }
  56. },
  57. },
  58. ] as MockMethod[]