request.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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 !== 200) {
  14. if (res.code == 400&&(res.msg=='请登录' || res.msg == '登录状态有误,请重新登录')) {
  15. console.log(res.msg,'res.msg')
  16. if(res.msg == '登录状态有误,请重新登录') {
  17. console.log('shide 登录状态有误,请重新登录')
  18. uni.removeStorageSync('chooseType')
  19. }
  20. // 存储当前地址
  21. saveUrl()
  22. // 调用退出登录方法清空用户信息
  23. store.commit('logout');
  24. // 判断是否开启强制登录
  25. uni.showModal({
  26. title: "您未登录!是否马上登录?",
  27. success: (e) => {
  28. if (e.confirm) {
  29. // 保存当前页面地址
  30. // 跳转页面
  31. interceptor()
  32. }
  33. }
  34. })
  35. } else {
  36. if(res.msg!='系统出现异常'){
  37. // 判断是否为地址配送问题
  38. if(res.msg!='请选择配送地址'){
  39. if(res.msg == '该医生暂时不支持私人医生') {
  40. uni.showModal({
  41. title: '提示',
  42. content: res.msg,
  43. showCancel: false
  44. })
  45. } else {
  46. uni.showToast({
  47. title: res.msg,
  48. duration: 1500,
  49. mask: false,
  50. icon: 'none',
  51. })
  52. }
  53. }
  54. }
  55. }
  56. return Promise.reject(new Error(res.msg || 'Error'))
  57. } else {
  58. return res
  59. }
  60. } catch (e) {
  61. console.log(e);
  62. }
  63. },
  64. error => {
  65. uni.showToast({
  66. title: "加载错误请重试",
  67. duration: 1500,
  68. mask: false,
  69. icon: 'none',
  70. })
  71. return Promise.reject(error)
  72. }
  73. )
  74. //时间戳转换成时间
  75. export function getTime(time) {
  76. var date=new Date(parseInt(time)* 1000);
  77. var year=date.getFullYear();
  78. var mon = date.getMonth()+1;
  79. var day = date.getDate();
  80. var hours = date.getHours();
  81. var minu = date.getMinutes();
  82. var sec = date.getSeconds();
  83. return year+'-'+mon+'-'+day+' '+hours+':'+minu+':'+sec;
  84. }
  85. // 请求前拦截器
  86. service.interceptors.request(
  87. config => {
  88. let token = uni.getStorageSync('token');
  89. let address = uni.getStorageSync('addressData')||''
  90. if (!config.header) {
  91. config.header = {
  92. "Authori-zation": 'Bearer ' + token,
  93. }
  94. } else {
  95. // 添加key请求头
  96. config.header["Authori-zation"] = 'Bearer ' + token;
  97. }
  98. return config
  99. },
  100. error => {
  101. // 错误处理
  102. console.log(error)
  103. return Promise.reject(error)
  104. }
  105. )
  106. let upFilse = service.upFilse;
  107. export {
  108. upFilse
  109. };
  110. export default service.open;