Bläddra i källkod

feat:登录注册,首页页面,埋点上报

XiaodongLin 11 månader sedan
förälder
incheckning
552fc20fc6
18 ändrade filer med 186 tillägg och 17 borttagningar
  1. 4 1
      app/src/main/java/com/adealink/weparty/module/userlist/HomeUserListFragment.kt
  2. 15 3
      app/src/main/java/com/adealink/weparty/module/userlist/UserFilterDialog.kt
  3. 8 4
      app/src/main/java/com/adealink/weparty/module/userlist/fragment/HomeBaseUserListFragment.kt
  4. 48 8
      app/src/main/java/com/adealink/weparty/stat/CommonStatEvent.kt
  5. 35 0
      app/src/main/java/com/adealink/weparty/stat/constant/Page.kt
  6. 4 0
      module/account/src/main/java/com/adealink/weparty/account/login/LoginActivity.kt
  7. 7 0
      module/account/src/main/java/com/adealink/weparty/account/register/RegisterProfileActivity.kt
  8. 7 0
      module/follow/src/main/java/com/adealink/weparty/follow/FriendHomeFragment.kt
  9. 7 0
      module/level/src/main/java/com/adealink/weparty/level/fragments/CharmLevelFragment.kt
  10. 7 0
      module/level/src/main/java/com/adealink/weparty/level/fragments/WealthLevelFragment.kt
  11. 4 0
      module/message/src/main/java/com/adealink/weparty/message/MessageFragment.kt
  12. 5 1
      module/message/src/main/java/com/adealink/weparty/message/conversation/ConversationActivity.kt
  13. 7 0
      module/moment/src/main/java/com/adealink/weparty/moment/usermoment/square/MomentListFragment.kt
  14. 4 0
      module/profile/src/main/java/com/adealink/weparty/profile/me/MeFragment.kt
  15. 7 0
      module/room/src/main/java/com/adealink/weparty/room/roomlist/mine/MineRoomListFragment.kt
  16. 7 0
      module/room/src/main/java/com/adealink/weparty/room/roomlist/popular/PopularRoomListFragment.kt
  17. 7 0
      module/store/src/main/java/com/adealink/weparty/store/StoreActivity.kt
  18. 3 0
      module/visitors/src/main/java/com/adealink/weparty/visitors/HistoryVisitorsActivity.kt

+ 4 - 1
app/src/main/java/com/adealink/weparty/module/userlist/HomeUserListFragment.kt

@@ -87,7 +87,10 @@ class HomeUserListFragment : BaseFragment(R.layout.fragment_home_user_list) {
         )
 
         binding.btnFilter.onClick {
-            UserFilterDialog.newInstance().show(childFragmentManager)
+            val currentItem = binding.viewPager.currentItem
+            val currentFragment= pageAdapter.getFragment(this,currentItem) as? HomeOnLineUserListFragment?:return@onClick
+            val tabType = currentFragment.tabType()
+            UserFilterDialog.newInstance(tabType).show(childFragmentManager)
         }
     }
 

+ 15 - 3
app/src/main/java/com/adealink/weparty/module/userlist/UserFilterDialog.kt

@@ -20,6 +20,8 @@ import com.adealink.weparty.module.userlist.UserFilterData.Companion.DEFAULT_MAX
 import com.adealink.weparty.module.userlist.UserFilterData.Companion.DEFAULT_MIN_AGE
 import com.adealink.weparty.module.userlist.datasource.local.HomeUserListLocalService
 import com.adealink.weparty.module.userlist.viewmodel.HomeUserListViewModel
+import com.adealink.weparty.module.userlist.viewmodel.HomeUserTabType
+import com.adealink.weparty.stat.HomeListClickStatEvent
 import com.jaygoo.widget.OnRangeChangedListener
 import com.jaygoo.widget.RangeSeekBar
 import kotlinx.parcelize.Parcelize
@@ -61,10 +63,12 @@ class UserFilterDialog : BottomDialogFragment(R.layout.dialog_user_filter) {
 
     companion object {
         private const val TAG = "UserFilterDialog"
-
-        fun newInstance(): UserFilterDialog {
+        private const val TAB_TYPE= "tabType"
+        fun newInstance(tabType: HomeUserTabType): UserFilterDialog {
             return UserFilterDialog().apply {
-                arguments = Bundle().apply {}
+                arguments = Bundle().apply {
+                    putInt(TAB_TYPE, tabType.tabType)
+                }
             }
         }
     }
@@ -82,6 +86,10 @@ class UserFilterDialog : BottomDialogFragment(R.layout.dialog_user_filter) {
         homeUserListViewModel.filterData.value ?: UserFilterData.getDefaultFilterData()
     }
 
+    private val tabType by fastLazy {
+        arguments?.getInt(TAB_TYPE, HomeUserTabType.Online.tabType) ?: HomeUserTabType.Online.tabType
+    }
+
     private var leftProgressValue = DEFAULT_MIN_AGE
     private var rightProgressValue = DEFAULT_MAX_AGE
 
@@ -104,6 +112,10 @@ class UserFilterDialog : BottomDialogFragment(R.layout.dialog_user_filter) {
 
             HomeUserListLocalService.lastFilterData = gson.toJson(newFilterData)
             HomeUserListLocalService.lastFilterUpdateTime = System.currentTimeMillis()
+
+            HomeListClickStatEvent().apply {
+                tab to tabType
+            }.send()
         }
 
         binding.btnClose.onClick {

+ 8 - 4
app/src/main/java/com/adealink/weparty/module/userlist/fragment/HomeBaseUserListFragment.kt

@@ -13,8 +13,6 @@ import com.adealink.frame.util.ONE_MINUTE
 import com.adealink.frame.util.runOnUiThread
 import com.adealink.weparty.R
 import com.adealink.weparty.commonui.BaseFragment
-import com.adealink.weparty.commonui.dialogchain.DialogTaskManager
-import com.adealink.weparty.commonui.dialogchain.dialogtask.NewUserLotteryDialogTask
 import com.adealink.weparty.commonui.ext.dp
 import com.adealink.weparty.commonui.recycleview.adapter.MultiTypeListAdapter
 import com.adealink.weparty.commonui.recycleview.commonviewholder.CommonListEmptyViewBinder
@@ -34,11 +32,11 @@ import com.adealink.weparty.module.userlist.data.UserInfoItemData
 import com.adealink.weparty.module.userlist.viewmodel.HomeUserListViewModel
 import com.adealink.weparty.module.userlist.viewmodel.HomeUserTabType
 import com.adealink.weparty.module.userlist.viewmodel.IUserListViewModel
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.adealink.weparty.ui.home.util.HomeLocalService
 import com.qmuiteam.qmui.widget.popup.QMUIPopup
 import com.qmuiteam.qmui.widget.popup.QMUIPopups
-import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
 
 
@@ -109,6 +107,12 @@ abstract class HomeBaseUserListFragment : BaseFragment(R.layout.layout_home_user
     override fun onResume() {
         super.onResume()
         checkNeedToRefreshData()
+
+        if (tabType() == HomeUserTabType.Online) {
+            reportEnterPage(Page.USER_LIST_ONLINE)
+        } else if (tabType() == HomeUserTabType.NewUsers) {
+            reportEnterPage(Page.USER_LIST_NEW)
+        }
     }
 
     private fun checkNeedToRefreshData() {

+ 48 - 8
app/src/main/java/com/adealink/weparty/stat/CommonStatEvent.kt

@@ -1,24 +1,36 @@
 package com.adealink.weparty.stat
 
 import com.adealink.frame.statistics.BaseStatEvent
+import com.adealink.frame.statistics.CommonEventKey
 import com.adealink.frame.statistics.CommonEventValue
 import com.adealink.frame.statistics.IEventValue
 import com.adealink.frame.statistics.ReportType
-import com.adealink.weparty.storage.AppPref
 import com.adealink.frame.util.ONE_DAY
 import com.adealink.weparty.App
+import com.adealink.weparty.stat.constant.Page
 import com.adealink.weparty.stat.standard.StandardStatEvent
-import java.util.*
+import com.adealink.weparty.storage.AppPref
+import java.util.Calendar
+import java.util.Date
 
 /**
  * 通用事件上报
  */
 
-class FirstOpenStatEvent(override val action: IEventValue = CommonEventValue.Action.EMPTY): BaseStatEvent("first_open_app")
-class InitProfileCompleteStatEvent(override val action: IEventValue = CommonEventValue.Action.EMPTY): BaseStatEvent("init_profile_complete")
-class OpenAppSecondDay(override val action: IEventValue = CommonEventValue.Action.EMPTY): BaseStatEvent("open_app_second_day")
-class EnterAppEvent(override val action: IEventValue = CommonEventValue.Action.EMPTY): BaseStatEvent("enter_app")
-class EnterHomeEvent(override val action: IEventValue = CommonEventValue.Action.EMPTY): BaseStatEvent("enter_home")
+class FirstOpenStatEvent(override val action: IEventValue = CommonEventValue.Action.EMPTY) :
+    BaseStatEvent("first_open_app")
+
+class InitProfileCompleteStatEvent(override val action: IEventValue = CommonEventValue.Action.EMPTY) :
+    BaseStatEvent("init_profile_complete")
+
+class OpenAppSecondDay(override val action: IEventValue = CommonEventValue.Action.EMPTY) :
+    BaseStatEvent("open_app_second_day")
+
+class EnterAppEvent(override val action: IEventValue = CommonEventValue.Action.EMPTY) :
+    BaseStatEvent("enter_app")
+
+class EnterHomeEvent(override val action: IEventValue = CommonEventValue.Action.EMPTY) :
+    BaseStatEvent("enter_home")
 
 /**
  * 注册完成
@@ -150,4 +162,32 @@ fun reportSecondDayOpenIfNeed(background: Boolean) {
         OpenAppSecondDay().send()
         StandardStatEvent.reportOpenAppSecondDay()
     }
-}
+}
+
+
+fun reportEnterPage(pageEnum: Page) {
+    EnterPageEvent().apply {
+        page to pageEnum.value
+    }.send()
+}
+
+/**
+ * 进入页面
+ */
+class EnterPageEvent() : BaseStatEvent("enter_page") {
+
+    override val action: IEventValue
+        get() = CommonEventValue.Action.SHOW
+
+    val page = Param(CommonEventKey.PAGE)
+}
+
+/**
+ * 首页列表,点击提交筛选用户
+ */
+class HomeListClickStatEvent() : EmptyActionStatEvent("home_list_click_filter") {
+    override val reportTypeList: List<ReportType>
+        get() = listOf(ReportType.WENEXT, ReportType.FIREBASE, ReportType.APPFLY)
+
+    val tab = Param(CommonEventKey.TAB)
+}

+ 35 - 0
app/src/main/java/com/adealink/weparty/stat/constant/Page.kt

@@ -0,0 +1,35 @@
+package com.adealink.weparty.stat.constant
+
+import com.adealink.frame.statistics.IEventValue
+
+/**
+ * Created by XiaoDongLin.
+ * Date: 2025/4/27
+ */
+enum class Page(override val value: String, override val desc: String) : IEventValue {
+    USER_LIST_ONLINE("user_list_online", "首页-在线tab"),
+    USER_LIST_NEW("user_list_new", "首页-New tab"),
+    MOMENT_LIST_SUQARE("moment_list_square", "动态-发现tab"),
+    MOMENT_LIST_FOLLOW("moment_list_follow", "动态-关注tab"),
+    ROOM_LIST_POPULAR("room_list_popular", "语音房-Popular tab"),
+    ROOM_LIST_MINE("room_list_mine", "语音房-我的tab"),
+    MESSAGE_LIST_MESSAGE("message_list_message", "消息-消息tab"),
+    MESSAGE_LIST_FRIEND("message_list_friend", "消息-朋友tab"),
+    ME_TAB("me_tab", "我的tab"),
+    MESSAGE_DETAIL("message_detail", "私聊对话页"),
+
+    VIP_LEVEL("vip_level", "贵族"),
+    WEALTH_LEVEL("wealth_level", "财富等级"),
+    CHARM_LEVEL("charm_level", "魅力等级"),
+
+    VISITOR_LIST("visitor_list", "访客列表"),
+    CERTIFICATE_CENTER("certificate_center", "认证中心"),
+    CHAT_ACHIEVEMENT("chat_achievement", "聊天成就"),
+    ANCHOR_GUILD_CENTER("anchor_guild_center", "主播公会中心"),
+    STORE("store", "商城"),
+
+    LOGIN("login", "登录页"),
+    REGISTER_PROFILE("register_profile", "填写注册资料页面"),
+
+
+}

+ 4 - 0
module/account/src/main/java/com/adealink/weparty/account/login/LoginActivity.kt

@@ -51,7 +51,9 @@ import com.adealink.weparty.module.account.data.UserKickReason
 import com.adealink.weparty.module.setting.Setting
 import com.adealink.weparty.module.webview.Web
 import com.adealink.weparty.push.NotificationUtil
+import com.adealink.weparty.stat.constant.Page
 import com.adealink.weparty.stat.reportEnterApp
+import com.adealink.weparty.stat.reportEnterPage
 import com.adealink.weparty.storage.AppPref
 import com.adealink.weparty.url.H5Page
 import com.adealink.weparty.url.urlConfigService
@@ -237,6 +239,8 @@ class LoginActivity : BaseLoginActivity() {
             page to AccountLoginStatEvent.Page.SIGN_UP_LOG_IN
             this.source to getLoginStatSource()
         }.send()
+
+        reportEnterPage(Page.LOGIN)
     }
 
     @OptIn(UnstableApi::class)

+ 7 - 0
module/account/src/main/java/com/adealink/weparty/account/register/RegisterProfileActivity.kt

@@ -21,6 +21,8 @@ import com.adealink.weparty.module.account.Account
 import com.adealink.weparty.module.account.AccountModule
 import com.adealink.weparty.module.follow.FollowModule
 import com.adealink.weparty.module.follow.viewmodel.IFollowViewModel
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.adealink.weparty.storage.AppPref
 
 @RouterUri(path = [Account.Register.PATH], desc = "注册页面")
@@ -46,6 +48,11 @@ class RegisterProfileActivity : BaseActivity() {
         }
     }
 
+    override fun onResume() {
+        super.onResume()
+        reportEnterPage(Page.REGISTER_PROFILE)
+    }
+
     override fun initViews() {
         super.initViews()
         setContentView(binding.root)

+ 7 - 0
module/follow/src/main/java/com/adealink/weparty/follow/FriendHomeFragment.kt

@@ -12,6 +12,8 @@ import com.adealink.weparty.follow.data.FriendHomeTabType
 import com.adealink.weparty.follow.databinding.FragmentFriendHomeBinding
 import com.adealink.weparty.follow.databinding.LayoutFriendTabBinding
 import com.adealink.weparty.module.follow.Follow
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.google.android.material.tabs.TabLayout.OnTabSelectedListener
 import com.google.android.material.tabs.TabLayout.Tab
 import com.google.android.material.tabs.TabLayoutMediator
@@ -50,6 +52,11 @@ class FriendHomeFragment : BaseFragment(R.layout.fragment_friend_home) {
         })
     }
 
+    override fun onResume() {
+        super.onResume()
+        reportEnterPage(Page.MESSAGE_LIST_FRIEND)
+    }
+
     private fun updateTab(tab: Tab?, selected: Boolean) {
         val view = tab?.customView ?: return
         val viewBinding = LayoutFriendTabBinding.bind(view)

+ 7 - 0
module/level/src/main/java/com/adealink/weparty/level/fragments/CharmLevelFragment.kt

@@ -23,6 +23,8 @@ import com.adealink.weparty.level.viewmodel.CharmLevelViewModel
 import com.adealink.weparty.level.viewmodel.LevelViewModel
 import com.adealink.weparty.level.viewmodel.LevelViewModelFactory
 import com.adealink.weparty.module.level.Level
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 
 class CharmLevelFragment : BaseFragment(R.layout.fragment_charm_level) {
 
@@ -52,6 +54,11 @@ class CharmLevelFragment : BaseFragment(R.layout.fragment_charm_level) {
         Router.bind(this)
     }
 
+    override fun onResume() {
+        super.onResume()
+        reportEnterPage(Page.CHARM_LEVEL)
+    }
+
     override fun initViews() {
         // 用户基本信息
         listAdapter.register(CharmLevelUserLevelInfoViewBinder())

+ 7 - 0
module/level/src/main/java/com/adealink/weparty/level/fragments/WealthLevelFragment.kt

@@ -58,6 +58,8 @@ import com.adealink.weparty.level.viewmodel.LevelViewModelFactory
 import com.adealink.weparty.level.viewmodel.WealthLevelViewModel
 import com.adealink.weparty.module.level.Level
 import com.adealink.weparty.module.level.data.TAG_LEVEL
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 
 class WealthLevelFragment : BaseFragment(R.layout.fragment_wealth_level) {
 
@@ -90,6 +92,11 @@ class WealthLevelFragment : BaseFragment(R.layout.fragment_wealth_level) {
         Router.bind(this)
     }
 
+    override fun onResume() {
+        super.onResume()
+        reportEnterPage(Page.WEALTH_LEVEL)
+    }
+
     override fun initViews() {
         // 用户基本信息
         listAdapter.register(LevelUserLevelInfoViewBinder())

+ 4 - 0
module/message/src/main/java/com/adealink/weparty/message/MessageFragment.kt

@@ -33,6 +33,8 @@ import com.adealink.weparty.module.profile.data.Gender
 import com.adealink.weparty.module.task.DialogLocalService
 import com.adealink.weparty.module.task.UserTaskManager
 import com.adealink.weparty.permission.PermissionUtils
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.google.android.material.tabs.TabLayout.OnTabSelectedListener
 import com.google.android.material.tabs.TabLayout.Tab
 import com.google.android.material.tabs.TabLayoutMediator
@@ -184,6 +186,8 @@ class MessageFragment: BaseFragment(R.layout.fragment_message) {
 
         checkNotificationOpen()
 
+        reportEnterPage(Page.MESSAGE_LIST_MESSAGE)
+
         if (Gender.getGender(ProfileModule.getMyUserInfo()?.gender) == Gender.FEMALE
             && !UserTaskManager.womenHasMakeMoneyByChat
             && DialogLocalService.needToShowDiamondDialog

+ 5 - 1
module/message/src/main/java/com/adealink/weparty/message/conversation/ConversationActivity.kt

@@ -12,12 +12,14 @@ import com.adealink.weparty.commonui.BaseActivity
 import com.adealink.weparty.commonui.BaseFragment
 import com.adealink.weparty.message.MessageHomeFragment
 import com.adealink.weparty.message.R
-import com.adealink.weparty.module.message.conversation.extension.InputMode
 import com.adealink.weparty.message.databinding.ActivityConversationBinding
 import com.adealink.weparty.message.stat.MessageDetailStatEvent
 import com.adealink.weparty.message.util.IMRouteUtils
 import com.adealink.weparty.module.anchor.data.FromScene
 import com.adealink.weparty.module.message.Message
+import com.adealink.weparty.module.message.conversation.extension.InputMode
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.qmuiteam.qmui.widget.util.QMUIStatusBarHelper
 import io.rong.imlib.model.Conversation.ConversationType
 
@@ -56,6 +58,8 @@ class ConversationActivity: BaseActivity() {
     override fun onResume() {
         super.onResume()
         activeTargetId = toUid
+
+        reportEnterPage(Page.MESSAGE_DETAIL)
     }
 
     override fun onNewIntent(intent: Intent) {

+ 7 - 0
module/moment/src/main/java/com/adealink/weparty/moment/usermoment/square/MomentListFragment.kt

@@ -83,6 +83,8 @@ import com.adealink.weparty.moment.viewmodel.MomentListViewModel
 import com.adealink.weparty.moment.viewmodel.MomentViewModel
 import com.adealink.weparty.moment.viewmodel.MomentViewModelFactory
 import com.adealink.weparty.moment.widget.GiftTextView
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.adealink.weparty.viewmodel.parentFragmentViewModels
 import kotlinx.coroutines.launch
 import kotlin.math.abs
@@ -248,6 +250,11 @@ class MomentListFragment : BaseFragment(R.layout.fragment_moment_list), ReplyOpe
         if (momentSquareType == MOMENT_FRAGMENT_FOLLOW_TYPE && momentFollowDot.dotLD.value?.show == true) {
             binding.refreshLayout.autoRefresh()
         }
+        if (momentSquareType == MOMENT_FRAGMENT_SQUARE_TYPE) {
+            reportEnterPage(Page.MOMENT_LIST_SUQARE)
+        } else if (momentSquareType == MOMENT_FRAGMENT_FOLLOW_TYPE) {
+            reportEnterPage(Page.MOMENT_LIST_FOLLOW)
+        }
     }
 
     private fun getMomentList() {

+ 4 - 0
module/profile/src/main/java/com/adealink/weparty/profile/me/MeFragment.kt

@@ -65,6 +65,8 @@ import com.adealink.weparty.profile.me.data.TopLayoutViewComp
 import com.adealink.weparty.profile.stat.MeTabStatEvent
 import com.adealink.weparty.profile.viewmodel.ProfileViewModel
 import com.adealink.weparty.profile.viewmodel.ProfileViewModelFactory
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.adealink.weparty.url.H5Page
 import com.adealink.weparty.url.urlConfigService
 import com.adealink.weparty.widget.skin.appOtherBgSkin
@@ -367,6 +369,8 @@ class MeFragment : BaseFragment(R.layout.fragment_me) {
         checkChatAchievementGuide()
 
         getCustomerStatus()
+
+        reportEnterPage(Page.ME_TAB)
     }
 
     private fun checkChatAchievementGuide() {

+ 7 - 0
module/room/src/main/java/com/adealink/weparty/room/roomlist/mine/MineRoomListFragment.kt

@@ -13,6 +13,8 @@ import com.adealink.weparty.room.databinding.FragmentMineRoomListBinding
 import com.adealink.weparty.room.roomlist.follow.FollowRoomListFragment
 import com.adealink.weparty.room.roomlist.friends.FriendsRoomListFragment
 import com.adealink.weparty.room.roomlist.recently.RecentlyRoomListFragment
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 
 class MineRoomListFragment : BaseFragment(R.layout.fragment_mine_room_list) {
     companion object {
@@ -60,6 +62,11 @@ class MineRoomListFragment : BaseFragment(R.layout.fragment_mine_room_list) {
         initTabs()
     }
 
+    override fun onResume() {
+        super.onResume()
+        reportEnterPage(Page.ROOM_LIST_MINE)
+    }
+
     private fun initTabs() {
         binding.tabLayout.createMediatorAndAttach(
             binding.roomListViewPage,

+ 7 - 0
module/room/src/main/java/com/adealink/weparty/room/roomlist/popular/PopularRoomListFragment.kt

@@ -15,6 +15,8 @@ import com.adealink.weparty.room.roomlist.country.CountryRoomListViewBinder
 import com.adealink.weparty.room.roomlist.country.selectcountry.SelectCountryDialog
 import com.adealink.weparty.room.roomlist.viewmodel.PopularRoomListViewModel
 import com.adealink.weparty.room.viewmodel.RoomViewModelFactory
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 
 class PopularRoomListFragment : BaseFragment(R.layout.fragment_popular_room_list) {
 
@@ -49,6 +51,11 @@ class PopularRoomListFragment : BaseFragment(R.layout.fragment_popular_room_list
         binding.nestedScrollLayout.setParentRecyclerView(binding.rvRoomList, binding.refreshLayout)
     }
 
+    override fun onResume() {
+        super.onResume()
+        reportEnterPage(Page.ROOM_LIST_POPULAR)
+    }
+
     override fun loadData() {
         super.loadData()
         binding.refreshLayout.autoRefreshAnimationOnly()

+ 7 - 0
module/store/src/main/java/com/adealink/weparty/store/StoreActivity.kt

@@ -20,6 +20,8 @@ import com.adealink.weparty.module.store.Store
 import com.adealink.weparty.module.store.data.StoreType
 import com.adealink.weparty.store.databinding.ActivityStoreBinding
 import com.adealink.weparty.module.wallet.WalletModule
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.qmuiteam.qmui.widget.util.QMUIStatusBarHelper
 import com.adealink.weparty.R as APP_R
 
@@ -41,6 +43,11 @@ class StoreActivity: BaseActivity() {
         Router.bind(this)
     }
 
+    override fun onResume() {
+        super.onResume()
+        reportEnterPage(Page.STORE)
+    }
+
     override fun initViews() {
         QMUIStatusBarHelper.setStatusBarLightMode(this)
         setContentView(binding.root)

+ 3 - 0
module/visitors/src/main/java/com/adealink/weparty/visitors/HistoryVisitorsActivity.kt

@@ -26,6 +26,8 @@ import com.adealink.weparty.module.medal.view.MedalItem
 import com.adealink.weparty.module.profile.Profile
 import com.adealink.weparty.module.visitors.Visitors
 import com.adealink.weparty.module.wallet.WalletModule
+import com.adealink.weparty.stat.constant.Page
+import com.adealink.weparty.stat.reportEnterPage
 import com.adealink.weparty.visitors.adapter.IVisitorsListItemListener
 import com.adealink.weparty.visitors.adapter.VisitorsListErrorEmptyViewBinder
 import com.adealink.weparty.visitors.adapter.VisitorsListItemViewBinder
@@ -96,6 +98,7 @@ class HistoryVisitorsActivity : BaseActivity(), IVisitorsListItemListener {
         } else {
             binding.groupNoPrivilege.gone()
         }
+        reportEnterPage(Page.VISITOR_LIST)
     }
 
     override fun loadData() {