qiyunfeng-create
3 天以前 5f00696dfb25bc90034448ceb634ed1ef256681a
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
import { defineStore } from 'pinia'
import config from '@/assets/js/config.js'
import { ref } from 'vue'
 
const { tokenKey, userInfoKey } = config
 
 
export const useUserStore = defineStore('user', () => {
  const token = localStorage.getItem(tokenKey) ? ref(localStorage.getItem(tokenKey)) : ref()
  const userInfo = localStorage.getItem(userInfoKey)
    ? ref(JSON.parse(localStorage.getItem(userInfoKey)))
    : ref()
  const setToken = (value) => {
    token.value = value
    localStorage.setItem(tokenKey, value)
  }
  const setUserInfo = (value) => {
    userInfo.value = value
    localStorage.setItem(userInfoKey, JSON.stringify(value))
  }
  // 退出登录
  const delteUserInfo = () => {
    ;((token.vlaue = ''), (userInfo.value = { userName: '', userType: '' }))
    localStorage.removeItem(tokenKey)
    localStorage.removeItem(userInfoKey)
    localStorage.removeItem('xiehe-isUserInfo')
  }
  // 购物车数量
  let cartNum = ref(1)
  // 更新右侧弹出框购物车的数量
  const updateRightPop = () => {
    cartNum.value += 1
  }
 
  // 购物车商品id
  const shoppingIds = ref([])
  const updateShoppingIds = (ids) => {
    shoppingIds.value = ids
  }
 
  // 已购买的商品id
  const buyIds = ref([])
  const updateBuyIds = (ids) => {
    buyIds.value = ids
  }
 
  return {
    token,
    setToken,
    userInfo,
    setUserInfo,
    delteUserInfo,
    cartNum,
    updateRightPop,
    shoppingIds,
    updateShoppingIds,
    buyIds,
    updateBuyIds,
  }
})
 
export const applyBookStore = defineStore('applyBook', () => {
  //样书申请
  let electronicBookList = localStorage.getItem('electronicBookList')
    ? ref(JSON.parse(localStorage.getItem('electronicBookList')))
    : ref([])
  let paperBookList = localStorage.getItem('paperBookList')
    ? ref(JSON.parse(localStorage.getItem('paperBookList')))
    : ref([])
  //已申请图书
  let alreadyPaperBook = localStorage.getItem('alreadyPaperBook')
    ? ref(JSON.parse(localStorage.getItem('alreadyPaperBook')))
    : ref([])
  let alreadyElectronicBook = localStorage.getItem('alreadyElectronicBook')
    ? ref(JSON.parse(localStorage.getItem('alreadyElectronicBook')))
    : ref([])
  // 添加电子样书列表
  const appplyElectronicBook = (value) => {
    electronicBookList.value.push(value)
    localStorage.setItem('electronicBookList', JSON.stringify(electronicBookList.value))
  }
 
  //添加纸质样式列表
  const appplyPaperBook = (value) => {
    paperBookList.value.push(value)
    localStorage.setItem('paperBookList', JSON.stringify(paperBookList.value))
  }
 
  //删除电子样书列表
  const removeElectronicBook = (value) => {
    electronicBookList.value.splice(value, 1)
    localStorage.setItem('electronicBookList', JSON.stringify(electronicBookList.value))
  }
 
  //删除纸质样式
  const removePaperBook = (value) => {
    paperBookList.value.splice(value, 1)
    localStorage.setItem('paperBookList', JSON.stringify(paperBookList.value))
  }
  const emptyBookList = (value) => {
    if (value && value.type == 'eBook') {
      electronicBookList.value = []
      localStorage.setItem('electronicBookList', JSON.stringify(electronicBookList.value))
    } else if (value && value.type == 'paperBook') {
      paperBookList.value = []
      localStorage.setItem('paperBookList', JSON.stringify(paperBookList.value))
    } else {
      paperBookList.value = []
      electronicBookList.value = []
      alreadyPaperBook.value = []
      alreadyElectronicBook.value = []
      localStorage.removeItem('electronicBookList')
      localStorage.removeItem('paperBookList')
    }
  }
 
  //已申请图书
  const alreadyPaperBookList = (value) => {
    alreadyPaperBook.value = value.list
    localStorage.setItem('alreadyPaperBook', JSON.stringify(alreadyPaperBook.value))
  }
 
  const alreadyElectronicBookList = (value) => {
    alreadyElectronicBook.value = value.list
    localStorage.setItem('alreadyElectronicBook', JSON.stringify(alreadyElectronicBook.value))
  }
 
  return {
    electronicBookList,
    paperBookList,
    alreadyPaperBook,
    alreadyElectronicBook,
    appplyElectronicBook,
    appplyPaperBook,
    removeElectronicBook,
    removePaperBook,
    emptyBookList,
    alreadyPaperBookList,
    alreadyElectronicBookList
  }
})