From 4ce5177289b1d34e467de9d8790836559cc5a09e Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 18 十一月 2019 18:06:28 +0800
Subject: [PATCH] 合并了全部的代码
---
ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 220 insertions(+), 13 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
index 2f5882d..f21a869 100755
--- a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
@@ -1,7 +1,4 @@
锘縰sing System;
-using System.Collections.Generic;
-using System.Net;
-using System.Text;
using Shared.Common;
using Shared.Phone.UserView;
using Shared.Phone.Device.CommonForm;
@@ -67,6 +64,14 @@
/// 瀵嗙爜
/// </summary>
private string password;
+ /// <summary>
+ /// wechat
+ /// </summary>
+ private Button wechatBtn;
+ /// <summary>
+ /// qq
+ /// </summary>
+ private Button qqBtn;
#endregion
@@ -187,7 +192,7 @@
Width = Application.GetRealWidth(942),
Gravity = Gravity.CenterHorizontal,
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
- Radius = (uint)Application.GetRealHeight(30)
+ Radius = (uint)Application.GetRealHeight(17)
};
midFrameLayout.AddChidren(accountPwdFL);
@@ -227,7 +232,7 @@
loginByCodeBtn = new Button()
{
X=Application.GetRealWidth(98),
- Y = Application.GetRealHeight(1431),
+ Y = Application.GetRealHeight(1466),
Width = Application.GetRealWidth(300),
Height = Application.GetRealHeight(49),
TextID = R.MyInternationalizationString.LoginByCode,
@@ -240,7 +245,7 @@
registerBtn = new Button()
{
X = Application.GetRealWidth(738),
- Y = Application.GetRealHeight(1431),
+ Y = Application.GetRealHeight(1466),
Width = Application.GetRealWidth(244),
Height = Application.GetRealHeight(49),
TextID = R.MyInternationalizationString.Register,
@@ -249,6 +254,27 @@
TextSize = CommonFormResouce.loginTextSize
};
midFrameLayout.AddChidren(registerBtn);
+
+ wechatBtn = new Button
+ {
+ X = Application.GetRealWidth(395),
+ Y = Application.GetRealHeight(1737),
+ Width = Application.GetMinRealAverage(115),
+ Height = Application.GetMinRealAverage(115),
+ UnSelectedImagePath = "Account/Wechat.png",
+ Gravity=Gravity.CenterHorizontal
+ };
+ midFrameLayout.AddChidren(wechatBtn);
+
+ qqBtn = new Button
+ {
+ X = Application.GetRealWidth(567),
+ Y = Application.GetRealHeight(1737),
+ Width = Application.GetMinRealAverage(115),
+ Height = Application.GetMinRealAverage(115),
+ UnSelectedImagePath = "Account/QQ.png"
+ };
+ //midFrameLayout.AddChidren(qqBtn);
#endregion
@@ -275,7 +301,10 @@
registerBtn.MouseUpEventHandler += Register;
//蹇樿瀵嗙爜
forgotPasswordBtn.MouseUpEventHandler += ForgetPWD_MouseUpEvent;
-
+ //wechat
+ wechatBtn.MouseUpEventHandler += LoginByWechat;
+ //qq
+ qqBtn.MouseUpEventHandler += LoginByQQ;
}
#endregion
@@ -338,9 +367,8 @@
{
return;
}
- this.RemoveFromParent();
- UserPage.Instance.Fresh();
+ HomePage.Instance.ShowLoginLoadView();
new System.Threading.Thread(async () =>
{
@@ -369,12 +397,13 @@
var homes = await House.GetHomeLists();
//鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
- Shared.Common.Room.CanInitAllRoom = true;
Shared.Common.Room.InitAllRoom();
Application.RunOnMainThread(() =>
{
- UserPage.Instance.Fresh();
CommonPage.Loading.Hide();
+ this.RemoveFromParent();
+ CommonPage.Instance.RemoveViewByTag("Login");
+ UserPage.Instance.Fresh();
});
})
{ IsBackground = true }.Start();
@@ -443,11 +472,189 @@
/// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
private void LoginByCode(object sender,MouseEventArgs mouseEventArgs)
{
- this.RemoveFromParent();
+ //this.RemoveFromParent();
var loginByCodePage = new AccountLoginByCode();
CommonPage.Instance.AddChidren(loginByCodePage);
loginByCodePage.Show();
}
+
+ /// <summary>
+ /// wechat鐧诲綍
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="mouseEventArgs"></param>
+ private void LoginByWechat(object sender, MouseEventArgs mouseEventArgs)
+ {
+#if Android
+ //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP),
+ // Language.StringByID(R.MyInternationalizationString.LoginByWechat),
+ // Language.StringByID(R.MyInternationalizationString.Cancel),
+ // Language.StringByID(R.MyInternationalizationString.Confrim));
+ //alert.Show();
+ //alert.ResultEventHandler += (send, e) =>
+ //{
+ //if (e)
+ //{
+ com.hdl.home.Application.WXLogin();
+ com.hdl.home.WXEntryActivity.RespAction = (authStr) =>
+ {
+ if (authStr == null)
+ {
+
+ }
+ else
+ {
+ new System.Threading.Thread(async () =>
+ {
+ var re = await isBindAuthAsync(authStr);
+ if (re)
+ {
+ //鐩存帴鐧诲綍
+ HomePage.Instance.ShowLoginLoadView();
+ //鍚姩ZigBee
+ ZigBee.Common.Application.Init();
+ var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
+ var homes = await House.GetHomeLists();
+ //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+ await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+ Shared.Common.Room.InitAllRoom();
+ Application.RunOnMainThread(() =>
+ {
+ this.RemoveFromParent();
+ CommonPage.Instance.RemoveViewByTag("Login");
+ UserPage.Instance.Fresh();
+ });
+ }
+ else
+ {
+ var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
+ Application.RunOnMainThread(() =>
+ {
+ var registerPage = new AccountRegister();
+ Shared.Common.CommonPage.Instance.AddChidren(registerPage);
+ registerPage.OpenID = authRes.openid;
+ registerPage.Show();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+ };
+ //}
+ //};
+#endif
+
+#if iOS
+ GateWay.Ios.AppDelegate.WXLogin();
+ GateWay.Ios.AppDelegate.RespAction = (authStr) =>
+ {
+ if (authStr == null)
+ {
+
+ }
+ else
+ {
+ new System.Threading.Thread(async () =>
+ {
+
+ var re = await isBindAuthAsync(authStr);
+ if (re)
+ {
+ //鐩存帴鐧诲綍
+ //this.RemoveFromParent();
+
+ //UserPage.Instance.Fresh();
+ //鍚姩ZigBee
+ ZigBee.Common.Application.Init();
+ var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
+ var homes = await House.GetHomeLists();
+ //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+ await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+ Shared.Common.Room.InitAllRoom();
+ Application.RunOnMainThread(() =>
+ {
+ this.RemoveFromParent();
+ UserPage.Instance.Fresh();
+ });
+ }
+ else
+ {
+ var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
+ Application.RunOnMainThread(() =>
+ {
+ var registerPage = new AccountRegister();
+ Shared.Common.CommonPage.Instance.AddChidren(registerPage);
+ registerPage.OpenID = authRes.openid;
+ registerPage.Show();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+ };
+#endif
+
+
+
+ }
+
+ /// <summary>
+ /// qq鐧诲綍
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="mouseEventArgs"></param>
+ private void LoginByQQ(object sender, MouseEventArgs mouseEventArgs)
+ {
+
+ }
+
+ /// <summary>
+ /// 鏄惁宸茬粦瀹�
+ /// </summary>
+ /// <param name="authStr"></param>
+ /// <returns></returns>
+ private async System.Threading.Tasks.Task<bool> isBindAuthAsync(string authStr)
+ {
+ var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
+ var auth = new SendDataToServer.AuthUser()
+ {
+ AccessToken = authRes.access_token,
+ RefreshToken = authRes.refresh_token,
+ OpenID = authRes.openid
+ };
+ var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(auth);
+ var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson));
+ if (revertObj == null)
+ {
+ return false;
+ }
+ var stateCodeStr = revertObj.StateCode.ToUpper();
+ if (stateCodeStr == "SUCCESS")
+ {
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
+ var revertData = responseDataObj;
+ Config.Instance.Account = revertData.Account;
+ Config.Instance.MD5PWD = revertData.MD5PWD;
+ Config.Instance.Guid = revertData.Guid;
+ Config.Instance.MqttKey = revertData.MqttKey;
+ Config.Instance.LoginDateTime = DateTime.Now;
+ Config.Instance.ConnectZigbeeMqttBrokerPwd = revertData.ConnectZigbeeMqttBrokerPwd;
+ Config.Instance.ConnectZigbeeMqttClientId = revertData.ConnectZigbeeMqttClientId;
+ Config.Instance.ZigbeeMqttBrokerLoadSubDomain = revertData.ZigbeeMqttBrokerLoadSubDomain;
+ if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null)
+ {
+ Config.Instance.AccountList.Add(revertData.Account);
+ }
+ Config.Instance.Save();
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+
/// <summary>
/// phone/email 閫夋嫨
@@ -547,7 +754,7 @@
private void Pwd_TextChange(object sender,string mouseEventArgs)
{
loginErrorBtn.Text = "";
- if (1 <= pwdRow.PasswrodET.Text.Trim().Length && pwdRow.PasswrodET.Text.Trim().Length <= 16 && phoneRow.AccountET.Text.Trim().Length > 0)
+ if (1 <= pwdRow.PasswrodET.Text.Trim().Length && pwdRow.PasswrodET.Text.Trim().Length <= 16 && (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow.AccountET.Text.Trim().Length>0))
{
loginBtn.Enable = loginBtn.IsSelected = true;
}
--
Gitblit v1.8.0