From 5f00696dfb25bc90034448ceb634ed1ef256681a Mon Sep 17 00:00:00 2001 From: qiyunfeng-create <1940665526@qq.com> Date: 星期四, 21 八月 2025 21:13:35 +0800 Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/xiehe_website --- src/store/modules/user.js | 142 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 142 insertions(+), 0 deletions(-) diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..7b70852 --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,142 @@ +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 + } + + // 璐墿杞﹀晢鍝乮d + 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 + } +}) + -- Gitblit v1.9.1