request.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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);
  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.showModal({
  36. title: '提示',
  37. content: '您未绑定手机号或邮箱,请您先去绑定手机号或邮箱',
  38. showCancel: false,
  39. success: function(res) {
  40. if (res.confirm) {
  41. uni.navigateTo({
  42. url: '/pages/set/phone'
  43. })
  44. }
  45. }
  46. })
  47. }
  48. if (res.msg != '系统出现异常' && res.msg != '请先绑定手机号或邮箱' ) {
  49. uni.showToast({
  50. title: res.msg,
  51. duration: 1500,
  52. mask: false,
  53. icon: 'none',
  54. })
  55. }
  56. }
  57. return Promise.reject(res)
  58. } else {
  59. return res
  60. }
  61. } catch (e) {
  62. console.log(e);
  63. }
  64. },
  65. error => {
  66. uni.showToast({
  67. title: "加载错误请重试",
  68. duration: 1500,
  69. mask: false,
  70. icon: 'none',
  71. })
  72. return Promise.reject(error)
  73. }
  74. )
  75. // 请求前拦截器
  76. service.interceptors.request(
  77. config => {
  78. let token = uni.getStorageSync('token') || '';
  79. var timestamp = new Date().getTime();
  80. var appSecret = '9034D2526CE4C02CDFFA4CA0CF05D2B5';
  81. var Appid = 'LaF961E07F0CC3';
  82. var Sign = md5(Appid + appSecret + timestamp + Appid + timestamp + appSecret + appSecret + Appid);
  83. // console.log(config);
  84. if (!config.header) {
  85. config.header = {
  86. "Authori-zation": 'Bearer ' + token,
  87. "Appid": 'UtilLa LaF961E07F0CC3',
  88. 'SignTime': timestamp,
  89. 'Sign': md5(Sign).toUpperCase()
  90. }
  91. } else {
  92. // 添加key请求头
  93. config.header["Authori-zation"] = 'Bearer ' + token;
  94. config.header["Appid"] = 'UtilLa LaF961E07F0CC3';
  95. config.header['SignTime'] = timestamp;
  96. config.header['Sign'] = md5(Sign).toUpperCase();
  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;