瑶都万能墙
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.

312 lines
5.6 KiB

11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
10 months ago
11 months ago
  1. import http from './http.js'
  2. let limit = {}
  3. let debounce = {}
  4. const config = {
  5. // 示例
  6. // wxLogin : {url : '/api/wxLogin', method : 'POST',
  7. // auth : false, showLoading : true, loadingTitle : '加载中...',
  8. // limit : 1000
  9. // },
  10. getConfig : {url : '/api/getConfig', method : 'GET', limit : 500},
  11. // 微信登录接口
  12. wxLogin: {
  13. url: '/login/login',
  14. method: 'GET',
  15. limit : 500,
  16. showLoading : true,
  17. },
  18. // 修改个人信息接口
  19. updateInfo: {
  20. url: '/token/updateInfo',
  21. method: 'POST',
  22. auth: true,
  23. limit : 500,
  24. showLoading : true,
  25. },
  26. // 获取个人信息接口
  27. getInfo: {
  28. url: '/token/getInfo',
  29. method: 'GET',
  30. auth: true,
  31. limit : 500,
  32. },
  33. //隐私政策
  34. getPrivacyPolicy: {
  35. url: '/login/getPrivacyPolicy',
  36. method: 'GET',
  37. },
  38. //用户协议
  39. getUserAgreement: {
  40. url: '/login/getUserAgreement',
  41. method: 'GET',
  42. },
  43. // 不需要登录的接口
  44. //获取分类
  45. getClassInfo: {
  46. url: '/city/getClassInfo',
  47. method: 'GET',
  48. },
  49. //获取首页头部信息
  50. getIndexHeaderInfo: {
  51. url: '/city/getIndexHeaderInfo',
  52. method: 'GET',
  53. },
  54. //获取banner列表
  55. getBannerList: {
  56. url: '/city/getBannerList',
  57. method: 'GET',
  58. },
  59. //获取分类类型列表
  60. getClassifyList: {
  61. url: '/city/getClassifyList',
  62. method: 'GET',
  63. },
  64. //获取工作信息列表
  65. getJobPage: {
  66. url: '/city/getJobPage',
  67. method: 'GET',
  68. },
  69. //获取工作详情
  70. getJobDetail: {
  71. url: '/city/getJobDetail',
  72. method: 'GET',
  73. },
  74. //根据分类获取租房信息列表
  75. getRentPage: {
  76. url: '/city/getRentPage',
  77. method: 'GET',
  78. },
  79. //获取租房详情
  80. getRentDetail: {
  81. url: '/city/getRentDetail',
  82. method: 'GET',
  83. },
  84. //获取动态帖子列表
  85. getPostPage: {
  86. url: '/city/getPostPage',
  87. method: 'GET',
  88. },
  89. //获取帖子详情
  90. getPostDetail: {
  91. url: '/city/getPostDetail',
  92. method: 'GET',
  93. },
  94. //获取活动列表信息
  95. getActivityPage: {
  96. url: '/city/getActivityPage',
  97. method: 'GET',
  98. },
  99. //获取活动详情
  100. getActivityDetail: {
  101. url: '/city/getActivityDetail',
  102. method: 'GET',
  103. },
  104. //获取活动详情
  105. getActivityDetail: {
  106. url: '/city/getActivityDetail',
  107. method: 'GET',
  108. },
  109. //获取门店信息列表(美食)
  110. getStorePage: {
  111. url: '/city/getStorePage',
  112. method: 'GET',
  113. },
  114. //获取门店详情(美食)
  115. getStoreDetail: {
  116. url: '/city/getStoreDetail',
  117. method: 'GET',
  118. },
  119. //发布按钮列表
  120. getPublishList: {
  121. url: '/city/getPublishList',
  122. method: 'GET',
  123. },
  124. //获取城市列表服务区域
  125. getCityList: {
  126. url: '/city/getCityList',
  127. method: 'GET',
  128. },
  129. //获取景点列表带分页
  130. getScenicPage: {
  131. url: '/city/getScenicPage',
  132. method: 'GET',
  133. },
  134. //获取景点详情
  135. getScenicDetail: {
  136. url: '/city/getScenicDetail',
  137. method: 'GET',
  138. },
  139. //获取评论列表type-0帖子-1租房-2工作-3景点-4美食-5活动-6人找车-7车找人
  140. getCommentPage: {
  141. url: '/city/getCommentPage',
  142. method: 'GET',
  143. },
  144. //获取江华人信息接口
  145. getJiangHuInfo: {
  146. url: '/city/getJiangHuInfo',
  147. method: 'GET',
  148. },
  149. //获取人找车分页列表
  150. getPeoplePage: {
  151. url: '/city/getPeoplePage',
  152. method: 'GET',
  153. },
  154. //获取人找车详情
  155. getPeopleDetail: {
  156. url: '/city/getPeopleDetail',
  157. method: 'GET',
  158. },
  159. //获取车找人分页列表
  160. getCatPage: {
  161. url: '/city/getCatPage',
  162. method: 'GET',
  163. },
  164. //获取车找人详情
  165. getCatDetail: {
  166. url: '/city/getCatDetail',
  167. method: 'GET',
  168. },
  169. //发布帖子\动态
  170. publishPost: {
  171. url: '/token/publishPost',
  172. method: 'POST',
  173. limit : 1000,
  174. auth : true,
  175. showLoading : true,
  176. },
  177. //查询自己发布的动态
  178. getMyPostPage: {
  179. url: '/token/getMyPostPage',
  180. method: 'GET',
  181. auth : true,
  182. },
  183. //删除自己发布的动态
  184. deletePost: {
  185. url: '/token/deletePost',
  186. method: 'POST',
  187. auth : true,
  188. showLoading : true,
  189. },
  190. //店铺认证
  191. companyAuthentication: {
  192. url: '/token/companyAuthentication',
  193. method: 'POST',
  194. limit : 1000,
  195. auth : true,
  196. showLoading : true,
  197. },
  198. //个人认证
  199. personalAuthentication: {
  200. url: '/token/personalAuthentication',
  201. method: 'POST',
  202. limit : 1000,
  203. auth : true,
  204. showLoading : true,
  205. },
  206. //获取分享二维码
  207. getQrCode: {
  208. url: '/token/getQrCode',
  209. method: 'GET',
  210. auth : true,
  211. },
  212. //发布评论
  213. addComment: {
  214. url: '/token/addComment',
  215. method: 'POST',
  216. limit : 1000,
  217. auth : true,
  218. showLoading : true,
  219. },
  220. //获取粉丝列表接口
  221. getFansList: {
  222. url: '/token/getFansList',
  223. method: 'GET',
  224. auth : true,
  225. },
  226. }
  227. export function api(key, data, callback, loadingTitle) {
  228. let req = config[key]
  229. if (!req) {
  230. console.error('无效key--------' + key);
  231. return
  232. }
  233. if (typeof callback == 'string') {
  234. loadingTitle = callback
  235. }
  236. if (typeof data == 'function') {
  237. callback = data
  238. data = {}
  239. }
  240. // 接口限流
  241. if (req.limit) {
  242. let storageKey = req.url
  243. let storage = limit[storageKey]
  244. if (storage && new Date().getTime() - storage < req.limit) {
  245. return
  246. }
  247. limit[storageKey] = new Date().getTime()
  248. }
  249. //必须登录
  250. if (req.auth) {
  251. if (!uni.getStorageSync('token')) {
  252. uni.navigateTo({
  253. url: '/pages_order/auth/wxLogin'
  254. })
  255. console.error('需要登录')
  256. return
  257. }
  258. }
  259. // 接口防抖
  260. if(req.debounce){
  261. let storageKey = req.url
  262. let storage = debounce[storageKey]
  263. if (storage) {
  264. clearTimeout(storage)
  265. }
  266. debounce[storageKey] = setTimeout(() => {
  267. clearTimeout(storage)
  268. delete debounce[storageKey]
  269. http.http(req.url, data, callback, req.method,
  270. loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
  271. }, req.debounce)
  272. return
  273. }
  274. http.http(req.url, data, callback, req.method,
  275. loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
  276. }
  277. export default api