Bladeren bron

refactor: 统一管理 token 键名并优化 pinia 初始化

将 token 键名统一配置到环境变量中,便于维护
重构 pinia 初始化逻辑,改为从 store 模块导入
piks 2 dagen geleden
bovenliggende
commit
39889e257d
5 gewijzigde bestanden met toevoegingen van 11 en 6 verwijderingen
  1. 3 0
      .env.development
  2. 4 1
      .env.production
  3. 2 3
      src/main.ts
  4. 1 1
      src/store/modules/user.ts
  5. 1 1
      src/utils/auth.ts

+ 3 - 0
.env.development

@@ -6,3 +6,6 @@ VITE_APP_ENV = 'development'
 
 # DDAC/开发环境
 VITE_APP_BASE_API = '/dev-api'
+
+# Token 存储键名
+VITE_APP_TOKEN_KEY = 'dd_token'

+ 4 - 1
.env.production

@@ -8,4 +8,7 @@ VITE_APP_ENV = 'production'
 VITE_APP_BASE_API = '/prod-api'
 
 # 是否在打包时开启压缩,支持 gzip 和 brotli
-VITE_BUILD_COMPRESS = gzip
+VITE_BUILD_COMPRESS = gzip
+
+# Token 存储键名
+VITE_APP_TOKEN_KEY = 'dd_token'

+ 2 - 3
src/main.ts

@@ -1,7 +1,7 @@
 import { createApp } from 'vue'
 import App from './App.vue'
 import router from './router'
-import { createPinia } from 'pinia'
+import Pinia from './store'
 import * as ElementPlusIconsVue from '@element-plus/icons-vue'
 import 'element-plus/dist/index.css'
 import 'element-plus/theme-chalk/dark/css-vars.css'
@@ -20,7 +20,6 @@ import 'virtual:svg-icons-register'
 import './permission'
 
 const app = createApp(App)
-const pinia = createPinia()
 
 // 注册所有 Element Plus 图标(Sidebar 的 icon 字段使用)
 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
@@ -35,5 +34,5 @@ app.component('Pagination', Pagination)
 // 注册状态文本组件
 app.component('StatusText', StatusText)
 
-app.use(pinia).use(router)
+app.use(Pinia).use(router)
 app.mount('#app')

+ 1 - 1
src/store/modules/user.ts

@@ -2,7 +2,7 @@ import { defineStore } from 'pinia'
 import { ref, computed } from 'vue'
 import { mockLogin, mockGetUserInfo } from '@/mock'
 
-const TOKEN_KEY = 'app_token'
+const TOKEN_KEY = import.meta.env.VITE_APP_TOKEN_KEY
 
 export const useUserStore = defineStore('user', () => {
   const token = ref(localStorage.getItem(TOKEN_KEY) || '')

+ 1 - 1
src/utils/auth.ts

@@ -1,4 +1,4 @@
-const TokenKey: string = 'token'
+const TokenKey: string = import.meta.env.VITE_APP_TOKEN_KEY
 
 export function getToken(): string | null {
   return localStorage.getItem(TokenKey)