邃芒慧语、照片说话(PC) https://photo.metavatar.cc/
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

74 行
2.0 KiB

  1. import axios from 'axios'
  2. import router from '@/router/index'
  3. import { ElMessage } from 'element-plus'
  4. // ElMessage
  5. import { userInfoModules } from "@/store/modules/userInfo";
  6. // import stores from '@/store/index'
  7. import { store } from '@/store/index'; // 因为不是在setup环境而是js中,必须重新初始化加载store
  8. const userInfoPinia = userInfoModules(store); //pinia
  9. // 开发环境需以 "/api" 拼接,其他环境需以 "/C" 拼接
  10. const env = process.env.NODE_ENV == 'development' ? "/api" : "/C"
  11. // const env = process.env.NODE_ENV == 'development' ? "" : ""
  12. // console.log(process.env.NODE_ENV, 'env')
  13. console.log(env)
  14. /**
  15. * @description:发送Axios请求
  16. */
  17. const request = axios.create({
  18. baseURL: env,
  19. timeout: 15000
  20. })
  21. // 请求拦截器
  22. request.interceptors.request.use(
  23. function (config) {
  24. // 给所有授权的请求提供token
  25. const AccessToken = localStorage.getItem("AccessToken")
  26. if (AccessToken) {
  27. config.headers.token = AccessToken
  28. }
  29. return config
  30. },
  31. function (error) {
  32. // 操作
  33. return Promise.reject(error)
  34. }
  35. )
  36. // 响应拦截器
  37. request.interceptors.response.use(
  38. function (response) {
  39. if (!response.data) {
  40. ElMessage.error($t('tips.systemException'));
  41. }
  42. let code = response.data.code
  43. // 当token无效(过期或损坏)时 1053为未登录
  44. if (code == 1052 || code == 1053) {
  45. localStorage.removeItem("AccessToken");
  46. router.push("/login");
  47. // ElMessage.error("登录过期,请重新登录!");
  48. ElMessage.error($t('tips.tokenExpired'));
  49. return
  50. // 弹出错误
  51. } else if (code != 200) {
  52. if (code == 500) {
  53. // ElMessage.error("系统异常,请稍后再试");
  54. ElMessage.error($t('tips.systemException'));
  55. // 其他错误
  56. } else {
  57. return Promise.reject(response.data)
  58. }
  59. } else {
  60. // 正常返回
  61. return response.data
  62. }
  63. },
  64. function (error) {
  65. }
  66. )
  67. export default request