From be5829165f7cd49216971d22e39b8eae16fad915 Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期二, 25 三月 2025 14:06:19 +0800
Subject: [PATCH] 1.阿里支付

---
 app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt |   59 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 47 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 4f3ba17..ef69523 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,9 +23,12 @@
 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.database.response.UserInfo
@@ -123,6 +128,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)
@@ -178,14 +218,6 @@
         }
 
         // 头像点击老的处理逻辑
-//        binding.layoutUserInfo.setOnClickListener {
-//            val intent = Intent(requireContext(), EditProfileActivity::class.java).apply {
-//                putExtra("nickname", binding.tvNickname.text.toString())
-//                putExtra("avatar_url", binding.ivAvatar.toString())
-//            }
-//            editProfileLauncher.launch(intent)
-//        }
-
         binding.layoutUserInfo.setOnClickListener {
             currentUserInfo?.let { user ->
                 val intent = Intent(requireContext(), EditProfileActivity::class.java).apply {
@@ -277,17 +309,20 @@
                     .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
                 }
             }
@@ -299,7 +334,7 @@
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
-        
+
         // 加载用户信息
         lifecycleScope.launch {
             loadUserInfo()

--
Gitblit v1.9.3