Merge branch 'main' of http://8.148.151.56:3000/tonytech/kindergarten_java
This commit is contained in:
commit
01897a7ecc
@ -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;
|
||||||
|
|||||||
@ -46,12 +46,11 @@ export default defineConfig({
|
|||||||
host: true,
|
host: true,
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://localhost:3000',
|
target: 'http://localhost:8080',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
rewrite: (path) => path.replace(/^\/api/, '/api'),
|
|
||||||
},
|
},
|
||||||
'/uploads': {
|
'/uploads': {
|
||||||
target: 'http://localhost:3000',
|
target: 'http://localhost:8080',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package com.reading.platform.dto.request;
|
package com.reading.platform.dto.request;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonAlias;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -9,6 +10,7 @@ import lombok.Data;
|
|||||||
public class LoginRequest {
|
public class LoginRequest {
|
||||||
|
|
||||||
@NotBlank(message = "Username is required")
|
@NotBlank(message = "Username is required")
|
||||||
|
@JsonAlias("account")
|
||||||
@Schema(description = "Username", example = "admin")
|
@Schema(description = "Username", example = "admin")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user