酒店桌布为微信小程序
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.

379 lines
6.1 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year 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: {
  11. url: '/api/getConfig',
  12. method: 'GET'
  13. },
  14. // 获取客服联系电话
  15. customUser: {
  16. url: '/user/custom',
  17. method: 'get',
  18. },
  19. // banner列表
  20. bannerList: {
  21. url: '/banner/list',
  22. method: 'GET',
  23. showLoading: true,
  24. },
  25. // 公告列表
  26. noticeList: {
  27. url: '/notice/list',
  28. method: 'GET',
  29. showLoading: true,
  30. },
  31. // 公告详情
  32. noticeOne: {
  33. url: '/notice/one',
  34. method: 'GET',
  35. showLoading: true,
  36. },
  37. // 商品列表
  38. goodsPage: {
  39. url: '/goods/page',
  40. method: 'GET',
  41. showLoading: true,
  42. debounce : 300,
  43. },
  44. // 商品详情
  45. goodsOne: {
  46. url: '/goods/one',
  47. method: 'GET',
  48. showLoading: true,
  49. },
  50. // 购物车分页
  51. cartPage: {
  52. url: '/goods/shopping/cart/page',
  53. method: 'GET',
  54. showLoading: true,
  55. auth: true,
  56. },
  57. // 加入购物车
  58. cartAdd: {
  59. url: '/goods/join/shopping/cart',
  60. method: 'POST',
  61. showLoading: true,
  62. auth: true,
  63. },
  64. // 删除购物车
  65. cartDel: {
  66. url: '/goods/shopping/cart/delete',
  67. method: 'POST',
  68. showLoading: true,
  69. auth: true,
  70. },
  71. // 修改购物车数量
  72. cartNum: {
  73. url: '/goods/shopping/cart/add/or/delete',
  74. method: 'POST',
  75. auth: true,
  76. debounce: 1000,
  77. },
  78. //分类列表
  79. categoryList: {
  80. url: '/category/list',
  81. method: 'GET',
  82. showLoading: true,
  83. },
  84. //新增地址
  85. addressAdd: {
  86. url: '/address/add',
  87. method: 'POST',
  88. limit: 500,
  89. auth: true,
  90. showLoading: true,
  91. },
  92. //修改默认地址
  93. addressDefault: {
  94. url: '/address/default',
  95. method: 'POST',
  96. auth: true,
  97. showLoading: true,
  98. },
  99. //删除地址
  100. addressDelete: {
  101. url: '/address/delete',
  102. method: 'POST',
  103. auth: true,
  104. showLoading: true,
  105. },
  106. //修改地址
  107. addressEdit: {
  108. url: '/address/edit',
  109. method: 'POST',
  110. limit: 500,
  111. auth: true,
  112. showLoading: true,
  113. },
  114. //分页查询地址
  115. addressPage: {
  116. url: '/address/page',
  117. method: 'GET',
  118. auth: true,
  119. showLoading: true,
  120. },
  121. // 分页查询我的客户
  122. getMyUserPage: {
  123. url: '/shop/user',
  124. method: 'GET',
  125. auth: true,
  126. showLoading: true,
  127. },
  128. //优惠券分页接口
  129. couponPage: {
  130. url: '/coupon/page',
  131. method: 'GET',
  132. auth: true,
  133. showLoading: true,
  134. },
  135. //分页查询订单
  136. orderPage: {
  137. url: '/order/page',
  138. method: 'GET',
  139. auth: true,
  140. showLoading: true,
  141. },
  142. //查询订单详情
  143. orderOne: {
  144. url: '/order/one',
  145. method: 'GET',
  146. auth: true,
  147. showLoading: true,
  148. },
  149. // 微信登录接口
  150. wxLogin: {
  151. url: '/login/login',
  152. method: 'POST',
  153. limit: 500,
  154. showLoading: true,
  155. },
  156. // 修改个人信息接口
  157. updateInfo: {
  158. url: '/user/edit',
  159. method: 'POST',
  160. auth: true,
  161. limit: 500,
  162. showLoading: true,
  163. },
  164. // 获取用户信息
  165. getInfo: {
  166. url: '/user/info',
  167. method: 'GET',
  168. auth: true,
  169. showLoading: true,
  170. },
  171. // 获取我的租赁
  172. getLeasePage: {
  173. url: '/user/lease/page',
  174. method: 'POST',
  175. showLoading: true,
  176. },
  177. // 申请成为水洗店
  178. applyShopHotel: {
  179. url: '/shop/apply',
  180. method: 'POST',
  181. showLoading: true,
  182. auth: true,
  183. },
  184. // 店铺申请提现
  185. storeWithdrawalApplication: {
  186. url: '/shop/withdrawal/apply',
  187. method: 'POST',
  188. showLoading: true,
  189. auth: true,
  190. },
  191. // 提现日志
  192. withdrawalLog: {
  193. url: '/shop/withdrawal/page',
  194. method: 'GET',
  195. showLoading: true,
  196. auth: true,
  197. },
  198. // 水洗店首页数据
  199. laundryStoreHomeData: {
  200. url: '/shop/index',
  201. method: 'GET',
  202. // showLoading : true,
  203. auth: true,
  204. },
  205. // 获取绑定店铺的数据
  206. bindShop: {
  207. url: '/shop/bind',
  208. method: 'GET',
  209. // showLoading : true,
  210. auth: true,
  211. },
  212. // 修改店铺营业时间
  213. updateJobTime: {
  214. url: '/shop/job/time',
  215. method: 'POST',
  216. // showLoading : true,
  217. auth: true,
  218. },
  219. // 退货、换货申请
  220. refundOrder: {
  221. url: '/order/refund',
  222. method: 'POST',
  223. // showLoading : true,
  224. auth: true,
  225. },
  226. // 商品租赁下订单
  227. orderCreate: {
  228. url: '/order/create',
  229. method: 'POST',
  230. showLoading : true,
  231. limit: 500,
  232. auth: true,
  233. },
  234. // 商品租赁订单支付
  235. orderPay: {
  236. url: '/order/pay',
  237. method: 'POST',
  238. showLoading : true,
  239. limit: 500,
  240. auth: true,
  241. },
  242. // 确认收货
  243. orderConfirm: {
  244. url: '/order/confirm',
  245. method: 'POST',
  246. showLoading : true,
  247. limit: 500,
  248. auth: true,
  249. },
  250. // 根据商品id获取规格
  251. goodsSku: {
  252. url: '/goods/sku',
  253. method: 'GET',
  254. auth: true,
  255. },
  256. // 购物车修改多规格
  257. editSku: {
  258. url: '/goods/shopping/cart/edit/sku',
  259. method: 'POST',
  260. auth: true,
  261. },
  262. // 水洗店账号绑定微信
  263. bindWx: {
  264. url: '/shop/bind/wx',
  265. method: 'POST',
  266. auth: true,
  267. },
  268. // 上传自己的桌布
  269. tablecloth: {
  270. url: '/order/upload/tablecloth',
  271. method: 'POST',
  272. auth: true,
  273. },
  274. // 水洗店确认接单
  275. orderConfirmAccept: {
  276. url: '/order/confirm/accept',
  277. method: 'POST',
  278. auth: true,
  279. },
  280. // 换货支付
  281. replacePay: {
  282. url: '/replace/pay',
  283. method: 'POST',
  284. auth: true,
  285. },
  286. }
  287. export function api(key, data, callback, loadingTitle) {
  288. let req = config[key]
  289. if (!req) {
  290. console.error('无效key' + key);
  291. return
  292. }
  293. if (typeof callback == 'string') {
  294. loadingTitle = callback
  295. }
  296. if (typeof data == 'function') {
  297. callback = data
  298. data = {}
  299. }
  300. // 接口限流
  301. if (req.limit) {
  302. let storageKey = req.url
  303. let storage = limit[storageKey]
  304. if (storage && new Date().getTime() - storage < req.limit) {
  305. return
  306. }
  307. limit[storageKey] = new Date().getTime()
  308. }
  309. //必须登录
  310. if (req.auth) {
  311. if (!uni.getStorageSync('token')) {
  312. uni.navigateTo({
  313. url: '/pages_order/auth/wxLogin'
  314. })
  315. console.error('需要登录')
  316. return
  317. }
  318. }
  319. // 接口防抖
  320. if (req.debounce) {
  321. let storageKey = req.url
  322. let storage = debounce[storageKey]
  323. if (storage) {
  324. clearTimeout(storage)
  325. }
  326. debounce[storageKey] = setTimeout(() => {
  327. clearTimeout(storage)
  328. delete debounce[storageKey]
  329. http.http(req.url, data, callback, req.method,
  330. loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
  331. }, req.debounce)
  332. return
  333. }
  334. http.http(req.url, data, callback, req.method,
  335. loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
  336. }
  337. export default api