| 123456789101112131415161718192021222324252627282930 |
- import { defineStore } from 'pinia'
- import request from '@/utils/request'
- interface AuthState {
- token: string
- username: string
- }
- export const useAuthStore = defineStore('auth', {
- state: (): AuthState => ({
- token: localStorage.getItem('admin_token') || '',
- username: ''
- }),
- getters: {
- isLoggedIn: (state) => !!state.token
- },
- actions: {
- async login(username: string, password: string) {
- const data: any = await request.post('/auth/login', { username, password })
- this.token = data.token
- this.username = username
- localStorage.setItem('admin_token', data.token)
- },
- logout() {
- this.token = ''
- this.username = ''
- localStorage.removeItem('admin_token')
- }
- }
- })
|