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