index.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /* eslint-disable */
  2. import Request from './request';
  3. import {refreshToken} from '@/pages/api/login';
  4. import indexConfig from '@/config/index.config';
  5. //import mHelper from '@/utils/helper';
  6. //mport store from '@/store';
  7. const http = new Request();
  8. // request全局参数设置
  9. http.setConfig(config => {
  10. /* 设置全局配置 */
  11. config.baseUrl = indexConfig.baseUrl; /* 根域名不同 */
  12. const systemInfo = uni.getSystemInfoSync();
  13. const systemInfoHeaders = {
  14. 'device-name': systemInfo.brand, // 设备名称
  15. width: systemInfo.screenWidth, // 屏幕宽度
  16. height: systemInfo.screenHeight, // 屏幕高度
  17. os: systemInfo.platform, // 客户端平台
  18. 'os-version': systemInfo.system // 操作系统版本
  19. };
  20. config.header = {
  21. ...config.header,
  22. ...systemInfoHeaders
  23. };
  24. return config;
  25. });
  26. let isRefreshing = false;
  27. let requests = [];
  28. http.interceptor.request(
  29. config => {
  30. /* 请求之前拦截器 */
  31. //config.header['token'] = uni.getStorageSync('token');
  32. // 单商户
  33. // config.header['merchant-id'] = uni.getStorageSync('merchantId') || 1;
  34. return config;
  35. },
  36. error => {
  37. return Promise.reject(error);
  38. }
  39. );
  40. // 刷新refreshToken
  41. async function handleRefreshToken(refresh_token) {
  42. const params = {};
  43. //params.group = mHelper.platformGroupFilter();
  44. params.refresh_token = refresh_token;
  45. await http.post(refreshToken, params).then(async r => {
  46. //store.commit('login', r);
  47. isRefreshing = false;
  48. });
  49. }
  50. http.interceptor.response(
  51. async response => {
  52. /* 请求之后拦截器 */
  53. switch (response.data.code) {
  54. case 200:
  55. return response.data.data;
  56. case 400:
  57. //mHelper.toast('错误的请求');
  58. return Promise.reject(response.data.msg);
  59. break;
  60. case 401:
  61. console.log("accessToken401")
  62. uni.removeStorageSync('accessToken');
  63. //await store.commit('logout');
  64. uni.showModal({
  65. content: '会话已过期,是否跳转登录页面?',
  66. success: confirmRes => {
  67. if (confirmRes.confirm) {
  68. mHelper.backToLogin();
  69. throw response.data.message;
  70. }
  71. }
  72. });
  73. throw response.data.message;
  74. break;
  75. case 405:
  76. //mHelper.toast('当前操作不被允许');
  77. return Promise.reject(response.data.msg);
  78. case 404:
  79. //mHelper.toast(response.data.msg);
  80. return Promise.reject(response.data.msg);
  81. case 888:
  82. window.location.href=response.data;
  83. case 429:
  84. //mHelper.toast(response.data.msg);
  85. return Promise.reject(response.data.msg);
  86. case 500:
  87. //mHelper.toast(response.data.msg);
  88. return Promise.reject(response.data.msg);
  89. default:
  90. //mHelper.toast(response.data.msg);
  91. return Promise.reject(response.data.msg);
  92. }
  93. },
  94. error => {
  95. return Promise.reject(error);
  96. }
  97. );
  98. export {http};