request.ts 2.1 KB

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