index.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import Mock from 'mockjs'
  2. import { toAnyString } from '@/utils'
  3. const List: any[] = []
  4. const count = 100
  5. const baseContent = '<p>I am testing data, I am testing data.</p><p><img src="https://wpimg.wallstcn.com/4c69009c-0fd4-4153-b112-6cb53d1cf943"></p>'
  6. const image_uri = 'https://wpimg.wallstcn.com/e4558086-631c-425c-9430-56ffb46e70b3'
  7. for (let i = 0; i < count; i++) {
  8. List.push(Mock.mock({
  9. id: toAnyString(),
  10. timestamp: +Mock.Random.date('T'),
  11. author: '@first',
  12. reviewer: '@first',
  13. title: '@title(5, 10)',
  14. content_short: 'mock data',
  15. content: baseContent,
  16. forecast: '@float(0, 100, 2, 2)',
  17. importance: '@integer(1, 3)',
  18. 'type|1': ['CN', 'US', 'JP', 'EU'],
  19. 'status|1': ['published', 'draft', 'deleted'],
  20. display_time: '@datetime',
  21. comment_disabled: true,
  22. pageviews: '@integer(300, 5000)',
  23. image_uri,
  24. platforms: ['a-platform']
  25. }))
  26. }
  27. export default [
  28. {
  29. url: 'http://mockjs.test.cn/example/list',
  30. type: 'get',
  31. response: (config: any) => {
  32. const { title, pageIndex, pageSize } = config.query
  33. const mockList = List.filter(item => {
  34. if (title && item.title.indexOf(title) < 0) return false
  35. return true
  36. })
  37. const pageList = mockList.filter((item, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1))
  38. return {
  39. code: '0000',
  40. data: {
  41. total: mockList.length,
  42. list: pageList
  43. }
  44. }
  45. }
  46. },
  47. {
  48. url: 'http://mockjs.test.cn/example/delete',
  49. type: 'post',
  50. response: (config: any) => {
  51. return {
  52. code: '0000',
  53. data: '删除成功'
  54. }
  55. }
  56. },
  57. {
  58. url: 'http://mockjs.test.cn/example/detail',
  59. type: 'get',
  60. response: (config: any) => {
  61. const { id } = config.query
  62. for (const example of List) {
  63. if (example.id === id) {
  64. return {
  65. code: '0000',
  66. data: example
  67. }
  68. }
  69. }
  70. }
  71. },
  72. {
  73. url: 'http://mockjs.test.cn/example/save',
  74. type: 'post',
  75. response: (config: any) => {
  76. return {
  77. code: '0000',
  78. data: 'success'
  79. }
  80. }
  81. }
  82. ]