cloudroam
2025-03-31 0bf7ddf03d457908a4ff2f2373f4fd8ee00275e3
fix 我的
已修改3个文件
41 ■■■■ 文件已修改
app/src/main/java/com/example/firstapp/database/response/UserInfo.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
)
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()
                }
            }
        }
    }
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) {