fix
lmw
2024-11-09 d1a9e3312387b6c47e6186af506787a8a66369d1
app/src/main/java/com/sinata/xqmuse/ui/mine/BindActivity.kt
@@ -1,14 +1,21 @@
package com.sinata.xqmuse.ui.mine
import cn.sinata.xldutils.utils.myToast
import com.sinata.xqmuse.R
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.entity.UserInfo
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.ui.login.ForgetActivity
import com.umeng.socialize.UMAuthListener
import com.umeng.socialize.UMShareAPI
import com.umeng.socialize.UMShareConfig
import com.umeng.socialize.bean.SHARE_MEDIA
import kotlinx.android.synthetic.main.activity_bind.*
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
class BindActivity : TransparentStatusBarActivity() {
class BindActivity : TransparentStatusBarActivity(), UMAuthListener {
    override fun setContentView() = R.layout.activity_bind
    private var data :UserInfo? = null
@@ -17,6 +24,14 @@
        tv_phone.setOnClickListener {
            if (data!=null)
                startActivity<BindPhone1Activity>("phone" to data?.cellPhone)
        }
        tv_wx.setOnClickListener {
            if (data!=null&&data?.wxOpenId.isNullOrEmpty()){
                thirdAuth()
            }
        }
        tv_pwd.setOnClickListener {
            startActivity<ForgetActivity>()
        }
    }
@@ -28,7 +43,36 @@
        HttpManager.getUserDetail().request(this){_,data->
            this.data = data
            tv_phone.text = data?.cellPhone
            tv_wx.text = if (data?.wxOpenId.isNullOrEmpty()) "" else "已绑定"
            tv_wx.text = if (data?.wxOpenId.isNullOrEmpty()) "" else data?.wxName
        }
    }
    private fun thirdAuth() {
        val umShareConfig = UMShareConfig()
        umShareConfig.isNeedAuthOnGetUserInfo(true)
        UMShareAPI.get(this).setShareConfig(umShareConfig)
        UMShareAPI.get(this).getPlatformInfo(this, SHARE_MEDIA.WEIXIN, this)
    }
    override fun onComplete(p0: SHARE_MEDIA?, p1: Int, p2: MutableMap<String, String>?) {
        showDialog()
        val openid = p2?.get("openid")
        val nickname = p2?.get("name")
        HttpManager.bindVx(openid?:"",nickname?:"").request(this,success = { _, data ->
            toast("绑定成功")
            tv_wx.text = nickname
            this.data?.wxOpenId = openid
        }) {_,msg->
            toast("绑定失败")
        }
    }
    override fun onCancel(p0: SHARE_MEDIA?, p1: Int) {
    }
    override fun onError(p0: SHARE_MEDIA?, p1: Int, p2: Throwable?) {
    }
    override fun onStart(p0: SHARE_MEDIA?) {
    }
}