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