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