From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs |   91 ++++++++++++++++++++-------------------------
 1 files changed, 40 insertions(+), 51 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs
index 12e1f94..686de8b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs
@@ -41,12 +41,12 @@
             //娓呯┖bodyFrame
             this.ClearBodyFrame();
 
-            HdlThreadLogic.Current.RunThread(async () =>
+            HdlThreadLogic.Current.RunThread(() =>
             {
                 //鎵撳紑杩涘害鏉�
                 this.ShowProgressBar();
                 //鑾峰彇缁戝畾鏁版嵁
-                var result = await this.GetBingData();
+                var result = this.GetBingData();
                 if (result == false)
                 {
                     //鍏抽棴杩涘害鏉�
@@ -82,7 +82,7 @@
             {
                 //瑙i櫎缁戝畾
                 bindTipText = Language.StringByID(R.MyInternationalizationString.uUnBinded);
-                bindNameText = dicBindData["Wechat"].Nickname;
+                bindNameText = dicBindData["Wechat"].UserName;
             }
             var rowChat = new FrameRowControl(listView.rowSpace / 2);
             rowChat.Y = Application.GetRealHeight(11);
@@ -91,13 +91,13 @@
             var btnChat = rowChat.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uWebChat), 400, 60);
             btnChat.Y = Application.GetRealHeight(12) + rowChat.chidrenYaxis;
             btnChat.TextSize = 15;
-            rowChat.AddChidren(btnChat, ChidrenBindMode.BindEventOnly);
+            rowChat.AddChidren(btnChat, ChidrenBindMode.BindEvent);
             //鏈巿鏉�  OR  鍚嶅瓧
-            var btnTip1 = rowChat.AddLeftCaption(bindNameText, 400, 49);
+            var btnTip1 = rowChat.AddLeftCaption(bindNameText == null ? string.Empty : bindNameText, 400, 50);
             btnTip1.Y = Application.GetRealHeight(72) + rowChat.chidrenYaxis;
             btnTip1.TextSize = 12;
             btnTip1.TextColor = UserCenterColor.Current.TextGrayColor1;
-            rowChat.AddChidren(btnTip1, ChidrenBindMode.BindEventOnly);
+            rowChat.AddChidren(btnTip1, ChidrenBindMode.BindEvent);
             //鍚戝彸鍥炬爣
             rowChat.AddRightArrow();
             //搴曠嚎
@@ -141,13 +141,13 @@
             //var btnQQ = rowQQ.AddLeftCaption("QQ", 400, 60);
             //btnQQ.Y = Application.GetRealHeight(12) + rowQQ.chidrenYaxis;
             //btnQQ.TextSize = 15;
-            //rowQQ.AddChidren(btnQQ, ChidrenBindMode.BindEventOnly);
+            //rowQQ.AddChidren(btnQQ, ChidrenBindMode.BindEvent);
             ////鏈巿鏉�  OR  鍚嶅瓧
             //var btnTip2 = rowQQ.AddLeftCaption(bindNameText, 400, 49);
             //btnTip2.Y = Application.GetRealHeight(72) + rowQQ.chidrenYaxis;
             //btnTip2.TextSize = 12;
             //btnTip2.TextColor = UserCenterColor.Current.TextGrayColor1;
-            //rowQQ.AddChidren(btnTip2, ChidrenBindMode.BindEventOnly);
+            //rowQQ.AddChidren(btnTip2, ChidrenBindMode.BindEvent);
             ////鍚戝彸鍥炬爣
             //rowQQ.AddRightArrow();
             ////璇风粦瀹�  OR  瑙i櫎缁戝畾
@@ -173,12 +173,12 @@
         /// 鑾峰彇缁戝畾鏁版嵁
         /// </summary>
         /// <returns></returns>
-        private async Task<bool> GetBingData()
+        private bool GetBingData()
         {
             this.dicBindData = new Dictionary<string, OtherPartyResult>();
 
-            var result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetUserAuthItem", false, "");
-            if (result == null)
+            var result = UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetUserAuthItem", false, "");
+            if (string.IsNullOrEmpty(result) == true)
             {
                 return false;
             }
@@ -186,23 +186,6 @@
             foreach (var info in data)
             {
                 this.dicBindData[info.Platform] = info;
-            }
-
-            //鑾峰彇鐢ㄦ埛鏄电О
-            if (this.dicBindData.ContainsKey("Wechat") == true)
-            {
-                var myData = this.dicBindData["Wechat"];
-                //缁欎釜榛樿鍊�
-                myData.Nickname = "Wechat";
-                var strUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" + myData.AccessToken;
-                strUrl += "&openid=" + myData.OpenID;
-                var byteData = await Common.CommonPage.Instance.DoRequestZigbeeHttpsInterface(strUrl, null, null, "GET");
-                if (byteData != null)
-                {
-                    var receipData = System.Text.Encoding.UTF8.GetString(byteData);
-                    var nickData = Newtonsoft.Json.JsonConvert.DeserializeObject<NicknameInfo>(receipData);
-                    myData.Nickname = nickData.nickname;
-                }
             }
 
             return true;
@@ -220,6 +203,11 @@
 #if Android
             com.hdl.home.Application.WXLogin();
             com.hdl.home.WXEntryActivity.RespAction = (authStr) =>
+#endif
+#if iOS
+            Home.IOS.AppDelegate.WXLogin();
+            Home.IOS.AppDelegate.RespAction = (authStr) =>
+#endif
             {
                 if (string.IsNullOrEmpty(authStr) == true)
                 {
@@ -229,31 +217,43 @@
                 //缁戝畾寰俊
                 this.BindWechat(authRes.access_token, authRes.refresh_token, authRes.openid);
             };
-#endif
         }
 
         /// <summary>
         /// 缁戝畾寰俊
         /// </summary>
         /// <param name="infoData"></param>
-        private async void BindWechat(string accessToken, string refreshToken, string openID)
+        private void BindWechat(string accessToken, string refreshToken, string openID)
         {
-            var pra = new { AccessToken = accessToken, RefreshToken = refreshToken, OpenID = openID };
+            //鑾峰彇寰俊鏄电О
+            var strUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" + accessToken;
+            strUrl += "&openid=" + openID;
+            var byteData = Common.CommonPage.Instance.DoRequestZigbeeHttpsInterface(strUrl, null, null, "GET");
+            if (byteData == null)
+            {
+                return;
+            }
+            var receipData = System.Text.Encoding.UTF8.GetString(byteData);
+            var nickData = Newtonsoft.Json.JsonConvert.DeserializeObject<NicknameInfo>(receipData);
+
+            //鍏堜笂浼犲井淇¤祫鏂�
+            var pra = new { AccessToken = accessToken, RefreshToken = refreshToken, OpenID = openID, UserName = nickData.nickname };
             var listNotShow = new List<string>() { "UserNoBindAccount" };
-            var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/InsertOrUpdateAuthUser", false, pra, listNotShow);
+            var result = UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/InsertOrUpdateAuthUser", false, pra, listNotShow);
             if (result == false)
             {
                 return;
             }
 
+            //鍐嶆墽琛岀粦瀹�
             var pra2 = new { AccountGuid = Common.Config.Instance.Guid, OpenID = openID };
-            result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/BindAuthUserToAccount", false, pra2);
+            result = UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/BindAuthUserToAccount", false, pra2);
             if (result == true)
             {
-                //缁戝畾寰俊鎴愬姛!
-                string msg = Language.StringByID(R.MyInternationalizationString.uBindSomethingSuccess);
-                msg = msg.Replace("{0}", Language.StringByID(R.MyInternationalizationString.uWebChat));
-                this.ShowMassage(ShowMsgType.Tip, msg);
+                //缁戝畾鎴愬姛锛佷笅娆′綘鍙互鐢ㄥ井淇0}璐﹀彿蹇�熺櫥褰曞暒
+                string msg = Language.StringByID(R.MyInternationalizationString.uBindWebchatSuccessMsg);
+                msg = msg.Replace("{0}", "\r\n");
+                this.ShowMassage(ShowMsgType.Normal, msg, null, Language.StringByID(R.MyInternationalizationString.uWell));
                 //閲嶆柊鍒锋柊鐣岄潰
                 this.InitMiddleData();
             }
@@ -267,10 +267,10 @@
         /// 瑙i櫎缁戝畾
         /// </summary>
         /// <param name="infoData"></param>
-        private async void UnBindOtherParty(OtherPartyResult infoData)
+        private void UnBindOtherParty(OtherPartyResult infoData)
         {
             var pra = new { DistributedMark = infoData.Id };
-            var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UnBindUserAuth", false, pra);
+            var result = UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UnBindUserAuth", false, pra);
             if (result == true)
             {
                 //閲嶆柊鍒锋柊鐣岄潰
@@ -308,20 +308,9 @@
             /// </summary>
             public string Platform = string.Empty;
             /// <summary>
-            /// 鏄电О(闇�瑕佽嚜宸卞幓鑾峰彇)
-            /// </summary>
-            public string Nickname = string.Empty;
-        }
-
-        /// <summary>
-        /// 鏄电О淇℃伅
-        /// </summary>
-        private class NicknameInfo
-        {
-            /// <summary>
             /// 鏄电О
             /// </summary>
-            public string nickname = string.Empty;
+            public string UserName = string.Empty;
         }
 
         #endregion

--
Gitblit v1.8.0