闫增涛
2025-06-12 e2952ba4b6a392047ddbc3542465a81413c64eb9
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
// 用户信息
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
  }
})