import Vue from "vue";
|
import Vuex from "vuex";
|
import tool from "@/assets/js/toolClass";
|
import {
|
tokenKey,
|
userInfoKey
|
} from "@/assets/js/config";
|
Vue.use(Vuex);
|
// localStorage.setItem("electronicBookList", [])
|
// localStorage.setItem("paperBookList", [])
|
export default new Vuex.Store({
|
state: {
|
token: tool.getCookie(tokenKey),
|
userInfo: localStorage.getItem(userInfoKey) ?
|
JSON.parse(localStorage.getItem(userInfoKey)) : {},
|
// electronicBookList: [],
|
// paperBookList: []
|
//已选电子书列表
|
electronicBookList: localStorage.getItem("electronicBookList") ?
|
JSON.parse(localStorage.getItem("electronicBookList")) : [],
|
//已选纸质书列表
|
paperBookList: localStorage.getItem("paperBookList") ?
|
JSON.parse(localStorage.getItem("paperBookList")) : [],
|
},
|
mutations: {
|
//添加电子书
|
appplyElectronicBook(state, item) {
|
state.electronicBookList.unshift(item)
|
localStorage.setItem(
|
"electronicBookList",
|
JSON.stringify(state.electronicBookList)
|
)
|
},
|
//添加纸质书
|
appplyPaperBook(state, item) {
|
state.paperBookList.unshift(item);
|
localStorage.setItem(
|
"paperBookList",
|
JSON.stringify(state.paperBookList)
|
);
|
},
|
//移除电子书
|
removeElectronicBook(state, index) {
|
state.electronicBookList.splice(index, 1);
|
localStorage.removeItem("electronicBookList");
|
localStorage.setItem(
|
"electronicBookList",
|
JSON.stringify(state.electronicBookList)
|
);
|
},
|
//移除纸质书
|
removePaperBook(state, index) {
|
state.paperBookList.splice(index, 1);
|
localStorage.removeItem("paperBookList");
|
localStorage.setItem(
|
"paperBookList",
|
JSON.stringify(state.paperBookList)
|
);
|
},
|
//清空电子书
|
clearElectronicBook(state) {
|
state.electronicBookList.length = 0;
|
localStorage.removeItem("electronicBookList");
|
localStorage.setItem(
|
"electronicBookList",
|
JSON.stringify([])
|
);
|
},
|
//清空纸质书
|
clearPaperBook(state) {
|
state.paperBookList.length = 0;
|
localStorage.removeItem("paperBookList");
|
localStorage.setItem(
|
"paperBookList",
|
JSON.stringify([])
|
);
|
},
|
|
//用户信息
|
changeUserInfo(state, val) {
|
if (val) {
|
// 默认头像
|
state.userInfo = JSON.parse(JSON.stringify(val));
|
if (!val.icon) {
|
val.icon = require("@/assets/images/default_avatar.png");
|
}
|
tool.setCookie(userInfoKey, JSON.stringify(val));
|
localStorage.setItem(userInfoKey, JSON.stringify(val));
|
} else {
|
console.log(val, 2);
|
tool.setCookie(userInfoKey, JSON.stringify(val));
|
localStorage.setItem(userInfoKey, JSON.stringify(val));
|
}
|
},
|
changeLogin(state, val) {
|
if (val) {
|
state.token = val;
|
tool.setCookie(tokenKey, val);
|
} else {
|
state.token = null;
|
tool.delCookie(tokenKey);
|
}
|
},
|
//用户信息
|
|
},
|
actions: {
|
setUserInfo(context, val) {
|
context.commit("changeUserInfo", val);
|
},
|
|
setToken(context, val) {
|
context.commit("changeLogin", val);
|
},
|
},
|
modules: {}
|
});
|