import { createStore, createLogger } from "vuex"; import weather from "./modules/weather"; import user from "./modules/user"; import routes from "./modules/router"; import getters from "./getters"; const debug = process.env.NODE_ENV !== "production"; // 默认状态 const state = { websocketTimeSec: 1000, loading: false, //全局 - 加载中.... themeName: localStorage.getItem("themeName") || "dark", // 主题 menuData: [], windturbineMap: {}, moudleName: localStorage.getItem("ModuleName") || "", isFixed: JSON.parse(localStorage.getItem("isFixed")) || false, boosterList: JSON.parse(localStorage.getItem("boosterList")) || [], boosterAlarm: JSON.parse(localStorage.getItem("boosterAlarm")) || 0, drawer: JSON.parse(localStorage.getItem("drawer")) || false, alarmList: JSON.parse(localStorage.getItem("alarmList")) || {}, }; //改变状态的方法` const mutations = { loadingStore(state, tag) { state.loading = tag; }, changeIsFixed(state, isFixed) { state.isFixed = isFixed; localStorage.setItem("isFixed", isFixed); }, changeTheme(state, tag) { state.themeName = tag; }, update(state, newData) { state.windturbineMap = newData.data; }, changeMenuData(state, newData) { state.menuData = newData; }, changeModuleName(state, newData) { state.moudleName = newData; }, changeBooster(state, data) { state.boosterList = data; localStorage.setItem("boosterList", JSON.stringify(data)); }, changeBoosterAlarm(state, data) { state.boosterAlarm = data; localStorage.setItem("boosterAlarm", JSON.stringify(data)); }, changeDrawer(state, data) { state.drawer = data; localStorage.setItem("drawer", data); }, changeAlarmlist(state, data) { state.alarmList = data; localStorage.setItem("alarmList", JSON.stringify(data)); }, }; const actions = { getupdate(context, newData) { context.commit("update", newData); }, changeTheme(context, str) { context.commit("changeTheme", str); }, changeMenuData(context, str) { context.commit("changeMenuData", str); }, changeModuleName(context, str) { context.commit("changeModuleName", str); localStorage.setItem("ModuleName", str); }, }; export default createStore({ modules: { weather, user, routes, }, state, mutations, actions, getters, strict: debug, plugins: debug ? [createLogger()] : [], });