index-yg.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. /* eslint-disable */
  2. import Request from './request';
  3. import {
  4. refreshToken
  5. } from '@/api/login';
  6. import indexConfig from '@/config/global.config.js';
  7. import mUtil from '@/common/util.js';
  8. import store from '@/store';
  9. const yghttp = new Request();
  10. const debug_token =
  11. "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ5Y184NjAzNDg2NyIsInVzZXJfaWQiOjEyLCJtb2JpbGUiOiIxMzQzNzEwNDgxMiIsIm5pY2tuYW1lIjoieWNfODYwMzQ4NjciLCJleHAiOjE3NDE0MDM3MDcsImlhdCI6MTcwOTg2NzcwN30.LwHRcGuKyUV9S4o_cW0QhqO9KYY6L-AW6d1nMzDLCCjDLyEsdHj1Us2EbVqEJgx1Wut-hjIDqZw0iwwszsW_Kw"
  12. // request全局参数设置
  13. yghttp.setConfig(config => {
  14. /* 设置全局配置 */
  15. config.baseUrl = indexConfig.baseUrl; /* 根域名不同 */
  16. const systemInfo = uni.getSystemInfoSync();
  17. const systemInfoHeaders = {
  18. 'device-name': systemInfo.brand, // 设备名称
  19. width: systemInfo.screenWidth, // 屏幕宽度
  20. height: systemInfo.screenHeight, // 屏幕高度
  21. os: systemInfo.platform, // 客户端平台
  22. 'os-version': systemInfo.system // 操作系统版本
  23. };
  24. config.header = {
  25. ...config.header,
  26. ...systemInfoHeaders
  27. };
  28. return config;
  29. });
  30. let isRefreshing = false;
  31. let requests = [];
  32. let goLogin = false;
  33. const onLogin = (msg) => {
  34. if (goLogin) return;
  35. goLogin = true
  36. const pages = getCurrentPages();
  37. const route = pages[pages.length - 1].route;
  38. console.log('ro = ', route)
  39. if (!route || route !== 'pages/login/index') {
  40. try {
  41. mUtil.toast(msg);
  42. uni.removeStorageSync('apiToken');
  43. // uni.removeStorageSync('shop')
  44. setTimeout(() => {
  45. uni.navigateTo({
  46. url: '/pages/login/index',
  47. success: res => {
  48. goLogin = false;
  49. }
  50. })
  51. }, 500)
  52. } catch (e) {
  53. //TODO handle the exception
  54. goLogin = false;
  55. }
  56. } else {
  57. goLogin = false;
  58. };
  59. }
  60. yghttp.interceptor.request(
  61. config => {
  62. if (config.url === '/activity/lottery') {
  63. // 设置点击抽奖的接口时间
  64. config.timeout = 5000
  65. }
  66. if (config.isToken == false) {
  67. } else {
  68. config.header['apiToken'] = uni.getStorageSync('apiToken');
  69. }
  70. /* 请求之前拦截器 */
  71. // config.header['client'] = 'applet';
  72. config.header['client'] = 'app';
  73. // 单商户
  74. // config.header['merchant-id'] = uni.getStorageSync('merchantId') || 1;
  75. return config;
  76. },
  77. error => {
  78. return Promise.reject(error);
  79. }
  80. );
  81. // 刷新refreshToken
  82. async function handleRefreshToken(refresh_token) {
  83. const params = {};
  84. params.group = mUtil.platformGroupFilter();
  85. params.refresh_token = refresh_token;
  86. await http.post(refreshToken, params).then(async r => {
  87. store.commit('login', r.data);
  88. isRefreshing = false;
  89. });
  90. }
  91. yghttp.interceptor.response(
  92. async response => {
  93. if (response.header['refresh_token']) {
  94. store.commit('login', response.header.refresh_token);
  95. uni.setStorageSync('apiToken', response.header.refresh_token);
  96. }
  97. /* 请求之后拦截器 */
  98. switch (response.data.code) {
  99. case 200:
  100. return response.data;
  101. case 400:
  102. mUtil.toast('错误的请求');
  103. return Promise.reject(response.data.message);
  104. break;
  105. case 500:
  106. mUtil.toast(response.data.msg);
  107. return Promise.reject(response.data.msg);
  108. break;
  109. case 5001:
  110. mUtil.toast(response.data.msg);
  111. return response.data;
  112. case 100001:
  113. onLogin(response.data.msg)
  114. // mUtil.toast(response.data.msg);
  115. // uni.removeStorageSync('apiToken');
  116. // // uni.removeStorageSync('shop')
  117. // setTimeout(() => {
  118. // uni.navigateTo({
  119. // url: '/pages/login/index'
  120. // })
  121. // }, 500)
  122. return false
  123. case 100004:
  124. onLogin(response.data.msg)
  125. // mUtil.toast(response.data.msg);
  126. // uni.removeStorageSync('apiToken');
  127. // // uni.removeStorageSync('shop')
  128. // setTimeout(() => {
  129. // uni.navigateTo({
  130. // url: '/pages/login/index'
  131. // })
  132. // }, 500)
  133. return false
  134. case 100007:
  135. mUtil.toast(response.data.msg);
  136. setTimeout(() => {
  137. let pages = getCurrentPages();
  138. let currentPage = pages[pages.length - 1];
  139. let url = currentPage.route; // 当前页面路径
  140. if (url != 'pages/government/realAttestation') {
  141. uni.navigateTo({
  142. url: '/pages/government/realAttestation'
  143. })
  144. }
  145. }, 500)
  146. return false
  147. default:
  148. mUtil.toast(response.data.msg);
  149. return Promise.reject(response.data.msg);
  150. }
  151. },
  152. error => {
  153. return Promise.reject(error);
  154. }
  155. );
  156. export {
  157. yghttp
  158. };