| 12345678910111213141516171819202122232425262728293031 |
- import { defineStore } from 'pinia'
- import api from '../api'
- export const useAuthStore = defineStore('auth', {
- state: () => ({
- token: localStorage.getItem('token') || '',
- user: JSON.parse(localStorage.getItem('user')) || null,
- }),
- actions: {
- async login(username, password) {
- try {
- const response = await api.post('/login', { username, password })
- this.token = response.data.access_token
- this.user = { username: response.data.username }
- localStorage.setItem('token', this.token)
- localStorage.setItem('user', JSON.stringify(this.user))
- return true
- } catch (error) {
- console.error(error)
- return false
- }
- },
- logout() {
- this.token = ''
- this.user = null
- localStorage.removeItem('token')
- localStorage.removeItem('user')
- location.reload()
- }
- }
- })
|