/* eslint-disable */
|
import Cookies from "js-cookie";
|
function toJSON(str) {
|
if (typeof str == "string") {
|
try {
|
var obj = JSON.parse(str);
|
if (typeof obj == "object" && obj) {
|
return obj;
|
} else {
|
return {};
|
}
|
} catch (e) {
|
console.log("toJSON error:" + str + "!!!" + e);
|
return {};
|
}
|
}
|
console.log("It is not a string!");
|
}
|
|
const app = {
|
state: {
|
sidebar: {
|
opened: !+Cookies.get("sidebarStatus"),
|
withoutAnimation: false
|
},
|
device: "desktop",
|
language: Cookies.get("language") || "zh",
|
size: Cookies.get("size") || "medium",
|
basicInfo: toJSON(Cookies.get("basicInfo")) // 系统信息
|
},
|
mutations: {
|
TOGGLE_SIDEBAR: state => {
|
if (state.sidebar.opened) {
|
Cookies.set("sidebarStatus", 1);
|
} else {
|
Cookies.set("sidebarStatus", 0);
|
}
|
state.sidebar.opened = !state.sidebar.opened;
|
state.sidebar.withoutAnimation = false;
|
},
|
CLOSE_SIDEBAR: (state, withoutAnimation) => {
|
Cookies.set("sidebarStatus", 1);
|
state.sidebar.opened = false;
|
state.sidebar.withoutAnimation = withoutAnimation;
|
},
|
TOGGLE_DEVICE: (state, device) => {
|
state.device = device;
|
},
|
SET_LANGUAGE: (state, language) => {
|
state.language = language;
|
Cookies.set("language", language);
|
},
|
SET_SIZE: (state, size) => {
|
state.size = size;
|
Cookies.set("size", size);
|
},
|
SET_BasicInfo: (state, basicInfo) => {
|
state.basicInfo = basicInfo;
|
Cookies.set("basicInfo", JSON.stringify(basicInfo));
|
}
|
},
|
actions: {
|
toggleSideBar({ commit }) {
|
commit("TOGGLE_SIDEBAR");
|
},
|
closeSideBar({ commit }, { withoutAnimation }) {
|
commit("CLOSE_SIDEBAR", withoutAnimation);
|
},
|
toggleDevice({ commit }, device) {
|
commit("TOGGLE_DEVICE", device);
|
},
|
setLanguage({ commit }, language) {
|
commit("SET_LANGUAGE", language);
|
},
|
setSize({ commit }, size) {
|
commit("SET_SIZE", size);
|
},
|
setBasicInfo({ commit }, basicInfo) {
|
commit("SET_BasicInfo", basicInfo);
|
}
|
}
|
};
|
|
export default app;
|