http.interceptor.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. const serverAddress = 'http://localhost:8099/store-api/';
  2. const install = (Vue, vm) => {
  3. Vue.prototype.$u.http.setConfig({
  4. // baseUrl: 'http://youanju.yajkj.com',
  5. baseUrl: 'http://test-member.uxianxin.com/api/member',
  6. // baseUrl: 'http://192.168.0.111:6060/member',
  7. ossUrl:'http://test-member.uxianxin.com/api',
  8. dataType: 'json',
  9. showLoading: true, // 是否显示请求中的loading
  10. loadingText: '请求中...', // 请求loading中的文字提示
  11. loadingTime: 800, // 在此时间内,请求还没回来的话,就显示加载中动画,单位ms
  12. originalData: false, // 是否在拦截器中返回服务端的原始数据
  13. loadingMask: true, // 展示loading的时候,是否给一个透明的蒙层,防止触摸穿透
  14. // header:{
  15. // 'content-type': 'application/x-www-form-urlencoded'
  16. // }
  17. });
  18. //旧系统图片上传后的前缀域名
  19. Vue.prototype.$oldImgUrl = 'http://wechat.yajkj.com';
  20. //新系统图片域名前缀
  21. Vue.prototype.$fileHost = 'http://fresh-life.oss-cn-shanghai.aliyuncs.com/'
  22. // 请求拦截,配置Token等参数
  23. Vue.prototype.$u.http.interceptor.request = (config) => {
  24. const token = uni.getStorageSync('token');
  25. const secret = uni.getStorageSync('secret');
  26. config.header.token = token;
  27. config.header.secret = secret;
  28. return config;
  29. }
  30. // 响应拦截,判断状态码是否通过
  31. Vue.prototype.$u.http.interceptor.response = (res) => {
  32. // console.log(JSON.stringify("------------"))
  33. // console.log(JSON.stringify(res))
  34. // console.log(res)
  35. if(res.code == 200) {
  36. // console.log("11111")
  37. return res;
  38. }else if(res.code == 401){
  39. // console.log("22222")
  40. uni.showToast({
  41. title:"登录过期,请重新登录",
  42. duration:1500, mask:false, icon:'none'
  43. });
  44. //此时应重新登录
  45. // console.log("goto--login")
  46. uni.navigateTo({
  47. url: '/pages/codelogin/codelogin'
  48. })
  49. return res;
  50. } else {
  51. // console.log("33333")
  52. uni.showToast({
  53. title: res.msg == null ? "出错了" : res.msg,
  54. duration:1500, mask:false, icon:'none'
  55. });
  56. return res;
  57. }
  58. }
  59. }
  60. export default {
  61. install
  62. }