From dc6493db59dcb0893eac50b72122f94c24056b3f Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 12 十月 2020 14:35:39 +0800
Subject: [PATCH] 新版本
---
ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs | 168 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 101 insertions(+), 67 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs b/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
index 1def82e..ea8bce7 100755
--- a/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
+++ b/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
@@ -20,7 +20,7 @@
/// <summary>
/// 鏄惁鍚屾剰闅愮鍗忚
/// </summary>
- private bool isAgreePrivacyPolicy = true;
+ private bool isAgreePrivacyPolicy = false;
#endregion
@@ -32,9 +32,10 @@
/// <param name="account">鐧婚檰璐﹀彿</param>
public void ShowForm(string account = "")
{
- if (Config.Instance.IsLogin == true)
+ if (account == string.Empty)
{
- return;
+ //浣跨敤涓婁竴娆$櫥闄嗙殑璐﹀彿
+ account = Common.Config.Instance.Account;
}
CommonPage.Instance.IsDrawerLockMode = true;
this.Tag = "Login";
@@ -51,14 +52,14 @@
frameMidBack.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
this.AddChidren(frameMidBack);
- //HdlHome鐨勫浘鏍�
+ //Evoyo Home鐨勫浘鏍�
var btnLogoIcon = new PicViewControl(184, 184);
btnLogoIcon.Y = Application.GetRealHeight(230);
- btnLogoIcon.UnSelectedImagePath = "Account/Logo_White.png";
+ btnLogoIcon.UnSelectedImagePath = "Account/Logo_WhiteHome.png";
btnLogoIcon.Gravity = Gravity.CenterHorizontal;
this.AddChidren(btnLogoIcon);
- //Hdl Home
- var btnLogoName = new NormalViewControl(300, 69, true);
+ //Evoyo Home
+ var btnLogoName = new NormalViewControl(700, 69, true);
btnLogoName.Y = btnLogoIcon.Bottom;
btnLogoName.Gravity = Gravity.CenterHorizontal;
btnLogoName.TextID = R.MyInternationalizationString.AppName;
@@ -126,6 +127,9 @@
frameMidBack.AddChidren(btnLoginByCode);
btnLoginByCode.ButtonClickEvent += (sender, e) =>
{
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
+
if (codeDiv == 1)
{
//楠岃瘉鐮佺櫥闄�
@@ -165,6 +169,9 @@
frameMidBack.AddChidren(btnRegister);
btnRegister.ButtonClickEvent += (sender, e) =>
{
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
+
var registerPage = new AccountRegister();
CommonPage.Instance.AddChidren(registerPage);
registerPage.Show();
@@ -175,7 +182,7 @@
btnWebChat.Y = frameMidBack.Height - Application.GetRealHeight(69) - btnWebChat.IconSize;
btnWebChat.UnSelectedImagePath = "Account/Wechat.png";
btnWebChat.Gravity = Gravity.CenterHorizontal;
- frameMidBack.AddChidren(btnWebChat);
+ //frameMidBack.AddChidren(btnWebChat);
btnWebChat.ButtonClickEvent += (sender, e) =>
{
//寰俊鐧婚檰
@@ -183,22 +190,24 @@
};
//娣诲姞鏈嶅姟鍗忚鎺т欢
- //this.AddServiceAgreementControl(frameMidBack);
+ this.AddServiceAgreementControl(frameMidBack);
//娓稿浣撻獙
var btnTiyan = new NormalViewControl(300, 100, true);
btnTiyan.Y = btnLoginByCode.Y;
btnTiyan.TextAlignment = TextAlignment.Center;
- btnTiyan.TextColor = UserCenterColor.Current.TextGrayColor3;
+ btnTiyan.TextColor = UserCenterColor.Current.TextOrangeColor;
btnTiyan.TextSize = 12;
btnTiyan.Gravity = Gravity.CenterHorizontal;
- btnTiyan.Text = "娓稿浣撻獙";
+ btnTiyan.TextID = R.MyInternationalizationString.uExperienceAccount;
frameMidBack.AddChidren(btnTiyan);
btnTiyan.ButtonClickEvent += (sender, e) =>
{
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
+
btnTiyan.CanClick = false;
//鏄剧ず鍚姩椤�
- HomePage.Instance.ShowLoginLoadView();
HdlThreadLogic.Current.RunThread(() =>
{
//鍒濆鍖栧叏閮ㄤ綋楠屾暟鎹�
@@ -207,7 +216,7 @@
{
this.RemoveFromParent();
CommonPage.Instance.RemoveViewByTag("Login");
- UserPage.Instance.Fresh();
+ UserPage.Instance.ReFreshControl();
});
});
};
@@ -380,6 +389,9 @@
frameWhiteBack.AddChidren(btnForgot);
btnForgot.ButtonClickEvent += (sender, e) =>
{
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
+
var forgot = new AccountForgetPWD();
CommonPage.Instance.AddChidren(forgot);
forgot.Show();
@@ -556,8 +568,11 @@
btnSendCode.TextAlignment = TextAlignment.Center;
btnSendCode.IsBold = true;
rowVerCode.AddChidren(btnSendCode);
- btnSendCode.ButtonClickEvent += async (sender, e) =>
+ btnSendCode.ButtonClickEvent += (sender, e) =>
{
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
+
//妫�娴嬭緭鍏ョ殑璐﹀彿
nowInputAccount = txtAccount.Text.Trim();
if (this.CheckInputAccount("86", nowInputAccount, i_div) == false)
@@ -565,7 +580,7 @@
return;
}
//鍙戦�侀獙璇佺爜
- hadSendCode = await this.SendVerCode(btnSendCode, nowInputAccount, i_div);
+ hadSendCode = this.SendVerCode(btnSendCode, nowInputAccount, i_div);
};
//搴曠嚎
@@ -599,6 +614,9 @@
frameWhiteBack.AddChidren(btnForgot);
btnForgot.ButtonClickEvent += (sender, e) =>
{
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
+
var forgot = new AccountForgetPWD();
CommonPage.Instance.AddChidren(forgot);
forgot.Show();
@@ -637,14 +655,10 @@
//瀛椾綋鎬诲搴�
int fontWidth = 0;
int btnWidth = 0;
-#if Android
+
//鐗规畩鐨勮宸��
- int speceilValue = Application.GetRealWidth(20);
-#endif
-#if iOS
- //鐗规畩鐨勮宸��
- int speceilValue = Application.GetRealWidth(10);
-#endif
+ int speceilValue = ControlCommonResourse.TwoTextSpace;
+
//鎴戝凡闃呰骞跺悓鎰�
var btnMsg1 = new NormalViewControl(100, 90, true);
btnMsg1.Gravity = Gravity.CenterVertical;
@@ -670,7 +684,8 @@
btnMsg2.ButtonClickEvent += (sender, e) =>
{
var form = new UserCenter.Abount.SLAForm();
- this.AddChidren(form);
+ CommonPage.Instance.AddChidren(form);
+
form.InitTopFrameLayout();
form.InitBodyFrameLayout();
form.ShowForm();
@@ -747,6 +762,8 @@
/// <param name="i_div">1:鎵嬫満鍙� 2:閭</param>
private void LoginByAccountAndPsw(string i_account, string i_psw, int i_div)
{
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
//妫�娴嬭处鍙�
if (this.CheckInputAccount(string.Empty, i_account, i_div) == false)
{
@@ -756,18 +773,16 @@
//鐧婚檰涓�....
CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
- HdlThreadLogic.Current.RunThread(async () =>
+ HdlThreadLogic.Current.RunThread(() =>
{
//鐧婚檰鍙傛暟
var pra = new SendDataToServer.LoginObj();
pra.Account = i_account;
pra.Password = i_psw;
- pra.Source = CommonPage.Source;
- pra.Company = CommonPage.Company;
//璁块棶鎺ュ彛
var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(pra);
- var result = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson));
+ var result = CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson));
//澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹�
this.AdjustLoginSuccessData(result, pra, i_account, i_psw, i_div);
@@ -819,6 +834,8 @@
/// </summary>
private void LoginByWechat()
{
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
#if Android
com.hdl.home.Application.WXLogin();
com.hdl.home.WXEntryActivity.RespAction = (authStr) =>
@@ -833,35 +850,38 @@
{
return;
}
- HdlThreadLogic.Current.RunThread(async () =>
+ HdlThreadLogic.Current.RunThread(() =>
{
//鏄惁宸茬粡缁戝畾
- var re = await isBindAuthAsync(authStr);
+ var re = isBindAuthAsync(authStr);
if (re)
{
- Application.RunOnMainThread(() =>
- {
- //鐩存帴鐧诲綍
- HomePage.Instance.ShowLoginLoadView();
- });
- var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
- var homes = await House.GetHomeLists();
+ ProgressBar.Show(Language.StringByID(R.MyInternationalizationString.Logining));
+
+ var resultRegID = Shared.Common.CommonPage.Instance.PushRegID();
+ var homes = HdlResidenceLogic.Current.GetHomeListsFromDb(false);
//鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
- await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+ bool result = UserCenterLogic.InitUserCenterMenmoryAndThread();
+
//鍚姩ZigBee
ZigBee.Common.Application.Init();
- Application.RunOnMainThread(() =>
+ HdlThreadLogic.Current.RunMain(() =>
{
+ ProgressBar.Close();
this.RemoveFromParent();
CommonPage.Instance.RemoveViewByTag("Login");
- UserPage.Instance.Fresh();
+ if (result == true)
+ {
+ //false:寮�鍚簡璋冭瘯鍔熻兘
+ UserPage.Instance.ReFreshControl();
+ }
});
}
else
{
var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
- Application.RunOnMainThread(() =>
+ HdlThreadLogic.Current.RunMain(() =>
{
var registerPage = new AccountRegister();
CommonPage.Instance.AddChidren(registerPage);
@@ -878,7 +898,7 @@
/// </summary>
/// <param name="authStr"></param>
/// <returns></returns>
- private async System.Threading.Tasks.Task<bool> isBindAuthAsync(string authStr)
+ private bool isBindAuthAsync(string authStr)
{
var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
var auth = new SendDataToServer.AuthUser()
@@ -890,7 +910,7 @@
//鑾峰彇寰俊鏄电О
var strUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" + authRes.access_token;
strUrl += "&openid=" + authRes.openid;
- var byteData = await Common.CommonPage.Instance.DoRequestZigbeeHttpsInterface(strUrl, null, null, "GET");
+ var byteData = Common.CommonPage.Instance.DoRequestZigbeeHttpsInterface(strUrl, null, null, "GET");
if (byteData == null)
{
return false;
@@ -900,7 +920,7 @@
auth.UserName = nickData.nickname;
var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(auth);
- var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson));
+ var revertObj = CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson));
if (revertObj == null)
{
return false;
@@ -911,7 +931,7 @@
var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
var revertData = responseDataObj;
//鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄�
- UserCenter.UserCenterResourse.ResidenceOption.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid;
+ Config.Instance.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid;
Config.Instance.Account = revertData.Account;
Config.Instance.MD5PWD = revertData.MD5PWD;
Config.Instance.Guid = revertData.Guid;
@@ -935,18 +955,26 @@
/// <param name="i_account">璐﹀彿</param>
/// <param name="i_verCode">楠岃瘉鐮�</param>
/// <param name="i_div">1:鎵嬫満鍙� 2:閭</param>
- private async void LoginByVerCode(string i_account, string i_verCode, int i_div)
+ private void LoginByVerCode(string i_account, string i_verCode, int i_div)
{
- var pra = new SendDataToServer.LoginValidCodeOBJ()
+ //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+ if (this.CheckPrivacyPolicy() == false) { return; }
+ //鐧婚檰涓�....
+ CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
+
+ HdlThreadLogic.Current.RunThread(() =>
{
- Account = i_account,
- Code = i_verCode,
- Language = CommonPage.ZigBeeLanguage,
- AreaCode = int.Parse(CommonPage.PhoneZoneStr)
- };
- var result = await CommonFormResouce.LoginByCode(pra);
- //澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹�
- this.AdjustLoginSuccessData(result, pra, i_account, string.Empty, i_div);
+ var pra = new SendDataToServer.LoginValidCodeOBJ()
+ {
+ Account = i_account,
+ Code = i_verCode,
+ Language = CommonPage.ZigBeeLanguage,
+ AreaCode = int.Parse(CommonPage.PhoneZoneStr)
+ };
+ var result = CommonFormResouce.LoginByCode(pra);
+ //澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹�
+ this.AdjustLoginSuccessData(result, pra, i_account, string.Empty, i_div);
+ });
}
/// <summary>
@@ -956,7 +984,7 @@
/// <param name="account">璐﹀彿</param>
/// <param name="i_div">1:鎵嬫満鍙� 2:閭</param>
/// <returns></returns>
- private async System.Threading.Tasks.Task<bool> SendVerCode(NormalViewControl btnSendCode, string account, int i_div)
+ private bool SendVerCode(NormalViewControl btnSendCode, string account, int i_div)
{
//涓嶈兘鍐嶇偣鍑�
btnSendCode.CanClick = false;
@@ -977,7 +1005,7 @@
AreaCode = int.Parse(CommonPage.PhoneZoneStr),
Language = CommonPage.ZigBeeLanguage
};
- var requestRevertObj = await CommonFormResouce.LoginSendVerCode(reqDtoSignPhone);
+ var requestRevertObj = CommonFormResouce.LoginSendVerCode(reqDtoSignPhone);
if (requestRevertObj == null)
{
//璇锋眰鏈嶅姟鍣ㄥけ璐�
@@ -1071,7 +1099,7 @@
/// <param name="i_account">璐﹀彿</param>
/// <param name="i_psw">瀵嗙爜锛岄獙璇佺爜鐧婚檰鏃�,璁剧疆涓� string.Empty</param>
/// <param name="i_div">1:鎵嬫満鍙� 2:閭</param>
- private async void AdjustLoginSuccessData(Common.ResponseEntity.ResponsePack revertObj, object pra,
+ private void AdjustLoginSuccessData(Common.ResponseEntity.ResponsePack revertObj, object pra,
string i_account, string i_psw, int i_div)
{
if (revertObj == null)
@@ -1082,23 +1110,19 @@
CommonPage.Instance.FailureToServer();
CommonPage.Loading.Hide();
});
+ HdlLogLogic.Current.WriteLog(-1, "鐧婚檰鏃�,娌$綉缁�");
return;
}
var stateCodeStr = revertObj.StateCode.ToUpper();
//Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇
if (stateCodeStr == "SUCCESS")
{
- HdlThreadLogic.Current.RunMain(() =>
- {
- //鏄剧ず鍚姩椤�
- HomePage.Instance.ShowLoginLoadView();
- });
//瀛樺偍鏁版嵁
var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
var revertData = responseDataObj;
Config.ReFresh();
//鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄�
- UserCenterResourse.ResidenceOption.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid;
+ Config.Instance.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid;
Config.Instance.Account = revertData.Account;
Config.Instance.Password = i_psw;
Config.Instance.MD5PWD = revertData.MD5PWD;
@@ -1107,10 +1131,11 @@
Config.Instance.LoginToken = revertData.Token;
Config.Instance.Save();
- var resultRegID = await CommonPage.Instance.PushRegID();
- var homes = await House.GetHomeLists();
+ var resultRegID = CommonPage.Instance.PushRegID();
+ var homes = HdlResidenceLogic.Current.GetHomeListsFromDb(false);
//鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
- await UserCenterLogic.InitUserCenterMenmoryAndThread();
+ bool result = UserCenterLogic.InitUserCenterMenmoryAndThread();
+
//鍚姩ZigBee
ZigBee.Common.Application.Init();
@@ -1119,7 +1144,11 @@
CommonPage.Loading.Hide();
this.RemoveFromParent();
CommonPage.Instance.RemoveViewByTag("Login");
- UserPage.Instance.Fresh();
+ if (result == true)
+ {
+ //false:寮�鍚簡璋冭瘯鍔熻兘
+ UserPage.Instance.ReFreshControl();
+ }
});
return;
}
@@ -1162,6 +1191,11 @@
//璇峰厛鑾峰彇楠岃瘉鐮�
btnErrorMsg.TextID = R.MyInternationalizationString.NORECORD;
}
+ else if (stateCodeStr == "BERESTRICT")
+ {
+ //姝よ处鍙锋棤鏉冪櫥褰�
+ btnErrorMsg.TextID = R.MyInternationalizationString.ThisAccountHasNoAuthorityToLogin;
+ }
else if (stateCodeStr == "YOUDATANOISLOCALREGION")
{
//涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰�
--
Gitblit v1.8.0