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: {} });