| 1234567891011121314151617181920212223242526272829303132 |
- import { defineStore } from 'pinia'
- interface UserState {
- username: string
- isFirstLogin: boolean
- }
- export const useUserStore = defineStore('user', {
- state: (): UserState => ({
- username: localStorage.getItem('username') || '',
- isFirstLogin: localStorage.getItem('isFirstLogin')
- ? JSON.parse(localStorage.getItem('isFirstLogin'))
- : false
- }),
- getters: {},
- actions: {
- setUsername(username: any, isFirstLogin?: boolean) {
- localStorage.setItem('username', username)
- this.username = username
- this.isFirstLogin = isFirstLogin
- localStorage.setItem('isFirstLogin', JSON.stringify(isFirstLogin))
- },
- async logout(isNeedLogout: boolean = true) {
- if (isNeedLogout) {
- await $api.logout().then(() => {})
- }
- localStorage.removeItem('username')
- this.username = ''
- localStorage.removeItem('isFirstLogin')
- this.isFirstLogin = false
- }
- }
- })
|