gxc
2020-01-02 00ab3ddb140ba8bb88b5cf572b004a85e1da85e9
ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs
@@ -82,7 +82,7 @@
            {
                //解除绑定
                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);
@@ -93,7 +93,7 @@
            btnChat.TextSize = 15;
            rowChat.AddChidren(btnChat, ChidrenBindMode.BindEventOnly);
            //未授权  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;
@@ -188,23 +188,6 @@
                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,7 +217,6 @@
                //绑定微信
                this.BindWechat(authRes.access_token, authRes.refresh_token, authRes.openid);
            };
#endif
        }
        /// <summary>
@@ -238,7 +225,19 @@
        /// <param name="infoData"></param>
        private async 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 = await 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);
            if (result == false)
@@ -246,14 +245,15 @@
                return;
            }
            //再执行绑定
            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);
                //绑定成功!下次你可以用微信{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();
            }
@@ -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