From 0bf7ddf03d457908a4ff2f2373f4fd8ee00275e3 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 31 三月 2025 15:46:56 +0800
Subject: [PATCH] fix 我的

---
 app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt                   |   35 +++++++++++++++++++++++++++++------
 app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt |    5 +++--
 app/src/main/java/com/example/firstapp/database/response/UserInfo.kt             |    1 +
 3 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/database/response/UserInfo.kt b/app/src/main/java/com/example/firstapp/database/response/UserInfo.kt
index 3903f45..dcea53b 100644
--- a/app/src/main/java/com/example/firstapp/database/response/UserInfo.kt
+++ b/app/src/main/java/com/example/firstapp/database/response/UserInfo.kt
@@ -7,5 +7,6 @@
     val cover: String,
     val contactTel: String,
     val memberOvertime: String,
+    val memberOverDate: String,
     val isMember: Boolean
 )
\ No newline at end of file
diff --git a/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt b/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
index 481756d..72b4b45 100644
--- a/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
+++ b/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
@@ -13,6 +13,7 @@
 import androidx.core.content.ContextCompat
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
 import androidx.recyclerview.widget.LinearLayoutManager
 import com.bumptech.glide.Glide
 import com.example.firstapp.R
@@ -20,9 +21,12 @@
 import com.example.firstapp.adapter.ExpressAdapter
 import com.example.firstapp.adapter.FinanceAdapter
 import com.example.firstapp.adapter.CategorySelectorAdapter
+import com.example.firstapp.database.service.RetrofitClient
 import com.example.firstapp.databinding.FragmentHomeBinding
 import com.example.firstapp.databinding.DialogCategorySelectorBinding
+import com.example.firstapp.utils.PreferencesManager
 import com.google.android.material.bottomsheet.BottomSheetDialog
+import kotlinx.coroutines.launch
 
 class HomeFragment : Fragment() {
 
@@ -310,14 +314,33 @@
             .into(binding.bottomAdBanner)
     }
 
+    // 设置分类选择器 检查会员状态
     private fun setupCategorySelector() {
         binding.categoryButton.setOnClickListener {
-            // TODO: 检查会员状态
-            if (true) { // 临时设置为true,实际应该检查会员状态
-                showCategorySelectorDialog()
-            } else {
-                // 显示会员提示
-                Toast.makeText(requireContext(), "该功能仅对会员开放", Toast.LENGTH_SHORT).show()
+            // 从本地获取保存的手机号
+            val savedPhone = PreferencesManager.getPhone()
+            if (savedPhone.isNullOrEmpty()) {
+                Toast.makeText(requireContext(), "请先登录", Toast.LENGTH_SHORT).show()
+                return@setOnClickListener
+            }
+
+            // 使用协程检查会员状态
+            lifecycleScope.launch {
+                try {
+                    val response = RetrofitClient.apiService.getUserInfo(savedPhone)
+                    if (response.code == "0" && response.data != null) {
+                        if (response.data.isMember) {
+                            showCategorySelectorDialog()
+                        } else {
+                            Toast.makeText(requireContext(), "该功能仅对会员开放", Toast.LENGTH_SHORT).show()
+                        }
+                    } else {
+                        Toast.makeText(requireContext(), "获取用户信息失败", Toast.LENGTH_SHORT).show()
+                    }
+                } catch (e: Exception) {
+                    e.printStackTrace()
+                    Toast.makeText(requireContext(), "网络错误,请稍后重试", Toast.LENGTH_SHORT).show()
+                }
             }
         }
     }
diff --git a/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt b/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
index 5f1ffe1..f87eb83 100644
--- a/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
+++ b/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
@@ -306,12 +306,13 @@
                 if (userInfo.isMember) {
                     binding.ivVip.visibility = View.VISIBLE
                     binding.cardVip.visibility = View.VISIBLE
-                    binding.tvVipExpire.text = "${userInfo.memberOvertime} 到期"
+                    binding.tvVipExpire.text = "${userInfo.memberOverDate} 到期"
                 } else {
                     //非会员信息
+                    binding.ivVip.visibility = View.GONE
+                    binding.cardVip.visibility = View.VISIBLE
                     binding.btnRenew.text = "立即开通"
                     binding.linearVipContainer.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.gray))
-                    binding.cardVip.visibility = View.GONE
                 }
             }
         } catch (e: Exception) {

--
Gitblit v1.9.3