Files
APP/store/store.js
2025-07-05 14:49:26 +08:00

42 lines
869 B
JavaScript

// store/index.js
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
state: {
userInfo: null, // 用户信息
theme: 'light', // 主题
token: '', // 登录凭证
},
mutations: {
setUserInfo(state, userInfo) {
state.userInfo = userInfo;
},
setTheme(state, theme) {
state.theme = theme;
},
setToken(state, token) {
state.token = token;
}
},
actions: {
updateUserInfo({ commit }, userInfo) {
commit('setUserInfo', userInfo);
},
updateTheme({ commit }, theme) {
commit('setTheme', theme);
},
updateToken({ commit }, token) {
commit('setToken', token);
}
},
getters: {
getUserInfo: (state) => state.userInfo,
getTheme: (state) => state.theme,
getToken: (state) => state.token
}
});
export default store;