fix(frontend): 修复登录响应字段映射,适配 Java 后端平铺结构
This commit is contained in:
parent
30677a7c02
commit
71d8819361
@ -6,17 +6,14 @@ export interface LoginParams {
|
|||||||
role: string;
|
role: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Java 后端返回的平铺结构
|
||||||
export interface LoginResponse {
|
export interface LoginResponse {
|
||||||
token: string;
|
token: string;
|
||||||
user: {
|
userId: number;
|
||||||
id: number;
|
username: string;
|
||||||
name: string;
|
name: string;
|
||||||
role: 'admin' | 'school' | 'teacher';
|
role: 'admin' | 'school' | 'teacher' | 'parent';
|
||||||
tenantId?: number;
|
tenantId?: number;
|
||||||
tenantName?: string;
|
|
||||||
email?: string;
|
|
||||||
phone?: string;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UserProfile {
|
export interface UserProfile {
|
||||||
|
|||||||
@ -30,17 +30,24 @@ export const useUserStore = defineStore('user', () => {
|
|||||||
async function login(account: string, password: string, role: string) {
|
async function login(account: string, password: string, role: string) {
|
||||||
try {
|
try {
|
||||||
const data = await authApi.login({ account, password, role });
|
const data = await authApi.login({ account, password, role });
|
||||||
|
// Java 后端返回平铺结构,转换为前端 User 对象
|
||||||
|
const userObj: User = {
|
||||||
|
id: data.userId,
|
||||||
|
name: data.name,
|
||||||
|
role: data.role,
|
||||||
|
tenantId: data.tenantId,
|
||||||
|
};
|
||||||
token.value = data.token;
|
token.value = data.token;
|
||||||
user.value = data.user;
|
user.value = userObj;
|
||||||
|
|
||||||
localStorage.setItem('token', data.token);
|
localStorage.setItem('token', data.token);
|
||||||
localStorage.setItem('user', JSON.stringify(data.user));
|
localStorage.setItem('user', JSON.stringify(userObj));
|
||||||
localStorage.setItem('role', data.user.role);
|
localStorage.setItem('role', data.role);
|
||||||
|
|
||||||
message.success('登录成功');
|
message.success('登录成功');
|
||||||
|
|
||||||
// 跳转到对应首页
|
// 跳转到对应首页
|
||||||
const defaultRoute = `/${data.user.role}/dashboard`;
|
const defaultRoute = `/${data.role}/dashboard`;
|
||||||
router.push(defaultRoute);
|
router.push(defaultRoute);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user