request.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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.status !== 200) {
  14. console.log(res.status);
  15. // console.log(res)
  16. if (res.status == 410000) {
  17. console.log('0000xxxx')
  18. // 调用退出登录方法清空用户信息
  19. store.commit('user/logout');
  20. // 判断是否开启强制登录
  21. uni.showModal({
  22. title: "登陆",
  23. content: '您未登录!是否马上登录?',
  24. success: (e) => {
  25. // 判断是否点击确认按钮
  26. if (e.confirm) {
  27. // 保存当前页面地址
  28. saveUrl()
  29. // 跳转页面
  30. interceptor()
  31. }
  32. }
  33. })
  34. } else {
  35. if (res.message != '系统出现异常') {
  36. uni.showToast({
  37. title: res.message,
  38. duration: 1500,
  39. mask: false,
  40. icon: 'none',
  41. })
  42. }
  43. }
  44. return Promise.reject(res)
  45. } else {
  46. return res
  47. }
  48. } catch (e) {
  49. console.log(e);
  50. }
  51. },
  52. error => {
  53. uni.showToast({
  54. title: "加载错误请重试",
  55. duration: 1500,
  56. mask: false,
  57. icon: 'none',
  58. })
  59. return Promise.reject(error)
  60. }
  61. )
  62. // 请求前拦截器
  63. service.interceptors.request(
  64. config => {
  65. let token = uni.getStorageSync('token') || '';
  66. console.log(token)
  67. // console.log(config);
  68. if (!config.header) {
  69. config.header = {
  70. "X-Token": 'Bearer ' + token,
  71. }
  72. } else {
  73. // 添加key请求头
  74. config.header["X-Token"] = 'Bearer ' + token;
  75. }
  76. return config
  77. },
  78. error => {
  79. // 错误处理
  80. console.log(error)
  81. return Promise.reject(error)
  82. }
  83. )
  84. let upFilse = service.upFilse;
  85. export {
  86. upFilse
  87. };
  88. export default service.open;