request.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import service from './newRequest.js'
  2. import store from '../store';
  3. import {
  4. saveUrl,
  5. interceptor
  6. } from '@/utils/loginUtils.js';
  7. // 请求完成后拦截
  8. service.interceptors.response(
  9. response => {
  10. try {
  11. let res = response.data;
  12. // 解析字符串为数字
  13. if (res.code !== 1) {
  14. console.log(res.code);
  15. if (res.code == 401) {
  16. // 调用退出登录方法清空用户信息
  17. console.log('清空登录信息')
  18. store.commit('user/logout');
  19. // 判断是否开启强制登录
  20. uni.showModal({
  21. title: "登陆",
  22. content: '您未登录!是否马上登录?',
  23. success: (e) => {
  24. // 判断是否点击确认按钮
  25. if (e.confirm) {
  26. // 保存当前页面地址
  27. saveUrl()
  28. // 跳转页面
  29. interceptor()
  30. }
  31. }
  32. })
  33. } else {
  34. if (res.msg != '系统出现异常') {
  35. uni.showToast({
  36. title: res.msg,
  37. duration: 1500,
  38. mask: false,
  39. icon: 'none',
  40. })
  41. }
  42. }
  43. return Promise.reject(res)
  44. } else {
  45. return res
  46. }
  47. } catch (e) {
  48. console.log(e);
  49. }
  50. },
  51. error => {
  52. uni.showToast({
  53. title: "加载错误请重试",
  54. duration: 1500,
  55. mask: false,
  56. icon: 'none',
  57. })
  58. return Promise.reject(error)
  59. }
  60. )
  61. // 请求前拦截器
  62. service.interceptors.request(
  63. config => {
  64. let token = uni.getStorageSync('token') || '';
  65. let lang = ''
  66. try {
  67. const systemInfo = uni.getSystemInfoSync();
  68. lang = systemInfo.language || 'zh-CN'
  69. } catch (e) {
  70. console.log(e)
  71. lang = 'zh-CN'
  72. }
  73. // console.log(config);
  74. if (!config.header) {
  75. config.header = {
  76. // "Authori-zation": 'Bearer ' + token,
  77. "bowintoken": token,
  78. "bowinlang": lang
  79. }
  80. } else {
  81. // 添加key请求头
  82. // config.header["Authori-zation"] = 'Bearer ' + token;
  83. config.header["bowintoken"] = token
  84. config.header["bowinlang"] = lang
  85. }
  86. return config
  87. },
  88. error => {
  89. // 错误处理
  90. console.log(error)
  91. return Promise.reject(error)
  92. }
  93. )
  94. let upFilse = service.upFilse;
  95. export {
  96. upFilse
  97. };
  98. export default service.open;