From db2e408f6c2eddc363ed76e0f5fd1e59a02aa175 Mon Sep 17 00:00:00 2001
From: zhujie <leon.zhu@cloudroam.com.cn>
Date: 星期四, 03 四月 2025 09:12:37 +0800
Subject: [PATCH] 邀请有礼

---
 app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt |   80 ++++++++++++++++++++++++++++++++++------
 1 files changed, 68 insertions(+), 12 deletions(-)

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 a2becfc..38a6f08 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
@@ -13,7 +13,9 @@
 import android.widget.Toast
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.appcompat.app.AppCompatActivity
+import androidx.core.content.ContextCompat
 import androidx.fragment.app.Fragment
+import androidx.lifecycle.Observer
 import androidx.lifecycle.lifecycleScope
 import androidx.navigation.fragment.findNavController
 import com.google.android.material.dialog.MaterialAlertDialogBuilder
@@ -21,11 +23,17 @@
 import com.example.firstapp.activity.ContentDetailActivity
 import com.example.firstapp.database.service.RetrofitClient
 import com.example.firstapp.databinding.FragmentNotificationsBinding
+import com.example.firstapp.pay.PayAbility
 import com.example.firstapp.ui.reminderOther.ReminderOtherAddActivity2
 import com.example.firstapp.ui.reminderOther.ReminderSettingsFragmentOther
 import com.example.firstapp.ui.profile.EditProfileActivity
+import com.example.firstapp.utils.Log
+import com.google.android.material.snackbar.Snackbar
 import kotlinx.coroutines.launch
 import com.bumptech.glide.Glide
+import com.example.firstapp.MainActivity
+import com.example.firstapp.database.response.UserInfo
+import com.example.firstapp.ui.invitation.InvitationActivity
 
 class NotificationsFragment : Fragment() {
 
@@ -44,6 +52,8 @@
     private var xiaohongshuUrl = ""
     private var contactEmail = ""
     private var shareText = ""
+    private var currentUserInfo: UserInfo? = null // 确保使用你的实际数据类
+
 
     private val editProfileLauncher = registerForActivityResult(
         ActivityResultContracts.StartActivityForResult()
@@ -120,6 +130,41 @@
     }
 
     private fun setupClickListeners() {
+
+        // 支付插件
+//        binding.payPlugin.setOnClickListener {
+//            // 跳转到支付插件页面
+//            lifecycleScope.launch {
+//                try {
+//                    val response = RetrofitClient.apiService.getPayOrderInfo()
+//                    var orderInfo=response.data
+//                    Log.d("AliPayHelper","获取订单信息时: ${response}")
+//                    // 这里调用支付宝
+//                    PayAbility.aliPay(requireActivity(), orderInfo, Observer {
+//                        when (it.resultStatus) {
+//                            "9000" -> {
+////                                Snackbar.make(binding.root, "支付成功", Snackbar.LENGTH_LONG).show()
+//                                requireActivity().runOnUiThread {
+//                                    Toast.makeText(requireContext(), "支付成功", Toast.LENGTH_LONG).show()
+//                                }
+//                            }
+//                            else -> {
+////                                Snackbar.make(binding.root, "支付失败", Snackbar.LENGTH_LONG).show()
+//                                requireActivity().runOnUiThread {
+//                                    Toast.makeText(requireContext(), "支付失败", Toast.LENGTH_LONG).show()
+//                                }
+//
+//                            }
+//                        }
+//                    })
+//
+//                } catch (e: Exception) {
+//                    Log.d("AliPayHelper","获取订单信息时发生错误: ${e.message}")
+//                }
+//            }
+//        }
+
+
         // 设置提醒
         binding.layoutReminder.setOnClickListener {
             findNavController().navigate(R.id.action_navigation_notifications_to_reminderSettingsFragment)
@@ -133,7 +178,9 @@
 
         // 好友邀请
         binding.layoutInvite.setOnClickListener {
-            shareToWechat()
+            // 跳转到邀请活动页面
+            val intent = Intent(requireActivity(), InvitationActivity::class.java)
+            startActivity(intent)
         }
 
         // AI助手
@@ -174,14 +221,17 @@
             startContentActivity("user_guide", "使用教程")
         }
 
-        // 头像点击
+        // 头像点击老的处理逻辑
         binding.layoutUserInfo.setOnClickListener {
-            val intent = Intent(requireContext(), EditProfileActivity::class.java).apply {
-                putExtra("nickname", binding.tvNickname.text.toString())
-                // 如果有当前头像的URL,也可以传递
-                // putExtra("avatar_url", currentAvatarUrl)
+            currentUserInfo?.let { user ->
+                val intent = Intent(requireContext(), EditProfileActivity::class.java).apply {
+                    putExtra("nickname", user.name) // 使用数据模型中的字段
+                    putExtra("avatar_url", user.cover) // 使用正确的URL字段
+                }
+                editProfileLauncher.launch(intent)
+            } ?: run {
+                Toast.makeText(context, "用户信息未加载完成", Toast.LENGTH_SHORT).show()
             }
-            editProfileLauncher.launch(intent)
         }
 
         // VIP续费
@@ -254,23 +304,29 @@
         try {
             val response = RetrofitClient.apiService.getUserInfo("17586582287")
             if (response.code == "0" && response.data != null) {
+                // 保存用户信息
+                currentUserInfo = response.data
                 val userInfo = response.data
-                
+
                 // 设置头像
                 Glide.with(this)
                     .load(userInfo.cover)
                     .placeholder(R.drawable.default_avatar)
                     .into(binding.ivAvatar)
-                
+
                 // 设置昵称和账号
                 binding.tvNickname.text = userInfo.name
                 binding.tvUserId.text = "个人账号:${userInfo.contactTel}"
-                
+
                 // 设置VIP信息
                 if (userInfo.showed) {
+                    binding.ivVip.visibility = View.VISIBLE
                     binding.cardVip.visibility = View.VISIBLE
-                    binding.tvVipExpire.text = "${userInfo.passTime} 到期"
+                    binding.tvVipExpire.text = "${userInfo.overTime} 到期"
                 } else {
+                    //非会员信息
+                    binding.btnRenew.text = "立即开通"
+                    binding.linearVipContainer.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.gray))
                     binding.cardVip.visibility = View.GONE
                 }
             }
@@ -282,7 +338,7 @@
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
-        
+
         // 加载用户信息
         lifecycleScope.launch {
             loadUserInfo()

--
Gitblit v1.9.3