1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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<any>({ ...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,
- }
- },
- )
|