lmw
2025-04-24 718f31c92e2029d05260810435a2c70cef6e6ce5
app/src/main/java/com/sinata/xqmuse/ui/mine/VipActivity.kt
@@ -15,11 +15,14 @@
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.event.EmptyEvent
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.greenrobot.eventbus.EventBus
import org.jetbrains.anko.backgroundResource
import org.jetbrains.anko.browse
import org.jetbrains.anko.toast
class VipActivity : TransparentStatusBarActivity(), PayListener {
@@ -27,10 +30,11 @@
    private val price = arrayListOf<Double>()
    private val adapter = VipPriceAdapter(price)
    private var orderId = ""
    override fun initClick() {
        iv_back.setOnClickListener { finish() }
        adapter.setOnItemClickListener { view, position ->
        adapter.setOnItemClickListener { _, position ->
            adapter.checked = position
            adapter.notifyDataSetChanged()
        }
@@ -53,12 +57,11 @@
                    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?:"")
                                }
                                orderId = data?.orderId?:""
                                if (rst == "1")
                                    data?.jumpToWx(this@VipActivity)
                                else
                                    browse(data?.qrcodeUrl?:"")
                            }
                    }
                },enableBalance = false)
@@ -98,7 +101,7 @@
                    "你还未开通会员服务"
                } else{
                    bg_vip.backgroundResource = R.mipmap.bg_vip
                    tv_describe.text = "您将享受所有会员专享音频,尽情畅游心泉·疗愈世界"
                    tv_describe.text = "您将享受所有会员专享音频,尽情畅游泉疗愈世界"
                    "${vipExpireTime?.substring(0,10)}到期"
                }
            }
@@ -131,6 +134,26 @@
        }
    }
    private fun checkPayStatus(){
        if (!orderId.isNullOrEmpty()){
            HttpManager.queryPayment(orderId).request(this){_,data->
                when(data){
                    "pending"->{
                        toast("未查询到支付结果,如已付款请忽略")
                    }
                    "succeeded"->{
                        toast("支付成功")
                        onPaySuccess()
                    }
                    "failed"->{
                        toast("支付失败")
                    }
                }
            }
            orderId = ""
        }
    }
    override fun onDestroy() {
        super.onDestroy()
        PayUtil.unregisterApp()
@@ -139,6 +162,7 @@
    override fun onPaySuccess() {
        showVipInfo()
        EventBus.getDefault().post(EmptyEvent(Const.EventCode.USER_INFO_CHANGED))
    }
    override fun onPayCancel() {
@@ -146,4 +170,9 @@
    override fun onPayError(msg: String) {
    }
    override fun onResume() {
        super.onResume()
        checkPayStatus()
    }
}