Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

158 linhas
9.4 KiB

  1. import request from '@/utils/request.js'
  2. import API from './config.js'
  3. import { getUA } from '@/utils/util.js'
  4. /**
  5. * 按业务模块聚合的接口方法。
  6. * 组件中:import api from '@/api/index.js' -> api.user.getInfo()
  7. */
  8. // 登录类接口统一补充 invite_open_id(邀请码)与 user_agent(沿用旧项目 comApi 逻辑)
  9. function withLoginExtra(params = {}) {
  10. const inviteCode = uni.getStorageSync('invite_code')
  11. if (inviteCode) params.invite_open_id = inviteCode
  12. params.user_agent = getUA()
  13. return params
  14. }
  15. export const userApi = {
  16. // 微信登录(code 换取登录态)
  17. loginByCode: (params) => request({ url: API.INTERFACE_LOGIN_BY_CODE, method: 'POST', params: withLoginExtra(params) }),
  18. // 小程序手机号一键登录
  19. loginByPhoneMp: (params) => request({ url: API.INTERFACE_COMMON_PHONE_LOGIN_MP, method: 'POST', params: withLoginExtra(params) }),
  20. // 手机号+密码登录
  21. loginByPhone: (params) => request({ url: API.INTERFACE_LOGIN_BY_PHONE, method: 'POST', params }),
  22. // 手机号+验证码登录(App / H5)
  23. loginPhone: (params) => request({ url: API.INTERFACE_PHONE_LOGIN, method: 'POST', params: withLoginExtra(params) }),
  24. // 苹果 / 游客登录
  25. signWithApple: (params) => request({ url: API.INTERFACE_SIGN_WITH_APPLE, method: 'POST', params: withLoginExtra(params) }),
  26. // H5 唤起小程序登录的深度链接
  27. getMiniScheme: (params) => request({ url: API.INTERFACE_USER_GET_MINI_SCHEME, method: 'POST', params }),
  28. sendCode: (params) => request({ url: API.INTERFACE_SEND_CODE, method: 'POST', params }),
  29. getInfo: (params) => request({ url: API.INTERFACE_USER_GET_INFO, method: 'POST', params }),
  30. updateInfo: (params) => request({ url: API.INTERFACE_USER_UPDATE_INFO, method: 'POST', params }),
  31. getBalance: (params) => request({ url: API.INTERFACE_USER_GET_BALANCE, method: 'POST', params }),
  32. getInviteList: (params) => request({ url: API.INTERFACE_USER_GET_INVITE_LIST, method: 'POST', params })
  33. }
  34. export const inviteApi = {
  35. getConfig: (params) => request({ url: API.INTERFACE_INVITE_GET_CONFIG, method: 'POST', params }),
  36. getMy: (params) => request({ url: API.INTERFACE_INVITE_GET_MY, method: 'POST', params }),
  37. getList: (params) => request({ url: API.INTERFACE_INVITE_GET_LIST, method: 'POST', params }),
  38. getQrcode: (params) => request({ url: API.INTERFACE_INVITE_GET_QRCODE, method: 'POST', params })
  39. }
  40. export const commonApi = {
  41. getConfig: (params) => request({ url: API.INTERFACE_COMMON_GET_CONFIG, method: 'POST', params }),
  42. getHomeConfig: (params) => request({ url: API.INTERFACE_HOME_GET_CONFIG, method: 'POST', params }),
  43. getHtml: (params) => request({ url: API.INTERFACE_COMMON_GET_HTML, method: 'POST', params }),
  44. feedback: (params) => request({ url: API.INTERFACE_COMMON_POST_FEEDBACK, method: 'POST', params })
  45. }
  46. export const vipApi = {
  47. getProductList: (params) => request({ url: API.INTERFACE_VIP_GET_PRODUCT_LIST, method: 'POST', params }),
  48. createOrder: (params) => request({ url: API.INTERFACE_VIP_POST_CREATE_ORDER, method: 'POST', params }),
  49. paySuccess: (params) => request({ url: API.INTERFACE_VIP_POST_PAY_SUCCESS, method: 'POST', params }),
  50. getMyList: (params) => request({ url: API.INTERFACE_VIP_GET_MY_LIST, method: 'POST', params })
  51. }
  52. export const pointApi = {
  53. // 点数套餐列表
  54. getPackageList: (params) => request({ url: API.INTERFACE_POINT_GET_PACKAGE_LIST, method: 'POST', params }),
  55. // 点数余额
  56. getBalance: (params) => request({ url: API.INTERFACE_POINT_GET_BALANCE, method: 'POST', params }),
  57. // 点数账单流水
  58. getLogList: (params) => request({ url: API.INTERFACE_POINT_GET_LOG_LIST, method: 'POST', params }),
  59. // 创建充值订单(小程序返回虚拟支付参数)
  60. createOrder: (params) => request({ url: API.INTERFACE_POINT_POST_CREATE_ORDER, method: 'POST', params }),
  61. // 订单状态轮询
  62. getOrderStatus: (params) => request({ url: API.INTERFACE_POINT_GET_ORDER_STATUS, method: 'POST', params }),
  63. // 积分获取页配置(签到、邀请、看广告配置与今日进度,免登录可调)
  64. getEarnConfig: (params) => request({ url: API.INTERFACE_POINT_GET_EARN_CONFIG, method: 'POST', params }),
  65. // 每日签到,服务端按用户与日期幂等发放
  66. checkin: (params) => request({ url: API.INTERFACE_POINT_POST_CHECKIN, method: 'POST', params }),
  67. // 看广告:先取一次性凭证,看完再兑换积分,未看完则作废
  68. getAdTicket: (params) => request({ url: API.INTERFACE_POINT_POST_AD_TICKET, method: 'POST', params }),
  69. getAdReward: (params) => request({ url: API.INTERFACE_POINT_POST_AD_REWARD, method: 'POST', params }),
  70. cancelAdTicket: (params) => request({ url: API.INTERFACE_POINT_POST_AD_CANCEL, method: 'POST', params })
  71. }
  72. export const billingApi = {
  73. getConfig: (params) => request({ url: API.INTERFACE_BILLING_GET_CONFIG, method: 'POST', params }),
  74. quote: (params) => request({ url: API.INTERFACE_BILLING_POST_QUOTE, method: 'POST', params })
  75. }
  76. export const idPhotoApi = {
  77. getConfig: (params) => request({ url: API.INTERFACE_IDPHOTO_GET_CONFIG, method: 'POST', params }),
  78. getList: (params = {}) => request({
  79. url: API.INTERFACE_WORK_GET_LIST,
  80. method: 'POST',
  81. params: { ...params, type: 'photo' }
  82. }),
  83. rerender: (params) => request({ url: API.INTERFACE_IDPHOTO_POST_RERENDER, method: 'POST', params }),
  84. getDetail: (params) => request({ url: API.INTERFACE_IDPHOTO_GET_DETAIL, method: 'POST', params }),
  85. delete: (params) => request({ url: API.INTERFACE_IDPHOTO_POST_DEL, method: 'POST', params })
  86. }
  87. export const portraitApi = {
  88. getConfig: (params) => request({ url: API.INTERFACE_PORTRAIT_GET_CONFIG, method: 'POST', params }),
  89. getDetail: (params) => request({ url: API.INTERFACE_PORTRAIT_GET_DETAIL, method: 'POST', params }),
  90. getList: (params) => request({ url: API.INTERFACE_PORTRAIT_GET_LIST, method: 'POST', params }),
  91. delete: (params) => request({ url: API.INTERFACE_PORTRAIT_POST_DEL, method: 'POST', params })
  92. // create 走 multipart 直传,见 utils/upload.js 的 createPortrait
  93. }
  94. export const oldPhotoApi = {
  95. getConfig: (params) => request({ url: API.INTERFACE_OLDPHOTO_GET_CONFIG, method: 'POST', params }),
  96. getDetail: (params) => request({ url: API.INTERFACE_OLDPHOTO_GET_DETAIL, method: 'POST', params }),
  97. getList: (params) => request({ url: API.INTERFACE_OLDPHOTO_GET_LIST, method: 'POST', params }),
  98. delete: (params) => request({ url: API.INTERFACE_OLDPHOTO_POST_DEL, method: 'POST', params })
  99. // create 走 multipart 直传,见 utils/upload.js 的 createOldPhoto
  100. }
  101. export const toolApi = {
  102. getMyWorkList: (params) => request({ url: API.INTERFACE_WORK_GET_LIST, method: 'POST', params }),
  103. getAppList: (params) => request({ url: API.INTERFACE_APP_GET_LIST, method: 'POST', params }),
  104. getAppDetail: (params) => request({ url: API.INTERFACE_APP_GET_DETAIL, method: 'POST', params }),
  105. getWorkList: (params) => request({ url: API.INTERFACE_ART_GET_LIST, method: 'POST', params }),
  106. getWorkDetail: (params) => request({ url: API.INTERFACE_ART_GET_DETAIL, method: 'POST', params }),
  107. likeWork: (params) => request({ url: API.INTERFACE_ART_POST_LIKE, method: 'POST', params }),
  108. submitTask: (params) => request({ url: API.INTERFACE_MJ_POST_SEND, method: 'POST', params }),
  109. getTaskList: (params) => request({ url: API.INTERFACE_MJ_GET_LIST, method: 'POST', params }),
  110. getStyleList: (params) => request({ url: API.INTERFACE_WXYG_GET_STYLE_LIST, method: 'POST', params }),
  111. submitAnime: (params) => request({ url: API.INTERFACE_ANIME_POST_SEND, method: 'POST', params }),
  112. getAnimeList: (params) => request({ url: API.INTERFACE_ANIME_GET_LIST, method: 'POST', params }),
  113. getAnimeDetail: (params) => request({ url: API.INTERFACE_ANIME_GET_DETAIL, method: 'POST', params }),
  114. deleteAnime: (params) => request({ url: API.INTERFACE_ANIME_POST_DEL, method: 'POST', params }),
  115. getAnimeStyleList: (params) => request({ url: API.INTERFACE_ANIME_GET_STYLE_LIST, method: 'POST', params }),
  116. getRobotDetailByType: (params) => request({ url: API.INTERFACE_BOT_GET_DETAIL_BY_TYPE, method: 'POST', params }),
  117. editRobot: (params) => request({ url: API.INTERFACE_BOT_POST_EDIT, method: 'POST', params }),
  118. sendChat: (params) => request({ url: API.INTERFACE_CHAT_POST_SEND, method: 'POST', params }),
  119. submitWriting: async (params) => {
  120. await request({ url: API.INTERFACE_BOT_POST_EDIT, method: 'POST', params })
  121. return request({ url: API.INTERFACE_CHAT_POST_SEND, method: 'POST', params })
  122. },
  123. checkName: (params) => request({ url: API.INTERFACE_AINAME_POST_CHECK, method: 'POST', params }),
  124. submitName: (params) => request({ url: API.INTERFACE_AINAME_POST_SEND, method: 'POST', params }),
  125. getNameRobot: (params) => request({ url: API.INTERFACE_AINAME_GET_ROBOT, method: 'POST', params }),
  126. getNameList: (params) => request({ url: API.INTERFACE_AINAME_GET_LIST, method: 'POST', params }),
  127. getNameDetail: (params) => request({ url: API.INTERFACE_AINAME_GET_DETAIL, method: 'POST', params }),
  128. deleteName: (params) => request({ url: API.INTERFACE_AINAME_POST_DEL, method: 'POST', params }),
  129. getChatList: (params) => request({ url: API.INTERFACE_CHAT_GET_MSG_LIST, method: 'POST', params }),
  130. getChatDetail: (params) => request({ url: API.INTERFACE_CHAT_GET_MSG_DETAIL, method: 'POST', params }),
  131. deleteChat: (params) => request({ url: API.INTERFACE_CHAT_POST_DEL, method: 'POST', params })
  132. }
  133. export default {
  134. user: userApi,
  135. invite: inviteApi,
  136. common: commonApi,
  137. vip: vipApi,
  138. point: pointApi,
  139. billing: billingApi,
  140. idPhoto: idPhotoApi,
  141. oldPhoto: oldPhotoApi,
  142. portrait: portraitApi,
  143. tool: toolApi
  144. }