request.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import service from './newRequest.js'
  2. import store from '../store';
  3. import md5 from 'js-md5'
  4. import {
  5. saveUrl,
  6. interceptor
  7. } from '@/utils/loginUtils.js';
  8. // 请求完成后拦截
  9. service.interceptors.response(
  10. response => {
  11. try {
  12. let res = response.data;
  13. // 解析字符串为数字
  14. if (res.status !== 200) {
  15. console.log(res.status);
  16. if (res.status == 410000) {
  17. // 调用退出登录方法清空用户信息
  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. var timestamp = new Date().getTime();
  66. var appSecret = '9034D2526CE4C02CDFFA4CA0CF05D2B5';
  67. var Appid = 'LaF961E07F0CC3';
  68. var Sign = md5(Appid+appSecret+timestamp+Appid+timestamp+appSecret+appSecret+Appid);
  69. if (!config.header) {
  70. config.header = {
  71. "Authori-zation": 'Bearer ' + token,
  72. "Appid": 'UtilLa LaF961E07F0CC3',
  73. 'SignTime': timestamp,
  74. 'Sign': md5(Sign).toUpperCase()
  75. }
  76. } else {
  77. // 添加key请求头
  78. config.header["Authori-zation"] = 'Bearer ' + token;
  79. config.header["Appid"] = 'UtilLa LaF961E07F0CC3';
  80. config.header['SignTime'] = timestamp;
  81. config.header['Sign'] = md5(Sign).toUpperCase();
  82. }
  83. return config
  84. },
  85. error => {
  86. // 错误处理
  87. console.log(error)
  88. return Promise.reject(error)
  89. }
  90. )
  91. let upFilse = service.upFilse;
  92. export {
  93. upFilse
  94. };
  95. export default service.open;