四零语境后端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
3.3 KiB

1 day ago
  1. // mock/getChatLists.js
  2. import Mock from 'mockjs'
  3. import { readFileSync } from 'fs'
  4. import path from 'path'
  5. import { parse } from 'dotenv'
  6. // 指定 .env 文件路径
  7. const envPath = path.resolve(__dirname, '../env/.env')
  8. const envContent = readFileSync(envPath, 'utf8')
  9. const parsedEnv = parse(envContent)
  10. const proxyPrefix = parsedEnv.VITE_APP_PROXY_PREFIX ?? '/api'
  11. export default [
  12. {
  13. url: `${proxyPrefix}/eoa/im/newApi/getChatList`,
  14. method: 'get', // 或 post
  15. response: () => {
  16. return Mock.mock({
  17. code: 200,
  18. success: true,
  19. result: {
  20. 'logVoList|8-10': [
  21. {
  22. 'id|+1': 1,
  23. fromUserName: '@cname',
  24. sendTime: Mock.mock('@date("yyyy-MM-dd")'),
  25. fromAvatar: () => {
  26. const sentences = [
  27. 'https://picsum.photos/100/100',
  28. 'https://random.imagecdn.app/100/100',
  29. 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=100',
  30. 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
  31. 'https://dummyimage.com/100x100/f37b1d/fff&text=%E7%8E%8B%E4%BA%94',
  32. 'https://dummyimage.com/100x100/59c7b8/fff&text=%E5%85%AD%E5%AD%90',
  33. ]
  34. return sentences[Math.floor(Math.random() * sentences.length)]
  35. },
  36. 'type|1': ['friend', 'discussion', 'group'],
  37. 'izTop|1': [1, 0],
  38. 'status|1': ['offline', 'online'],
  39. 'msgFrom|+12': 4000,
  40. 'msgTo|+34': 100,
  41. },
  42. ],
  43. },
  44. })
  45. },
  46. },
  47. {
  48. url: `${proxyPrefix}/eoa/im/newApi/creatFriendSession`,
  49. method: 'post', // 或 post
  50. response: () => {
  51. return Mock.mock({
  52. code: 200,
  53. success: true,
  54. result: {
  55. 'accountId|+100': 4000,
  56. avatar: 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=100',
  57. email: '@email',
  58. 'id|12': 112,
  59. 'msgTo|+34': 100,
  60. 'phone|9': 123,
  61. },
  62. })
  63. },
  64. },
  65. {
  66. url: '/api/eoa/im/newApi/records',
  67. method: 'get', // 或 post
  68. response: () => {
  69. return Mock.mock({
  70. code: 200,
  71. success: true,
  72. result: {
  73. 'records|8-10': [
  74. {
  75. 'id|+1': 1,
  76. fromUserName: '@cname',
  77. sendTime: Mock.mock('@date("yyyy-MM-dd")'),
  78. fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
  79. 'type|1': ['friend', 'discussion', 'group'],
  80. 'izTop|1': [1, 0],
  81. 'status|1': ['offline', 'online'],
  82. 'msgFrom|+12': 4000,
  83. 'msgTo|+34': 100,
  84. // msgData: Mock.mock('@cparagraph()'),
  85. msgData: () => Mock.mock('@cparagraph()'),
  86. userId: '1678948772039729154',
  87. msgType: 'text',
  88. },
  89. ],
  90. },
  91. })
  92. },
  93. },
  94. {
  95. url: `${proxyPrefix}/eoa/im/newApi/creatFriendSession`,
  96. method: 'post', // 或 post
  97. response: () => {
  98. return Mock.mock({
  99. code: 200,
  100. success: true,
  101. result: 'success',
  102. })
  103. },
  104. },
  105. {
  106. url: `${proxyPrefix}/eoa/im/newApi/sendMessage`,
  107. method: 'post', // 或 post
  108. response: () => {
  109. return Mock.mock({
  110. code: 200,
  111. success: true,
  112. result: 'success',
  113. })
  114. },
  115. },
  116. ]