request.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import axios from "axios";
  2. import { requestLogger, responseLogger } from "axios-logger";
  3. import store from "@/store";
  4. import { Toast } from "vant";
  5. const request = axios.create({
  6. baseURL: import.meta.env.MODE === "production" ? "/prod-api" : "/dev-api",
  7. });
  8. request.interceptors.request.use((config) => {
  9. console.log(config)
  10. // 是否需要设置 token
  11. if (config.headers.isToken !== false) {
  12. config.headers["Authorization"] = "Bearer " + store.getters.getToken; // 让每个请求携带自定义token 请根据实际情况自行修改
  13. }
  14. return config;
  15. }, error => {
  16. });
  17. request.interceptors.response.use((res) => {
  18. if (res && res.data) {
  19. switch (res.data.code) {
  20. case 401:
  21. // Toast("登录失败,需要再次登录")
  22. window.setTimeout(() => {
  23. switch (import.meta.env.MODE) {
  24. case "development":
  25. location.replace(`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx67ca1b8c9816ef28&redirect_uri=https://jpcj-h5.zzxcx.net/home/test&response_type=code&scope=snsapi_userinfo&state=LOGIN#wechat_redirect`)
  26. break;
  27. case "test":
  28. location.replace(`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx67ca1b8c9816ef28&redirect_uri=https://jpcj-h51.zzxcx.net/home/test&response_type=code&scope=snsapi_userinfo&state=LOGIN#wechat_redirect`)
  29. break;
  30. case "production":
  31. location.replace(`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx67ca1b8c9816ef28&redirect_uri=https://jpcj-h5.zzxcx.net/home/test&response_type=code&scope=snsapi_userinfo&state=LOGIN#wechat_redirect`);
  32. break;
  33. }
  34. }, 2000)
  35. break;
  36. case 502:
  37. if (res.data.msg == "微信授权无效,请重新授权") {
  38. location.replace("https://jpcj-h5.zzxcx.net/home/test")
  39. }
  40. break;
  41. }
  42. }
  43. // console.log(res)
  44. return res;
  45. });
  46. export default request;