request.js 2.2 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 !== 200) {
  14. if (res.code == 400&&res.msg=='请登录') {
  15. // 存储当前地址
  16. saveUrl()
  17. // 调用退出登录方法清空用户信息
  18. store.commit('logout');
  19. // 判断是否开启强制登录
  20. uni.showModal({
  21. title: "您未登录!是否马上登录?",
  22. success: (e) => {
  23. if (e.confirm) {
  24. // 保存当前页面地址
  25. // 跳转页面
  26. interceptor()
  27. }
  28. }
  29. })
  30. } else {
  31. if(res.msg!='系统出现异常'){
  32. // 判断是否为地址配送问题
  33. if(res.msg!='请选择配送地址'){
  34. uni.showToast({
  35. title: res.msg,
  36. duration: 1500,
  37. mask: false,
  38. icon: 'none',
  39. })
  40. }
  41. }
  42. }
  43. return Promise.reject(new Error(res.msg || 'Error'))
  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. export function getTime(time) {
  63. var date=new Date(parseInt(time)* 1000);
  64. var year=date.getFullYear();
  65. var mon = date.getMonth()+1;
  66. var day = date.getDate();
  67. var hours = date.getHours();
  68. var minu = date.getMinutes();
  69. var sec = date.getSeconds();
  70. return year+'-'+mon+'-'+day+' '+hours+':'+minu+':'+sec;
  71. }
  72. // 请求前拦截器
  73. service.interceptors.request(
  74. config => {
  75. let token = uni.getStorageSync('token');
  76. let address = uni.getStorageSync('addressData')||''
  77. if (!config.header) {
  78. config.header = {
  79. "Authori-zation": 'Bearer ' + token,
  80. }
  81. } else {
  82. // 添加key请求头
  83. config.header["Authori-zation"] = 'Bearer ' + token;
  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;