tj
2025-04-01 641d6300869c8d53e8b038e47eb0fe469891a95a
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()
//            }
//        }
//
//    }
}