import { defineStore } from 'pinia' import { ref } from 'vue' import { getUserInfo as _getUserInfo } from '@/api/login' // 初始化状态 const userInfoState: any = { id: 0, name: '', avatar: '/static/images/default-avatar.png', token: '', } export const useUserStore = defineStore( 'user', () => { // 定义用户信息 const userInfo = ref({ ...userInfoState }) // 设置用户信息 const setUserInfo = (val: any) => { console.log('设置用户信息', val) userInfo.value = { ...userInfo, val } } // 删除用户信息 const removeUserInfo = () => { userInfo.value = { ...userInfoState } uni.removeStorageSync('userInfo') uni.removeStorageSync('token') } /** * 获取用户信息 */ const getUserInfo = async () => { const res = await _getUserInfo() const userInfo = res.data setUserInfo(userInfo) uni.setStorageSync('userInfo', userInfo) return res } return { userInfo, getUserInfo, setUserInfo, removeUserInfo, } }, )