فهرست منبع

feat(frontend): 优化环境配置获取逻辑

- 在 authGuard.ts 中添加 appConfig 获取逻辑,用于判断是否跳转到注册页- 在 http.ts 中简化环境配置获取逻辑,提高代码可读性
panqiuyao 4 ماه پیش
والد
کامیت
d413c1d586
2فایلهای تغییر یافته به همراه7 افزوده شده و 4 حذف شده
  1. 5 0
      frontend/src/router/plugins/authGuard.ts
  2. 2 4
      frontend/src/utils/http.ts

+ 5 - 0
frontend/src/router/plugins/authGuard.ts

@@ -2,6 +2,7 @@ import { Router, useRoute } from 'vue-router'
 import useUserInfo from "@/stores/modules/user";
 import tokenInfo from "@/stores/modules/token";
 const route = useRoute()
+import pinia from "@/stores/index";
 /**
  * 除了注册页,当没有 token 则跳转至注册页
  * @param router
@@ -14,6 +15,10 @@ export function authGuard(router: Router) {
 
     const useUserInfoStore = useUserInfo();
     const tokenInfoStore = tokenInfo();
+    const appConfig = pinia.state.value.config?.appConfig;
+    if(!appConfig)  return next()
+
+
     if (tokenInfoStore.getToken /* 已登录 */) {
       if(!useUserInfoStore.userInfo.id){
           await useUserInfoStore.getInfo()

+ 2 - 4
frontend/src/utils/http.ts

@@ -36,10 +36,8 @@ service.interceptors.request.use(
 
         // 动态设置baseURL
         const appConfig = pinia.state.value.config?.appConfig;
-        let env = 'local'; // 默认环境
-
-        if (appConfig?.env) {
-            env = appConfig.env;
+        let env = appConfig?.env || 'prod'; // 默认环境
+        if (env) {
             // 从ENV_CONFIG获取对应环境的API地址
             const apiConfig = ENV_CONFIG[env];
             if (apiConfig?.api) {