41 lines
911 B
TypeScript
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),
|
|
},
|
|
},
|
|
})
|