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