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