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/BindActivity.kt |   48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/BindActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/BindActivity.kt
index 14d7018..2e47df2 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/mine/BindActivity.kt
+++ b/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?) {
+    }
 }

--
Gitblit v1.7.1