import { defineStore } from 'pinia'; import { UserInfo } from './interface'; export const useUserInfo = defineStore('userInfo', { state: (): UserInfo => { return { id: 0, userType: 0, userName: '', nickName: '', token: '', refreshToken: '', }; }, actions: { dataFill(state: UserInfo) { this.$state = { ...this.$state, ...state }; }, removeToken() { this.token = ''; this.refreshToken = ''; }, setToken(token: string, type: 'auth' | 'refresh') { const field = type == 'auth' ? 'token' : 'refreshToken'; this[field] = token; }, getToken(type: 'auth' | 'refresh' = 'auth') { return type === 'auth' ? this.token : this.refreshToken; }, }, persist: { key: 'userInfo', }, });