2025-03-05 23:13:24 +08:00
|
|
|
import Vue from 'vue'
|
|
|
|
|
import Vuex from 'vuex'
|
2025-03-14 23:48:59 +08:00
|
|
|
import Constant from '../utils/constant'
|
2025-03-05 23:13:24 +08:00
|
|
|
|
|
|
|
|
Vue.use(Vuex)
|
|
|
|
|
|
|
|
|
|
export default new Vuex.Store({
|
|
|
|
|
state: {
|
2025-03-31 15:34:26 +08:00
|
|
|
token: '',
|
|
|
|
|
userInfo: {} // 添加用户信息存储
|
2025-03-05 23:13:24 +08:00
|
|
|
},
|
|
|
|
|
getters: {
|
2025-03-14 23:48:59 +08:00
|
|
|
getToken(state) {
|
|
|
|
|
if (!state.token) {
|
|
|
|
|
state.token = localStorage.getItem('token')
|
|
|
|
|
}
|
|
|
|
|
return state.token
|
2025-03-31 15:34:26 +08:00
|
|
|
},
|
|
|
|
|
getUserInfo(state) {
|
|
|
|
|
return state.userInfo
|
2025-03-14 23:48:59 +08:00
|
|
|
}
|
2025-03-05 23:13:24 +08:00
|
|
|
},
|
|
|
|
|
mutations: {
|
2025-03-14 23:48:59 +08:00
|
|
|
setToken(state, token) {
|
|
|
|
|
state.token = token
|
2025-03-31 15:34:26 +08:00
|
|
|
localStorage.setItem('token', token)
|
|
|
|
|
},
|
|
|
|
|
setUserInfo(state, userInfo) {
|
|
|
|
|
state.userInfo = userInfo
|
|
|
|
|
},
|
|
|
|
|
clearAuth(state) {
|
|
|
|
|
state.token = ''
|
|
|
|
|
state.userInfo = {}
|
|
|
|
|
localStorage.removeItem('token')
|
2025-03-14 23:48:59 +08:00
|
|
|
}
|
2025-03-05 23:13:24 +08:00
|
|
|
},
|
|
|
|
|
actions: {
|
2025-03-31 15:34:26 +08:00
|
|
|
// 添加 logout action
|
|
|
|
|
logout({ commit }) {
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
commit('clearAuth')
|
|
|
|
|
resolve()
|
|
|
|
|
})
|
|
|
|
|
}
|
2025-03-05 23:13:24 +08:00
|
|
|
},
|
|
|
|
|
modules: {
|
|
|
|
|
}
|
2025-03-31 15:34:26 +08:00
|
|
|
})
|