修复bug:关注用户或者AI后关注列表能正常显示

This commit is contained in:
2025-11-07 21:29:03 +08:00
parent 784f87dc39
commit 2613d2e801
4 changed files with 13 additions and 7 deletions

View File

@@ -97,7 +97,8 @@ class UserServiceImpl : UserService {
pageSize = pageSize, pageSize = pageSize,
search = nickname, search = nickname,
followerId = followerId, followerId = followerId,
followingId = followingId followingId = followingId,
includeAI = true
) )
val body = resp.body() ?: throw ServiceException("Failed to get account") val body = resp.body() ?: throw ServiceException("Failed to get account")
return ListContainer<AccountProfileEntity>( return ListContainer<AccountProfileEntity>(

View File

@@ -954,7 +954,7 @@ interface RaveNowAPI {
@Query("nickname") search: String? = null, @Query("nickname") search: String? = null,
@Query("followerId") followerId: Int? = null, @Query("followerId") followerId: Int? = null,
@Query("followingId") followingId: Int? = null, @Query("followingId") followingId: Int? = null,
@Query("includeAI") includeAI: Boolean? = false, @Query("includeAI") includeAI: Boolean? = true,
@Query("chatSessionIdNotNull") chatSessionIdNotNull: Boolean? = true, @Query("chatSessionIdNotNull") chatSessionIdNotNull: Boolean? = true,
): Response<ListContainer<AccountProfile>> ): Response<ListContainer<AccountProfile>>

View File

@@ -17,6 +17,7 @@ import com.aiosman.ravenow.event.MomentAddEvent
import com.aiosman.ravenow.event.MomentFavouriteChangeEvent import com.aiosman.ravenow.event.MomentFavouriteChangeEvent
import com.aiosman.ravenow.event.MomentLikeChangeEvent import com.aiosman.ravenow.event.MomentLikeChangeEvent
import com.aiosman.ravenow.event.MomentRemoveEvent import com.aiosman.ravenow.event.MomentRemoveEvent
import com.aiosman.ravenow.ui.follower.FollowerNoticeViewModel
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
@@ -122,8 +123,9 @@ open class BaseMomentModel :ViewModel(){
userService.unFollowUser(moment.authorId.toString()) userService.unFollowUser(moment.authorId.toString())
EventBus.getDefault().post(FollowChangeEvent(moment.authorId, false)) EventBus.getDefault().post(FollowChangeEvent(moment.authorId, false))
} else { } else {
userService.followUser(moment.authorId.toString()) // 调用 FollowerNoticeViewModel.followUser() 实现与 FollowerNotice.kt 相同的效果
EventBus.getDefault().post(FollowChangeEvent(moment.authorId, true)) // 该方法内部会调用 userService.followUser() 并发布 FollowChangeEvent 事件
FollowerNoticeViewModel.followUser(moment.authorId)
} }
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()

View File

@@ -13,6 +13,7 @@ import com.aiosman.ravenow.data.UserServiceImpl
import com.aiosman.ravenow.entity.AccountProfileEntity import com.aiosman.ravenow.entity.AccountProfileEntity
import com.aiosman.ravenow.entity.MomentEntity import com.aiosman.ravenow.entity.MomentEntity
import com.aiosman.ravenow.entity.MomentServiceImpl import com.aiosman.ravenow.entity.MomentServiceImpl
import com.aiosman.ravenow.event.FollowChangeEvent
import com.aiosman.ravenow.event.MomentFavouriteChangeEvent import com.aiosman.ravenow.event.MomentFavouriteChangeEvent
import com.aiosman.ravenow.event.MomentLikeChangeEvent import com.aiosman.ravenow.event.MomentLikeChangeEvent
import com.aiosman.ravenow.event.MomentRemoveEvent import com.aiosman.ravenow.event.MomentRemoveEvent
@@ -166,7 +167,8 @@ class PostViewModel(
moment?.let { moment?.let {
userService.followUser(it.authorId.toString()) userService.followUser(it.authorId.toString())
moment = moment?.copy(followStatus = true) moment = moment?.copy(followStatus = true)
// 更新我的关注页面的关注数 // 发送关注事件,通知动态列表更新关注状态
EventBus.getDefault().post(FollowChangeEvent(it.authorId, true))
} }
} }
@@ -174,7 +176,8 @@ class PostViewModel(
moment?.let { moment?.let {
userService.unFollowUser(it.authorId.toString()) userService.unFollowUser(it.authorId.toString())
moment = moment?.copy(followStatus = false) moment = moment?.copy(followStatus = false)
// 更新我的关注页面的关注数 // 发送取消关注事件,通知动态列表更新关注状态
EventBus.getDefault().post(FollowChangeEvent(it.authorId, false))
} }
} }