旅游教育出版社-数字教材移动端
QYF-GitLab1
3 天以前 8e3ee81b6ed824866734b7034604121f370f4201
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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: {}
});