Files
shop-toy/src/store/user.ts
2025-11-29 20:22:24 +08:00

41 lines
911 B
TypeScript

import { defineStore } from 'pinia'
import type { User } from '@/typings/mall'
import { mockMember } from '@/mock/member'
export const useUserStore = defineStore('user', {
state: () => ({
userInfo: {
id: 'user_001',
username: 'admin',
nickname: '测试用户',
avatar: '/static/images/avatar.jpg',
phone: '13800138000',
creditLimits: [], // 实际应从 financeStore 获取或关联
member: mockMember,
} as User | null,
isLogin: true, // 默认已登录
}),
actions: {
// 登录(模拟)
login(data: any) {
this.isLogin = true
// ...
},
// 退出登录
logout() {
this.isLogin = false
this.userInfo = null
},
},
persist: {
key: 'shop-toy-user',
storage: {
getItem: key => uni.getStorageSync(key),
setItem: (key, value) => uni.setStorageSync(key, value),
},
},
})