index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { BASE_URL, TIMEOUT } from "./config.js";
  2. import Cache from "@/utils/cache.js";
  3. // 引入请求库
  4. import Request from "@/utils/luch-request/luch-request/index.js";
  5. const http = new Request({
  6. baseURL: BASE_URL,
  7. timeout: TIMEOUT
  8. });
  9. // 请求拦截器
  10. http.interceptors.request.use(
  11. (config)=>{
  12. // 根据请求信息里携带的自定义属性,判断当前请求是否需要携带token
  13. const needToken = config.custom.needToken || false;
  14. if (needToken) {
  15. const token = Cache.getCache('token');
  16. config.header['Auth-Token'] = token;
  17. }
  18. return config;
  19. },
  20. // 失败拦截
  21. (error)=>{
  22. return Promise.reject(error)
  23. }
  24. )
  25. // 响应拦截器
  26. http.interceptors.response.use(
  27. // 响应成功拦截
  28. (response)=>{
  29. const { data } = response;
  30. if(data.data == "token已过期"){
  31. uni.showToast({
  32. title: "账号已过期,请重新登陆",
  33. icon:"none",
  34. duration: 1200
  35. });
  36. }else if(data.statusCode == 50000){
  37. uni.showToast({
  38. title: data.statusMsg,
  39. icon:"none",
  40. duration: 1200
  41. });
  42. }
  43. return data;
  44. },
  45. // 响应失败拦截
  46. (err)=>{
  47. const { msg } = err
  48. if(msg){
  49. this.$showToast(msg)
  50. }
  51. console.log(err)
  52. }
  53. )
  54. export default http;