From d1a9e3312387b6c47e6186af506787a8a66369d1 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期六, 09 十一月 2024 18:40:36 +0800
Subject: [PATCH] fix

---
 app/src/main/java/com/sinata/xqmuse/ui/mine/VipActivity.kt |   57 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/VipActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/VipActivity.kt
index d1d61a4..5eb141e 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/mine/VipActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/VipActivity.kt
@@ -3,20 +3,26 @@
 import android.webkit.WebChromeClient
 import android.webkit.WebSettings
 import android.webkit.WebViewClient
+import androidx.core.os.bundleOf
 import androidx.recyclerview.widget.GridLayoutManager
 import cn.sinata.xldutils.gone
+import cn.sinata.xldutils.utils.showAllowingStateLoss
 import com.sinata.xqmuse.R
+import com.sinata.xqmuse.dialog.BuyRuleDialog
+import com.sinata.xqmuse.dialog.PayDialog
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.request
-import com.sinata.xqmuse.ui.H5Activity
 import com.sinata.xqmuse.ui.TransparentStatusBarActivity
 import com.sinata.xqmuse.ui.mine.adapter.VipPriceAdapter
+import com.sinata.xqmuse.utils.Const
+import com.sinata.xqmuse.utils.interfaces.StringCallback
+import com.sinata.xqmuse.utils.pay.PayListener
+import com.sinata.xqmuse.utils.pay.PayUtil
 import kotlinx.android.synthetic.main.activity_vip.*
 import org.jetbrains.anko.backgroundResource
-import org.jetbrains.anko.startActivityForResult
 import org.jetbrains.anko.toast
 
-class VipActivity : TransparentStatusBarActivity() {
+class VipActivity : TransparentStatusBarActivity(), PayListener {
     override fun setContentView() = R.layout.activity_vip
 
     private val price = arrayListOf<Double>()
@@ -30,17 +36,34 @@
         }
         tv_rule.setOnClickListener {
             HttpManager.getVipContent(2).request(this){ _, data->
-                data?.let {
-                    startActivityForResult<H5Activity>(1,"title" to "会员用户协议","url" to "","showClose" to true)
+                val buyRuleDialog = BuyRuleDialog()
+                buyRuleDialog.arguments = bundleOf("rule" to data,"title" to "会员用户协议")
+                buyRuleDialog.callback = object :StringCallback{
+                    override fun onResult(rst: String) {
+                        cb_rule.isChecked = rst == "ok"
+                    }
                 }
+                buyRuleDialog.showAllowingStateLoss(supportFragmentManager,"rule")
             }
         }
 
         tv_action.setOnClickListener {
             if (cb_rule.isChecked){
-
+                PayDialog.show(supportFragmentManager,object :StringCallback{
+                    override fun onResult(rst: String) {
+                        HttpManager.placeOrder(3,rst.toInt(),2,price[adapter.checked],null,null,adapter.checked+1 )
+                            .request(this@VipActivity){_,data->
+                                if (rst == "1"){
+                                    PayUtil.initWeChatPay(this@VipActivity,Const.WX_APP_ID)
+                                    PayUtil.weChatPay(data!!)
+                                }else{
+                                    PayUtil.aliPay(this@VipActivity,data?.orderInfo?:"")
+                                }
+                            }
+                    }
+                },enableBalance = false)
             }else
-                toast("请阅读并同意《》")
+                toast("请阅读并同意《会员用户协议》")
         }
     }
 
@@ -60,6 +83,7 @@
         settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
         webView.webChromeClient = object : WebChromeClient() {}
         webView.webViewClient = object : WebViewClient() {}
+        PayUtil.addPayListener(this)
         showVipInfo()
         getPrice()
         getH5()
@@ -70,10 +94,12 @@
             data?.apply {
                 tv_vip.text = if (isVip == 2){
                     bg_vip.backgroundResource = R.mipmap.no_vip
+                    tv_describe.text = "升级为会员,解锁会员专属体验"
                     "你还未开通会员服务"
                 } else{
                     bg_vip.backgroundResource = R.mipmap.bg_vip
-                    "${vipExpireTime.substring(0,10)}到期"
+                    tv_describe.text = "您将享受所有会员专享音频,尽情畅游心泉·疗愈世界"
+                    "${vipExpireTime?.substring(0,10)}到期"
                 }
             }
         }
@@ -105,4 +131,19 @@
         }
     }
 
+    override fun onDestroy() {
+        super.onDestroy()
+        PayUtil.unregisterApp()
+        PayUtil.removePayListener(this)
+    }
+
+    override fun onPaySuccess() {
+        showVipInfo()
+    }
+
+    override fun onPayCancel() {
+    }
+
+    override fun onPayError(msg: String) {
+    }
 }

--
Gitblit v1.7.1