diff --git a/web/src/main.ts b/web/src/main.ts
index 700cbff..6c16b65 100644
--- a/web/src/main.ts
+++ b/web/src/main.ts
@@ -1,9 +1,10 @@
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
-import store from './store'
+import store, { useUserStore } from './store'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
+import { getToken } from './utils/storage'
const app = createApp(App)
@@ -11,4 +12,11 @@ app.use(router)
app.use(store)
app.use(ElementPlus)
+// 初始化store中的token
+const token = getToken()
+if (token) {
+ const userStore = useUserStore()
+ userStore.setToken(token)
+}
+
app.mount('#app')
diff --git a/web/src/store/modules/user.ts b/web/src/store/modules/user.ts
index 9133f65..2d633f3 100644
--- a/web/src/store/modules/user.ts
+++ b/web/src/store/modules/user.ts
@@ -2,6 +2,7 @@ import { defineStore } from 'pinia'
import { ref } from 'vue'
import { loginApi } from '../../api/login'
import type { LoginForm } from '../../api/login/types'
+import { setToken as setStorageToken, removeToken } from '../../utils/storage'
export const useUserStore = defineStore('user', () => {
const token = ref('')
@@ -9,6 +10,7 @@ export const useUserStore = defineStore('user', () => {
const setToken = (newToken: string) => {
token.value = newToken
+ setStorageToken(newToken)
}
const setUserInfo = (info: object) => {
@@ -22,11 +24,16 @@ export const useUserStore = defineStore('user', () => {
return res
}
+ const getUserInfo = () => {
+ return userInfo.value
+ }
+
return {
token,
userInfo,
setToken,
setUserInfo,
- login
+ login,
+ getUserInfo
}
})
diff --git a/web/src/views/Layout/index.vue b/web/src/views/Layout/index.vue
index ddf22a2..f406ae5 100644
--- a/web/src/views/Layout/index.vue
+++ b/web/src/views/Layout/index.vue
@@ -48,7 +48,7 @@
个人中心
- 退出登录
+ 退出登录
@@ -65,7 +65,9 @@