Просмотр исходного кода

feat: 最近访客只展示一个

DoggyZhang 2 месяцев назад
Родитель
Сommit
b8bcf322bd

+ 9 - 0
app/src/main/java/com/adealink/weparty/module/profile/data/ProfileData.kt

@@ -240,9 +240,18 @@ data class LanguageData(
 data class MyUserInfoData(
     @SerializedName("userProfile") val userInfo: UserInfo,
     @GsonNullable
+    @SerializedName("userFollowStat") val userFollowStat: UserFollowStat? = null, //用户编辑语音
+    @GsonNullable
     @SerializedName("userVoice") val userVoiceEdit: UserVoiceEditData? = null, //用户编辑语音
 )
 
+@Parcelize
+data class UserFollowStat(
+    @SerializedName("fansCount") val fansCount: Int,
+    @SerializedName("followCount") val followCount: Int,
+    @SerializedName("visitCount") val visitCount: Int,
+) : Parcelable
+
 @Parcelize
 data class UserVoiceEditData(
     @GsonNullable

+ 5 - 15
module/profile/src/main/java/com/adealink/weparty/profile/me/comp/MeHeaderComp.kt

@@ -12,9 +12,7 @@ import com.adealink.weparty.module.profile.Profile
 import com.adealink.weparty.module.profile.ProfileModule
 import com.adealink.weparty.module.profile.data.UserInfo
 import com.adealink.weparty.profile.databinding.LayoutMeHeaderBinding
-import com.adealink.weparty.profile.relation.viewmodel.FollowViewModel
 import com.adealink.weparty.profile.relation.viewmodel.RelationShipTab
-import com.adealink.weparty.profile.relation.viewmodel.VisitorViewModel
 import com.adealink.weparty.profile.viewmodel.ProfileViewModel
 import com.adealink.weparty.profile.viewmodel.ProfileViewModelFactory
 import com.adealink.weparty.R as APP_R
@@ -25,8 +23,6 @@ class MeHeaderComp(
 ) : ViewComponent(lifecycleOwner) {
 
     private val profileViewModel by activityViewModels<ProfileViewModel> { ProfileViewModelFactory() }
-    private val followViewModel by activityViewModels<FollowViewModel> { ProfileViewModelFactory() }
-    private val visitorViewModel by activityViewModels<VisitorViewModel> { ProfileViewModelFactory() }
 
     override fun onCreate() {
         super.onCreate()
@@ -66,23 +62,17 @@ class MeHeaderComp(
     override fun onResume() {
         super.onResume()
         updateHeader(ProfileModule.getMyUserInfo())
-        followViewModel.getFollowCount()
-        followViewModel.getFansCount()
-        visitorViewModel.getVisitorCount()
+        profileViewModel.pullMyUserInfo()
     }
 
     private fun observeViewModel() {
         profileViewModel.userInfoLD.observe(viewLifecycleOwner) { user ->
             updateHeader(user)
         }
-        followViewModel.followCountLD.observe(viewLifecycleOwner) {
-            binding.tvFollowCount.text = it.toString()
-        }
-        followViewModel.fansCountLD.observe(viewLifecycleOwner) {
-            binding.tvFansCount.text = it.toString()
-        }
-        visitorViewModel.visitorListLD.observe(viewLifecycleOwner) {
-            binding.tvVisitorCount.text = it.toString()
+        profileViewModel.myUserInfoLD.observe(viewLifecycleOwner) { myUserInfo ->
+            binding.tvFollowCount.text = (myUserInfo?.userFollowStat?.followCount ?: 0).toString()
+            binding.tvFansCount.text = (myUserInfo?.userFollowStat?.fansCount ?: 0).toString()
+            binding.tvVisitorCount.text = (myUserInfo?.userFollowStat?.visitCount ?: 0).toString()
         }
     }
 

+ 1 - 1
module/profile/src/main/java/com/adealink/weparty/profile/relation/data/RelationShipData.kt

@@ -91,7 +91,7 @@ data class VisitorListRes(
 )
 
 data class VisitorData(
-    @SerializedName("userNo") val uid: String,
+    @SerializedName("userNO") val uid: String,
     @SerializedName("nickname") val nickName: String,
     @SerializedName("avatar") val avatar: String,
     @SerializedName("gender") val gender: Int,