关注、粉丝列表点击关注按钮增加游客登录判断

This commit is contained in:
2025-09-01 16:03:12 +08:00
parent 118a6cf986
commit 6721d715e7
2 changed files with 30 additions and 10 deletions

View File

@@ -27,9 +27,13 @@ import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.paging.compose.collectAsLazyPagingItems
import com.aiosman.ravenow.AppState
import com.aiosman.ravenow.GuestLoginCheckOut
import com.aiosman.ravenow.GuestLoginCheckOutScene
import com.aiosman.ravenow.LocalAppTheme
import com.aiosman.ravenow.LocalNavController
import com.aiosman.ravenow.R
import com.aiosman.ravenow.exp.viewModelFactory
import com.aiosman.ravenow.ui.NavigationRoute
import com.aiosman.ravenow.ui.comment.NoticeScreenHeader
import com.aiosman.ravenow.ui.composables.StatusBarMaskLayout
import kotlinx.coroutines.launch
@@ -38,6 +42,7 @@ import kotlinx.coroutines.launch
@Composable
fun FollowerListScreen(userId: Int) {
val appColors = LocalAppTheme.current
val navController = LocalNavController.current
val model: FollowerListViewModel = viewModel(factory = viewModelFactory {
FollowerListViewModel(userId)
}, key = "viewModel_${userId}")
@@ -112,11 +117,16 @@ fun FollowerListScreen(userId: Int) {
userId = user.id,
isFollowing = user.isFollowing
) {
scope.launch {
if (user.isFollowing) {
model.unFollowUser(user.id)
} else {
model.followUser(user.id)
// 检查游客模式,如果是游客则跳转登录
if (GuestLoginCheckOut.needLogin(GuestLoginCheckOutScene.FOLLOW_USER)) {
navController.navigate(NavigationRoute.Login.route)
} else {
scope.launch {
if (user.isFollowing) {
model.unFollowUser(user.id)
} else {
model.followUser(user.id)
}
}
}
}

View File

@@ -28,9 +28,13 @@ import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.paging.compose.collectAsLazyPagingItems
import com.aiosman.ravenow.AppState
import com.aiosman.ravenow.GuestLoginCheckOut
import com.aiosman.ravenow.GuestLoginCheckOutScene
import com.aiosman.ravenow.LocalAppTheme
import com.aiosman.ravenow.LocalNavController
import com.aiosman.ravenow.R
import com.aiosman.ravenow.exp.viewModelFactory
import com.aiosman.ravenow.ui.NavigationRoute
import com.aiosman.ravenow.ui.comment.NoticeScreenHeader
import com.aiosman.ravenow.ui.composables.StatusBarMaskLayout
import kotlinx.coroutines.launch
@@ -39,6 +43,7 @@ import kotlinx.coroutines.launch
@Composable
fun FollowingListScreen(userId: Int) {
val appColors = LocalAppTheme.current
val navController = LocalNavController.current
val model : FollowingListViewModel = viewModel(factory = viewModelFactory {
FollowingListViewModel(userId)
}, key = "viewModel_${userId}")
@@ -114,11 +119,16 @@ fun FollowingListScreen(userId: Int) {
userId = user.id,
isFollowing = user.isFollowing
) {
scope.launch {
if (user.isFollowing) {
model.unFollowUser(user.id)
} else {
model.followUser(user.id)
// 检查游客模式,如果是游客则跳转登录
if (GuestLoginCheckOut.needLogin(GuestLoginCheckOutScene.FOLLOW_USER)) {
navController.navigate(NavigationRoute.Login.route)
} else {
scope.launch {
if (user.isFollowing) {
model.unFollowUser(user.id)
} else {
model.followUser(user.id)
}
}
}
}