request.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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.status);
  15. if (res.code == 3) {
  16. // 调用退出登录方法清空用户信息
  17. store.commit('user/logout');
  18. // 判断是否开启强制登录
  19. uni.showModal({
  20. title: "登錄",
  21. content: '您未登錄!是否马上登錄?',
  22. confirmText: '確認',
  23. success: (e) => {
  24. // 判断是否点击确认按钮
  25. if (e.confirm) {
  26. // 保存当前页面地址
  27. saveUrl()
  28. // 跳转页面
  29. interceptor()
  30. }
  31. }
  32. })
  33. } else {
  34. if (res.info != '系统出现异常') {
  35. uni.showToast({
  36. title: res.info,
  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. console.log(config, 'top');
  65. let token = uni.getStorageSync('token') || '';
  66. const langlist = ['zh_tw', 'en'];
  67. let lang = store.state.lang || uni.getStorageSync('lang');
  68. if (lang == 'zh_tw') {
  69. lang = 'zh-tw'
  70. }
  71. if (lang == 'en') {
  72. lang = 'en-us'
  73. }
  74. // console.log(config);
  75. if (!config.header) {
  76. config.header = {
  77. "Authori-zation": 'Bearer ' + token,
  78. "think_language": lang
  79. }
  80. } else {
  81. // 添加key请求头
  82. config.header["Authori-zation"] = 'Bearer ' + token;
  83. config.header["think_language"] = lang;
  84. }
  85. return config
  86. },
  87. error => {
  88. // 错误处理
  89. console.log(error)
  90. return Promise.reject(error)
  91. }
  92. )
  93. let upFilse = service.upFilse;
  94. export {
  95. upFilse
  96. };
  97. export default service.open;