用户接口调用、登录接口调用
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, computed } from 'vue'
|
||||
import {loginApi} from "@/api/request/user.js";
|
||||
|
||||
export const useUserStore = defineStore('user', () => {
|
||||
const user = ref(JSON.parse(localStorage.getItem('user') || 'null'))
|
||||
@@ -17,25 +18,21 @@ export const useUserStore = defineStore('user', () => {
|
||||
}
|
||||
}
|
||||
|
||||
const isAuthenticated = computed(() => !!user.value?.token)
|
||||
const isAuthenticated = computed(() => !!user.value?.nick_name)
|
||||
|
||||
function login(credentials) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
if (credentials.username === 'admin' && credentials.password === 'admin123') {
|
||||
const userData = {
|
||||
username: credentials.username,
|
||||
role: 'admin',
|
||||
token: 'mock_token_' + Math.random().toString(36).slice(2)
|
||||
}
|
||||
localStorage.setItem('user', JSON.stringify(userData))
|
||||
user.value = userData // 添加响应式状态更新
|
||||
localStorage.setItem('token', userData.token)
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error('用户名或密码错误'))
|
||||
}
|
||||
}, 500)
|
||||
loginApi({
|
||||
account: credentials.username,
|
||||
password: credentials.password,
|
||||
remember: credentials.remember,
|
||||
}).then((res) => {
|
||||
const userData = {
|
||||
nick_name: res.nick_name,
|
||||
role_name: res.role_name,
|
||||
role_value: res.role_value,
|
||||
}
|
||||
localStorage.setItem('user', JSON.stringify(userData))
|
||||
localStorage.setItem('token', res.token)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user