用户接口调用、登录接口调用

This commit is contained in:
2025-05-05 16:45:29 +08:00
parent ec94aa7ba4
commit fab8454367
7 changed files with 360 additions and 259 deletions

View File

@@ -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)
})
}