From 880db5b2516af22f37b38223f2d2001f8f53587c Mon Sep 17 00:00:00 2001 From: Eric85710 Date: Mon, 27 Apr 2026 19:36:30 +0800 Subject: [PATCH] auth to server-V5 --- .../java/com/example/login_v3/MainActivity.kt | 2 +- .../login_v3/auth/HealthCheck_Screen.kt | 36 ++++++++++++++----- .../api/api_class/AuthRequest_Response.kt | 7 ++-- .../data/api/api_class/FriendRequest.kt | 5 ++- 4 files changed, 37 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/example/login_v3/MainActivity.kt b/app/src/main/java/com/example/login_v3/MainActivity.kt index 4ed017f..5e8fb91 100644 --- a/app/src/main/java/com/example/login_v3/MainActivity.kt +++ b/app/src/main/java/com/example/login_v3/MainActivity.kt @@ -31,7 +31,7 @@ class MainActivity : ComponentActivity() { val currentAppTheme by themeViewModel.currentTheme.collectAsState() Login_V3Theme(appTheme = currentAppTheme) { - Technologia() + HealthCheckScreen() } } } diff --git a/app/src/main/java/com/example/login_v3/auth/HealthCheck_Screen.kt b/app/src/main/java/com/example/login_v3/auth/HealthCheck_Screen.kt index 25a0eac..d33721e 100644 --- a/app/src/main/java/com/example/login_v3/auth/HealthCheck_Screen.kt +++ b/app/src/main/java/com/example/login_v3/auth/HealthCheck_Screen.kt @@ -1,10 +1,12 @@ package com.example.login_v3.auth +import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import com.example.login_v3.data.health.HealthCheckViewModel @@ -27,17 +29,28 @@ fun HealthCheckScreen( horizontalAlignment = Alignment.CenterHorizontally ) { //health - Text(text = "API Health", style = MaterialTheme.typography.titleLarge) + Text( + text = "API Health", + style = MaterialTheme.typography.titleLarge, + color = Color.Gray + ) Spacer(modifier = Modifier.height(16.dp)) // 顯示狀態 - Text(text = "Status: $status", style = MaterialTheme.typography.bodyLarge) + Text( + text = "Status: $status", + style = MaterialTheme.typography.bodyLarge, + color = Color.Gray + ) Spacer(modifier = Modifier.height(8.dp)) // 顯示詳細訊息 - Text(text = detail, style = MaterialTheme.typography.bodyMedium) + Text(text = detail, + style = MaterialTheme.typography.bodyMedium, + color = Color.Gray + ) Spacer(modifier = Modifier.height(20.dp)) @@ -48,16 +61,23 @@ fun HealthCheckScreen( } Row { - Button(onClick = { viewModel.checkApiHealth() }) { + Button( + onClick = { viewModel.checkApiHealth() }, + modifier = Modifier + .background(color = Color.Gray) + ) { Text("Check Health") } Spacer(modifier = Modifier.width(12.dp)) - OutlinedButton(onClick = { - // 若需要重置狀態,可在 ViewModel 加一個 reset 方法,或直接呼叫 repository 前先改狀態 - }) { - Text("Reset") + OutlinedButton( + onClick = {} + ) { + Text( + text = "reset", + color = Color.Gray + ) } } } diff --git a/app/src/main/java/com/example/login_v3/data/api/api_class/AuthRequest_Response.kt b/app/src/main/java/com/example/login_v3/data/api/api_class/AuthRequest_Response.kt index 275be92..64210ab 100644 --- a/app/src/main/java/com/example/login_v3/data/api/api_class/AuthRequest_Response.kt +++ b/app/src/main/java/com/example/login_v3/data/api/api_class/AuthRequest_Response.kt @@ -1,12 +1,13 @@ package com.example.login_v3.data.api.api_class +import com.squareup.moshi.Json import com.squareup.moshi.JsonClass - +@JsonClass(generateAdapter = true) data class LoginRequest( val username: String, val password: String ) - +@JsonClass(generateAdapter = true) data class LoginResponse( val token: String, val userId: String @@ -14,7 +15,7 @@ data class LoginResponse( @JsonClass(generateAdapter = true) data class RegisterRequest( - val display_name: String, + @Json(name = "display_name") val displayName: String, // 將 JSON 的底線對應到 Kotlin 的駝峰 val email: String, val password: String, val username: String diff --git a/app/src/main/java/com/example/login_v3/data/api/api_class/FriendRequest.kt b/app/src/main/java/com/example/login_v3/data/api/api_class/FriendRequest.kt index e069f14..0b187a1 100644 --- a/app/src/main/java/com/example/login_v3/data/api/api_class/FriendRequest.kt +++ b/app/src/main/java/com/example/login_v3/data/api/api_class/FriendRequest.kt @@ -1,9 +1,12 @@ package com.example.login_v3.data.api.api_class +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) data class FriendRequest( val friendId: String ) - +@JsonClass(generateAdapter = true) data class ApiResponse( val success: Boolean, val message: String