@@ -69,6 +69,7 @@ import com.jankinwu.fntv.client.components
6969import com.jankinwu.fntv.client.data.constants.Colors
7070import com.jankinwu.fntv.client.data.model.LoginHistory
7171import com.jankinwu.fntv.client.data.store.AccountDataCache
72+ import com.jankinwu.fntv.client.data.store.UserInfoMemoryCache
7273import com.jankinwu.fntv.client.icons.Delete
7374import com.jankinwu.fntv.client.icons.DoubleArrowLeft
7475import com.jankinwu.fntv.client.icons.History
@@ -149,15 +150,14 @@ fun LoginScreen(navigator: ComponentNavigator) {
149150 LaunchedEffect (loginUiState) {
150151 when (val state = loginUiState) {
151152 is UiState .Success -> {
152- // 登录成功,更新缓存中的登录状态
153- LoginStateManager .updateLoginStatus(true )
154- // 保存token到SystemAccountData
153+ // Update auth state before switching UI to logged-in to avoid unauthorized requests.
154+ UserInfoMemoryCache .clear()
155155 AccountDataCache .authorization = state.data.token
156- AccountDataCache .isLoggedIn = true
157156 AccountDataCache .insertCookie(" Trim-MC-token" to state.data.token)
158157 logger.i(" 登录成功,cookie: ${AccountDataCache .cookieState} " )
159158 val preferencesManager = PreferencesManager .getInstance()
160159 preferencesManager.saveToken(state.data.token)
160+ LoginStateManager .updateLoginStatus(true )
161161 loginViewModel.clearError()
162162 val targetComponent = components
163163 .firstOrNull { it.name == " 首页" }
@@ -382,9 +382,6 @@ fun LoginScreen(navigator: ComponentNavigator) {
382382 )
383383 }
384384 ForgotPasswordDialog ()
385- // TextButton(onClick = { /* TODO: 忘记密码逻辑 */ }) {
386- // Text("忘记密码?", color = HintColor, fontSize = 14.sp)
387- // }
388385 }
389386 Spacer (modifier = Modifier .height(4 .dp))
390387 Row (
0 commit comments