Skip to content

Commit 202e363

Browse files
committed
feat(login): Optimize login status management and cache updates
1 parent 7e5c1b7 commit 202e363

File tree

1 file changed

+4
-7
lines changed
  • composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/ui/screen

1 file changed

+4
-7
lines changed

composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/ui/screen/LoginScreen.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ import com.jankinwu.fntv.client.components
6969
import com.jankinwu.fntv.client.data.constants.Colors
7070
import com.jankinwu.fntv.client.data.model.LoginHistory
7171
import com.jankinwu.fntv.client.data.store.AccountDataCache
72+
import com.jankinwu.fntv.client.data.store.UserInfoMemoryCache
7273
import com.jankinwu.fntv.client.icons.Delete
7374
import com.jankinwu.fntv.client.icons.DoubleArrowLeft
7475
import 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

Comments
 (0)