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