From b13877dcb7c022e4d96fbf937489da05a490a3dc Mon Sep 17 00:00:00 2001 From: iammm0 Date: Tue, 27 Jan 2026 14:30:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E8=AE=A4=E8=AF=81=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 优化AuthService认证服务 - 更新AuthModels数据模型 - 优化SmsCodeInput短信验证码输入组件 --- .../com/huaga/life_echo/network/AuthService.kt | 18 ++++++++++-------- .../life_echo/network/models/AuthModels.kt | 12 ++++++++---- .../ui/components/auth/SmsCodeInput.kt | 9 +++++---- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/app-android/app/src/main/java/com/huaga/life_echo/network/AuthService.kt b/app-android/app/src/main/java/com/huaga/life_echo/network/AuthService.kt index 50b3cc5..40e3e2b 100644 --- a/app-android/app/src/main/java/com/huaga/life_echo/network/AuthService.kt +++ b/app-android/app/src/main/java/com/huaga/life_echo/network/AuthService.kt @@ -52,12 +52,13 @@ class AuthService { phone: String, password: String, nickname: String, - email: String? = null + email: String? = null, + agreedToTerms: Boolean ): Result { return try { val response = client.post("$AUTH_BASE/register") { contentType(ContentType.Application.Json) - setBody(RegisterRequest(phone, password, nickname, email)) + setBody(RegisterRequest(phone, password, nickname, email, agreedToTerms)) } when (response.status) { @@ -102,11 +103,11 @@ class AuthService { /** * 用户登录 */ - suspend fun login(phone: String, password: String): Result { + suspend fun login(phone: String, password: String, agreedToTerms: Boolean): Result { return try { val response = client.post("$AUTH_BASE/login") { contentType(ContentType.Application.Json) - setBody(LoginRequest(phone, password)) + setBody(LoginRequest(phone, password, agreedToTerms)) } when (response.status) { @@ -327,11 +328,11 @@ class AuthService { /** * 验证码登录 */ - suspend fun loginWithSms(phone: String, code: String): Result { + suspend fun loginWithSms(phone: String, code: String, agreedToTerms: Boolean): Result { return try { val response = client.post("$AUTH_BASE/login/sms") { contentType(ContentType.Application.Json) - setBody(SmsLoginRequest(phone, code)) + setBody(SmsLoginRequest(phone, code, agreedToTerms)) } when (response.status) { @@ -364,12 +365,13 @@ class AuthService { code: String, password: String, nickname: String, - email: String? = null + email: String? = null, + agreedToTerms: Boolean ): Result { return try { val response = client.post("$AUTH_BASE/register/sms") { contentType(ContentType.Application.Json) - setBody(SmsRegisterRequest(phone, code, password, nickname, email)) + setBody(SmsRegisterRequest(phone, code, password, nickname, email, agreedToTerms)) } when (response.status) { diff --git a/app-android/app/src/main/java/com/huaga/life_echo/network/models/AuthModels.kt b/app-android/app/src/main/java/com/huaga/life_echo/network/models/AuthModels.kt index 18e85bd..8c1add2 100644 --- a/app-android/app/src/main/java/com/huaga/life_echo/network/models/AuthModels.kt +++ b/app-android/app/src/main/java/com/huaga/life_echo/network/models/AuthModels.kt @@ -12,14 +12,16 @@ data class RegisterRequest( val phone: String, val password: String, val nickname: String, - val email: String? = null + val email: String? = null, + val agreed_to_terms: Boolean ) // 登录请求 @Serializable data class LoginRequest( val phone: String, - val password: String + val password: String, + val agreed_to_terms: Boolean ) // 刷新令牌请求 @@ -91,7 +93,8 @@ data class SmsResponse( @Serializable data class SmsLoginRequest( val phone: String, - val code: String + val code: String, + val agreed_to_terms: Boolean ) // 验证码注册请求 @@ -101,7 +104,8 @@ data class SmsRegisterRequest( val code: String, val password: String, val nickname: String, - val email: String? = null + val email: String? = null, + val agreed_to_terms: Boolean ) // 重置密码请求 diff --git a/app-android/app/src/main/java/com/huaga/life_echo/ui/components/auth/SmsCodeInput.kt b/app-android/app/src/main/java/com/huaga/life_echo/ui/components/auth/SmsCodeInput.kt index afd55e5..1b01625 100644 --- a/app-android/app/src/main/java/com/huaga/life_echo/ui/components/auth/SmsCodeInput.kt +++ b/app-android/app/src/main/java/com/huaga/life_echo/ui/components/auth/SmsCodeInput.kt @@ -53,13 +53,14 @@ fun SmsCodeInput( modifier = modifier, decorationBox = { innerTextField -> Row( - horizontalArrangement = Arrangement.spacedBy(8.dp), + modifier = Modifier.wrapContentWidth(), + horizontalArrangement = Arrangement.spacedBy(6.dp), verticalAlignment = Alignment.CenterVertically ) { repeat(codeLength) { index -> Box( modifier = Modifier - .size(48.dp) + .size(40.dp) .border( width = 2.dp, color = when { @@ -68,14 +69,14 @@ fun SmsCodeInput( index < code.length -> MaterialTheme.colorScheme.primary.copy(alpha = 0.5f) else -> MaterialTheme.colorScheme.outline }, - shape = RoundedCornerShape(12.dp) + shape = RoundedCornerShape(10.dp) ), contentAlignment = Alignment.Center ) { Text( text = if (index < code.length) code[index].toString() else "", style = TextStyle( - fontSize = 24.sp, + fontSize = 20.sp, fontWeight = FontWeight.Bold, color = if (enabled) { MaterialTheme.colorScheme.onSurface