From 641d6300869c8d53e8b038e47eb0fe469891a95a Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期二, 01 四月 2025 10:29:07 +0800
Subject: [PATCH] 1.vip续费页面-会员信息

---
 app/src/main/java/com/example/firstapp/ui/vip/MemberInfoCardFragment.kt |   88 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 85 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/ui/vip/MemberInfoCardFragment.kt b/app/src/main/java/com/example/firstapp/ui/vip/MemberInfoCardFragment.kt
index 3671d10..3a30115 100644
--- a/app/src/main/java/com/example/firstapp/ui/vip/MemberInfoCardFragment.kt
+++ b/app/src/main/java/com/example/firstapp/ui/vip/MemberInfoCardFragment.kt
@@ -1,5 +1,6 @@
 package com.example.firstapp.ui.vip
 
+import android.graphics.Color
 import android.graphics.drawable.Drawable
 import androidx.fragment.app.viewModels
 import android.os.Bundle
@@ -9,7 +10,9 @@
 import android.view.View
 import android.view.ViewGroup
 import android.widget.ImageView
+import android.widget.Toast
 import androidx.databinding.DataBindingUtil
+import androidx.lifecycle.lifecycleScope
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.GlideException
 import com.bumptech.glide.load.resource.bitmap.RoundedCorners
@@ -17,7 +20,11 @@
 import com.bumptech.glide.request.target.Target
 import com.bumptech.glide.load.DataSource
 import com.example.firstapp.R
+import com.example.firstapp.database.response.UserInfo
+import com.example.firstapp.database.service.RetrofitClient
 import com.example.firstapp.databinding.FragmentMemberInfoCardBinding
+import com.example.firstapp.utils.PreferencesManager
+import kotlinx.coroutines.launch
 
 class MemberInfoCardFragment : Fragment() {
 
@@ -26,11 +33,14 @@
         fun newInstance() = MemberInfoCardFragment()
     }
 
-    private val viewModel: MemberInfoCardViewModel by viewModels()
+     val viewModel: MemberInfoCardViewModel by viewModels()
 
     // 绑定变量
     private var _binding: FragmentMemberInfoCardBinding? = null
     private val binding get() = _binding!!
+
+    private var currentUserInfo: UserInfo? = null // 确保使用你的实际数据类
+
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -49,7 +59,7 @@
         // 绑定头像
 
         Glide.with(this)
-            .load("http://192.168.1.201:9000/sms/avatar/avatar.jpg")
+            .load(viewModel.cover)
             .transform(RoundedCorners(100))  // 设置圆角
             .error(R.drawable.error_placeholder) // 如果加载失败,显示占位图
             .listener(object : RequestListener<Drawable> {
@@ -80,7 +90,7 @@
         // 绑定会员徽章
 
         Glide.with(this)
-            .load("http://192.168.1.201:9000/sms/member/vip_no.png")
+            .load(viewModel.vipCover)
             .transform(RoundedCorners(100))  // 设置圆角
             .error(R.drawable.error_placeholder) // 如果加载失败,显示占位图
             .listener(object : RequestListener<Drawable> {
@@ -107,6 +117,45 @@
             })
             .into(binding.memberImageView)
 
+
+        // 监听 cover 变化
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewModel.cover.collect { coverUrl ->
+                Glide.with(this@MemberInfoCardFragment)
+                    .load(coverUrl)
+                    .transform(RoundedCorners(100))
+                    .error(R.drawable.error_placeholder)
+                    .into(binding.memberAvatarView)
+            }
+        }
+
+        // 监听 vipCover 变化
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewModel.vipCover.collect { vipCoverUrl ->
+                Glide.with(this@MemberInfoCardFragment)
+                    .load(vipCoverUrl)
+                    .transform(RoundedCorners(100))
+                    .error(R.drawable.error_placeholder)
+                    .into(binding.memberImageView)
+            }
+        }
+
+        // 监听 background 变化
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewModel.background.collect { backgroundColor ->
+//                binding.memberCardCardView.setBackgroundColor(Color.parseColor(backgroundColor))
+                binding.memberCardCardView.setBackgroundResource(backgroundColor)
+            }
+        }
+
+
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewModel.color.collect { color ->
+                binding.phoneNumberText.setTextColor(Color.parseColor(color))
+                binding.memberStatus.setTextColor(Color.parseColor(color))
+            }
+        }
+
         return binding.root
     }
 
@@ -115,4 +164,37 @@
         super.onDestroyView()
         _binding = null
     }
+
+//    private fun loadUserInfo() {
+//        // 获取Fragment实例
+//        val memberInfoCardFragment = supportFragmentManager.findFragmentById(R.id.memberInfoCardFragment) as MemberInfoCardFragment?
+//
+//
+//
+//        lifecycleScope.launch {
+//            try {
+//                // 从本地获取保存的手机号
+//                val savedPhone = PreferencesManager.getPhone()
+//                if (savedPhone.isNullOrEmpty()) {
+////                    Toast.makeText(this@VipActivity, "用户未登录", Toast.LENGTH_SHORT).show()
+//                    return@launch
+//                }
+//
+//                val response = RetrofitClient.apiService.getUserInfo(savedPhone)
+//                if (response.code == "0" && response.data != null) {
+//                    // 保存用户信息
+//                    currentUserInfo = response.data
+//                    val userInfo = response.data
+//                    // 调用ViewModel的刷新方法
+//                    memberInfoCardFragment?.viewModel?.updateMemberStatus(userInfo)
+//
+//                }
+//            } catch (e: Exception) {
+//                e.printStackTrace()
+//                Toast.makeText(this@VipActivity, "获取用户信息失败", Toast.LENGTH_SHORT).show()
+//            }
+//        }
+//
+//    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3