From 299e4c2d1d62b8d7521850e13a78d9446547bbf4 Mon Sep 17 00:00:00 2001 From: Eric85710 Date: Mon, 27 Apr 2026 19:17:25 +0800 Subject: [PATCH] auth to server-V4 --- .../java/com/example/login_v3/MainActivity.kt | 2 ++ .../login_v3/auth/reg/reg_test_page.kt | 27 +++++++++++++++---- .../api/api_class/AuthRequest_Response.kt | 3 +++ .../login_v3/navigation/MainViewModel.kt | 2 +- .../login_v3/navigation/nav_controller.kt | 3 ++- 5 files changed, 30 insertions(+), 7 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 7e87cd3..4ed017f 100644 --- a/app/src/main/java/com/example/login_v3/MainActivity.kt +++ b/app/src/main/java/com/example/login_v3/MainActivity.kt @@ -26,6 +26,8 @@ class MainActivity : ComponentActivity() { installSplashScreen() setContent { + + //theme mode data val currentAppTheme by themeViewModel.currentTheme.collectAsState() Login_V3Theme(appTheme = currentAppTheme) { diff --git a/app/src/main/java/com/example/login_v3/auth/reg/reg_test_page.kt b/app/src/main/java/com/example/login_v3/auth/reg/reg_test_page.kt index 5f6bd0b..97f0956 100644 --- a/app/src/main/java/com/example/login_v3/auth/reg/reg_test_page.kt +++ b/app/src/main/java/com/example/login_v3/auth/reg/reg_test_page.kt @@ -1,5 +1,6 @@ package com.example.login_v3.auth.reg +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -27,7 +28,9 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel @Composable -fun RegisterScreen(viewModel: RegisterViewModel = hiltViewModel()) { +fun RegisterScreen( + viewModel: RegisterViewModel = hiltViewModel() +) { // 監聽狀態 val uiState by viewModel.uiState.collectAsState() @@ -48,9 +51,21 @@ fun RegisterScreen(viewModel: RegisterViewModel = hiltViewModel()) { Spacer(modifier = Modifier.height(16.dp)) - OutlinedTextField(value = displayName, onValueChange = { displayName = it }, label = { Text("顯示名稱") }) - OutlinedTextField(value = email, onValueChange = { email = it }, label = { Text("電子信箱") }) - OutlinedTextField(value = username, onValueChange = { username = it }, label = { Text("帳號") }) + OutlinedTextField( + value = displayName, + onValueChange = { displayName = it }, + label = { Text("顯示名稱") } + ) + OutlinedTextField( + value = email, + onValueChange = { email = it }, + label = { Text("電子信箱") } + ) + OutlinedTextField( + value = username, + onValueChange = { username = it }, + label = { Text("帳號") } + ) OutlinedTextField( value = password, onValueChange = { password = it }, @@ -65,7 +80,9 @@ fun RegisterScreen(viewModel: RegisterViewModel = hiltViewModel()) { } else { Button( onClick = { viewModel.handleRegister(displayName, email, password, username) }, - modifier = Modifier.fillMaxWidth() + modifier = Modifier + .fillMaxWidth() + .background(color = Color.Gray) ) { Text("註冊") } 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 b29f6a7..275be92 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,5 +1,7 @@ package com.example.login_v3.data.api.api_class +import com.squareup.moshi.JsonClass + data class LoginRequest( val username: String, val password: String @@ -10,6 +12,7 @@ data class LoginResponse( val userId: String ) +@JsonClass(generateAdapter = true) data class RegisterRequest( val display_name: String, val email: String, diff --git a/app/src/main/java/com/example/login_v3/navigation/MainViewModel.kt b/app/src/main/java/com/example/login_v3/navigation/MainViewModel.kt index 4202fef..275e92e 100644 --- a/app/src/main/java/com/example/login_v3/navigation/MainViewModel.kt +++ b/app/src/main/java/com/example/login_v3/navigation/MainViewModel.kt @@ -24,7 +24,7 @@ enum class AppScreen { } class AppViewModel : ViewModel() { - private val _currentScreen = MutableStateFlow(AppScreen.ScreensTab) + private val _currentScreen = MutableStateFlow(AppScreen.PreReg) val currentScreen: StateFlow = _currentScreen fun goTo(screen: AppScreen) { diff --git a/app/src/main/java/com/example/login_v3/navigation/nav_controller.kt b/app/src/main/java/com/example/login_v3/navigation/nav_controller.kt index 0fd29f9..7a19755 100644 --- a/app/src/main/java/com/example/login_v3/navigation/nav_controller.kt +++ b/app/src/main/java/com/example/login_v3/navigation/nav_controller.kt @@ -8,6 +8,7 @@ import androidx.compose.runtime.getValue import androidx.lifecycle.viewmodel.compose.viewModel import com.example.login_v3.auth.login.LoginScreen import com.example.login_v3.auth.Login_or_Reg_page +import com.example.login_v3.auth.reg.RegisterScreen import com.example.login_v3.auth.reg.Register_Screen import com.example.login_v3.home.HomeScreen @@ -35,7 +36,7 @@ fun AppNavGraph( BackHandler { appViewModel.goTo(AppScreen.PreReg) } - Register_Screen(paddingValues = paddingValues) + RegisterScreen() } AppScreen.Home -> HomeScreen(