// 用户信息
|
import {tokenKey,userInfoKey} from '@/assets/js/config.js'
|
import { defineStore } from 'pinia'
|
import { ref } from 'vue'
|
interface userInfoState {
|
name:string
|
}
|
export const useUserStore = defineStore('user', () => {
|
const token = localStorage.getItem(tokenKey) ? ref<string>(localStorage.getItem(tokenKey) as string) : ref<string>()
|
const setToken = (value: string) => {
|
token.value = value
|
localStorage.setItem(tokenKey, value)
|
}
|
const userInfo = localStorage.getItem(userInfoKey) ? ref<userInfoState>(JSON.parse(localStorage.getItem(userInfoKey) as string)) : ref<userInfoState>()
|
const setUserInfo = (value: userInfoState) => {
|
userInfo.value = value
|
localStorage.setItem(userInfoKey, JSON.stringify(value))
|
}
|
// 退出登录
|
const delteUserInfo = () => {
|
token.value = '',
|
userInfo.value = { name:''}
|
localStorage.removeItem(tokenKey)
|
localStorage.removeItem(userInfoKey)
|
}
|
|
// 购物车
|
const shopCarNum = ref<number>(0)
|
const updateShopCar = (num:number) => {
|
shopCarNum.value = num
|
}
|
return {
|
token,
|
setToken,
|
userInfo,
|
setUserInfo,
|
delteUserInfo,
|
shopCarNum,
|
updateShopCar
|
}
|
})
|