fix
lmw
2024-11-09 d1a9e3312387b6c47e6186af506787a8a66369d1
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) {
    }
}