From 66e553c7c84ce8f593d273991d437d50c5f46795 Mon Sep 17 00:00:00 2001 From: fish Date: Mon, 13 Apr 2026 21:26:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E7=BB=9F=E4=B8=80=E4=BD=BF=E7=94=A8=20ApiResponse=20?= =?UTF-8?q?=E5=8C=85=E8=A3=85=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user-login-account/src/main.rs | 26 ++++++++++++------- .../user-service/user-login-email/src/main.rs | 26 ++++++++++++------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/services/user-service/user-login-account/src/main.rs b/services/user-service/user-login-account/src/main.rs index ff7d8d8..07dd1d6 100644 --- a/services/user-service/user-login-account/src/main.rs +++ b/services/user-service/user-login-account/src/main.rs @@ -28,12 +28,18 @@ struct LoginRequest { password: String, } -// 登录响应 +// 统一响应包装 #[derive(Serialize)] -struct LoginResponse { +struct ApiResponse { success: bool, - token: Option, message: String, + data: Option, +} + +// 登录业务数据 +#[derive(Serialize)] +struct LoginData { + token: String, } // JWT Claims @@ -87,7 +93,7 @@ async fn main() { async fn login_handler( State(state): State>, Json(payload): Json, -) -> (StatusCode, Json) { +) -> (StatusCode, Json>) { info!("Login attempt for user: {}", payload.username); // 查询用户账号与密码 @@ -115,10 +121,10 @@ async fn login_handler( ( StatusCode::OK, - Json(LoginResponse { + Json(ApiResponse { success: true, - token: Some(token), message: "Login successful".to_string(), + data: Some(LoginData { token }), }), ) } @@ -126,10 +132,10 @@ async fn login_handler( warn!("Invalid password for user {}", payload.username); ( StatusCode::UNAUTHORIZED, - Json(LoginResponse { + Json(ApiResponse { success: false, - token: None, message: "Invalid credentials".to_string(), + data: None, }), ) } @@ -137,10 +143,10 @@ async fn login_handler( warn!("Password verification error: {:?}", e); ( StatusCode::INTERNAL_SERVER_ERROR, - Json(LoginResponse { + Json(ApiResponse { success: false, - token: None, message: "Internal error".to_string(), + data: None, }), ) } diff --git a/services/user-service/user-login-email/src/main.rs b/services/user-service/user-login-email/src/main.rs index 792d6fc..438022e 100644 --- a/services/user-service/user-login-email/src/main.rs +++ b/services/user-service/user-login-email/src/main.rs @@ -28,12 +28,18 @@ struct LoginRequest { password: String, } -// 登录响应 +// 统一响应包装 #[derive(Serialize)] -struct LoginResponse { +struct ApiResponse { success: bool, - token: Option, message: String, + data: Option, +} + +// 登录业务数据 +#[derive(Serialize)] +struct LoginData { + token: String, } // JWT Claims @@ -87,7 +93,7 @@ async fn main() { async fn login_handler( State(state): State>, Json(payload): Json, -) -> (StatusCode, Json) { +) -> (StatusCode, Json>) { info!("Login attempt for email: {}", payload.email); // 查询用户邮箱与密码 @@ -115,10 +121,10 @@ async fn login_handler( ( StatusCode::OK, - Json(LoginResponse { + Json(ApiResponse { success: true, - token: Some(token), message: "Login successful".to_string(), + data: Some(LoginData { token }), }), ) } @@ -126,10 +132,10 @@ async fn login_handler( warn!("Invalid password for email {}", payload.email); ( StatusCode::UNAUTHORIZED, - Json(LoginResponse { + Json(ApiResponse { success: false, - token: None, message: "Invalid credentials".to_string(), + data: None, }), ) } @@ -137,10 +143,10 @@ async fn login_handler( warn!("Password verification error: {:?}", e); ( StatusCode::INTERNAL_SERVER_ERROR, - Json(LoginResponse { + Json(ApiResponse { success: false, - token: None, message: "Internal error".to_string(), + data: None, }), ) }