From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

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

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs
index 12e1f94..7ff544e 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,37 +173,21 @@
         /// 鑾峰彇缁戝畾鏁版嵁
         /// </summary>
         /// <returns></returns>
-        private async Task<bool> GetBingData()
+        private bool GetBingData()
         {
-            this.dicBindData = new Dictionary<string, OtherPartyResult>();
+            //鈽嗐優銉笺偗鈽� 缁戝畾寰俊
+            //this.dicBindData = new Dictionary<string, OtherPartyResult>();
 
-            var result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetUserAuthItem", false, "");
-            if (result == null)
-            {
-                return false;
-            }
-            var data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<OtherPartyResult>>(result);
-            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;
-                }
-            }
+            //var result = HdlUserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetUserAuthItem", false, "");
+            //if (string.IsNullOrEmpty(result) == true)
+            //{
+            //    return false;
+            //}
+            //var data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<OtherPartyResult>>(result);
+            //foreach (var info in data)
+            //{
+            //    this.dicBindData[info.Platform] = info;
+            //}
 
             return true;
         }
@@ -220,43 +204,61 @@
 #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)
                 {
                     return;
                 }
-                var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
+                var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AuthUserRes>(authStr);
                 //缁戝畾寰俊
                 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 listNotShow = new List<string>() { "UserNoBindAccount" };
-            var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/InsertOrUpdateAuthUser", false, pra, listNotShow);
-            if (result == false)
-            {
-                return;
-            }
+            //鈽嗐優銉笺偗鈽� 缁戝畾寰俊
+            ////鑾峰彇寰俊鏄电О
+            //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 pra2 = new { AccountGuid = Common.Config.Instance.Guid, OpenID = openID };
-            result = await 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);
-                //閲嶆柊鍒锋柊鐣岄潰
-                this.InitMiddleData();
-            }
+            ////鍏堜笂浼犲井淇¤祫鏂�
+            //var pra = new { AccessToken = accessToken, RefreshToken = refreshToken, OpenID = openID, UserName = nickData.nickname };
+            //var listNotShow = new List<string>() { "UserNoBindAccount" };
+            //var result = HdlUserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/InsertOrUpdateAuthUser", false, pra, listNotShow);
+            //if (result == false)
+            //{
+            //    return;
+            //}
+
+            ////鍐嶆墽琛岀粦瀹�
+            //var pra2 = new { AccountGuid = Common.Config.Instance.Guid, OpenID = openID };
+            //result = HdlUserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/BindAuthUserToAccount", false, pra2);
+            //if (result == true)
+            //{
+            //    //缁戝畾鎴愬姛锛佷笅娆′綘鍙互鐢ㄥ井淇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();
+            //}
         }
 
         #endregion
@@ -267,15 +269,16 @@
         /// 瑙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);
-            if (result == true)
-            {
-                //閲嶆柊鍒锋柊鐣岄潰
-                this.InitMiddleData();
-            }
+            //鈽嗐優銉笺偗鈽� 缁戝畾寰俊
+            //var pra = new { DistributedMark = infoData.Id };
+            //var result = HdlUserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UnBindUserAuth", false, pra);
+            //if (result == true)
+            //{
+            //    //閲嶆柊鍒锋柊鐣岄潰
+            //    this.InitMiddleData();
+            //}
         }
 
         #endregion
@@ -308,20 +311,30 @@
             /// </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;
+        }
+
+        private class AuthUserRes
+        {
+            ///<summary>
+            /// 绗笁鏂箃oken
+            /// </summary>
+            public string access_token;
+            /// <summary>
+            /// 鍒锋柊token
+            /// </summary>
+            public string refresh_token;
+            /// <summary>
+            ///绗笁鏂圭敤鎴峰敮涓�鏍囪瘑
+            /// </summary>
+            public string openid;
+
+            public int expires_in;
+            public string scope;
+            public string unionid;
+
         }
 
         #endregion

--
Gitblit v1.8.0