From 10b78a1626106f18a6b2f68bd2b8cafd2a99683c Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 12 八月 2020 11:31:59 +0800
Subject: [PATCH] 2020-08-12 4.喜爱页面,增加房间场景添加支持。 5.Alexa,添加设备页面增加修改备注功能,点击OK后,增加设备备注名字不匹配然后自动更新操作。
---
Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs | 402 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 258 insertions(+), 144 deletions(-)
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
index 0949f63..ed63141 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
@@ -74,12 +74,16 @@
TextAlignment = TextAlignment.CenterLeft,
Radius = (uint)Application.GetRealHeight (0),
TextColor = SkinStyle.Current.TextColor1,
- //Text = account,
-#if DEBUG
- //Text = "18926269190@189.cn"
- Text = "721343314@qq.com"
-#endif
+ Text = account,
+
};
+#if DEBUG
+ etAccount.Text = "18926269190@189.cn";
+ //etAccount.Text = "721343314@qq.com";
+ //etAccount.Text = "crabtreel12019@gmail.com";
+ //etAccount.Text = "2791308028@qq.com";
+#endif
+
accountView.AddChidren (etAccount);
var userConfigBytes = IO.FileUtils.ReadFile ("AccountListDB");
@@ -93,6 +97,13 @@
}
var accountList = accountListDB.account;
+ //鑷姩濉啓璐﹀彿
+ if (string.IsNullOrEmpty (account)) {
+ if (accountList.Count > 0) {
+ etAccount.Text = accountList [accountList.Count - 1];
+ }
+
+ }
var accountListView = new VerticalScrolViewLayout () {
Width = Application.GetRealWidth (500),
Height = Application.GetRealHeight (85 * 2),
@@ -119,20 +130,21 @@
TextAlignment = TextAlignment.CenterLeft,
SecureTextEntry = true,
TextColor = SkinStyle.Current.TextColor1,
-#if DEBUG
- Text = "123456"
-#endif
- //Text = password,
+
+ Text = password,
};
+#if DEBUG
+ etPasswrod.Text = "123456";
+#endif
passwrodView.AddChidren (etPasswrod);
Button btnShowPassword = new Button () {
X = etPasswrod.Right,
Y = etPasswrod.Y + Application.GetRealHeight (12),
- Width = Application.GetRealWidth (73),
- Height = Application.GetRealHeight (60),
- UnSelectedImagePath = "CrabtreeAdd/ShowPW.png",
- SelectedImagePath = "CrabtreeAdd/HidePW.png",
+ Width = Application.GetMinRealAverage (73),
+ Height = Application.GetMinRealAverage (60),
+ UnSelectedImagePath = "CrabtreeAdd/HidePW.png",
+ SelectedImagePath = "CrabtreeAdd/ShowPW.png",
BorderColor = SkinStyle.Current.Transparent,
BorderWidth = 2,
Radius = 1
@@ -156,6 +168,10 @@
NigelLoginPass++;
};
#endif
+ //if (accountList.Count > 0) {
+ // etAccount.Text = accountList [accountList.Count-1];
+ //}
+
etAccount.EditorEnterAction += (obj) => {
Application.HideSoftInput ();
etPasswrod.Foucs = true;
@@ -246,7 +262,7 @@
MainPage.Loading.Start ("Login...");
}
});
- if (UserConfig.Instance.internetStatus == 0 || !SystemRemote.checeInternet ()) {
+ if (UserConfig.Instance.internetStatus == 0) {
Application.RunOnMainThread (() => {
new Tip () { Text = "Network abnormal, unable to connect to the Internet", Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (btnLogo);
});
@@ -270,7 +286,7 @@
} catch (Exception ex) {
MainPage.FailureToServer ();
- Console.WriteLine (ex.Message);
+ Utlis.WriteLine (ex.Message);
} finally {
Application.RunOnMainThread (() => {
MainPage.Loading.Hide ();
@@ -384,59 +400,56 @@
}
- /// <summary>
- ///
- /// </summary>
- /// <param name="stateCodeStr"></param>
- void ShowGetAllBindGatewarysPaggerErrorInfo (string stateCodeStr)
- {
- string mes = "";
- //2020-01-06 寰呰ˉ鍏�
- if (stateCodeStr == ErrorCode.NetworkError) {
- mes = ErrorCode.NetworkError;
- } else {
- mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
+ ///// <summary>
+ /////
+ ///// </summary>
+ ///// <param name="stateCodeStr"></param>
+ //void ShowGetAllBindGatewarysPaggerErrorInfo (string stateCodeStr)
+ //{
+ // string mes = "";
+ // //2020-01-06 寰呰ˉ鍏�
+ // if (stateCodeStr == ErrorCode.NetworkError) {
+ // mes = ErrorCode.NetworkError;
+ // } else {
+ // mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
- }
- if (!string.IsNullOrEmpty (mes)) {
- Application.RunOnMainThread (() => {
- new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
- });
- }
+ // }
+ // if (!string.IsNullOrEmpty (mes)) {
+ // Application.RunOnMainThread (() => {
+ // new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+ // });
+ // }
- }
+ //}
/// <summary>
- /// 鐧诲綍
+ /// 鐧诲綍 2020-01-11
/// </summary>
/// <param name="account">Account.</param>
/// <param name="password">Password.</param>
private void Login (string account, string password, AccountListDB accountListDB)
{
- //string pattern = @"(http|https)://(?<domain>[^(:|/]*)";
- //Regex reg = new Regex (pattern, RegexOptions.IgnoreCase);
- //Match m = reg.Match (MainPage.RequestHttpsHost);
- //string mResult = m.Groups ["domain"].Value;
- //if (!string.IsNullOrEmpty (mResult)) {
- // MainPage.RequestHttpsHostMqtt = "https://" + mResult;
- //}
-
- //return;
-
var requestObj = new LoginObj () { Account = account, Password = password, Company = MainPage.SoftSmsType };
var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
- var revertObj = MainPage.RequestHttps (API.Login, requestJson, false, false);
+ var revertObj = MainPage.RequestHttps (API.Login, requestJson);
if (revertObj.StateCode.ToUpper() == "SUCCESS") {
- if (!accountListDB.account.Contains (account)) {
- accountListDB.account.Add (account);
- accountListDB.SaveAccountListDB ();
+ //if (!accountListDB.account.Contains (account)) {
+ // accountListDB.account.Add (account);
+ // accountListDB.SaveAccountListDB ();
+ //}
+
+ if (accountListDB.account.Contains (account)) {
+ accountListDB.account.Remove (account);
}
+ accountListDB.account.Add (account);
+ accountListDB.SaveAccountListDB ();
var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.ResponseData.ToString ());
var revertData = responseDataObj;
MainPage.LoginUser = new UserInfo {
+ LoginToken = revertData.Token,
ID = revertData.UserId,
MainUserId = revertData.MainUserId,
AccountType = revertData.UserType,
@@ -447,7 +460,7 @@
Name = revertData.Contact,
Guid = revertData.Guid,
MD5PWD = revertData.MD5PWD,
-
+
};
//var se = new service.hdlcontrol.com_push.WebServicePush ();
@@ -460,115 +473,84 @@
var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2);
if (revertObj2.StateCode.ToUpper () == "SUCCESS") {
-
- //var DD = Newtonsoft.Json.Linq.JObject.Parse ("GFGFDG");
- //DD["ResponseData"]["PageData"];
var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ());
//if (mResidenceRes.TotalCount != 0) {
// //褰撲綇瀹呬负绌烘椂鍏堟彁绀虹敤鎴锋柊寤轰綇瀹�
-
//} else {
-
var revertRoomData = mResidenceRes.PageData;
- if (revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id) == null) {
+ UserConfig.Instance.HomeLists = revertRoomData;
+
+ if (UserConfig.Instance.CurrentRegion == null) {
if (revertRoomData != null && revertRoomData.Count > 0) {
- UserConfig.Instance.CurrentRegion = revertRoomData [0];
- if (UserConfig.Instance.CheckHomeGateways ()) {
- UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId;
+ var bFind = false;
+ foreach (var mHome in revertRoomData) {
+ if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) {
+ bFind = true;
+ UserConfig.Instance.CurrentRegion = mHome;
+ break;
+ }
}
+ if (!bFind) {
+ UserConfig.Instance.CurrentRegion = revertRoomData [0];
+ }
+
IO.FileUtils.DeleteAllFile ();
}
+
} else {
- Room.InitAllRoom ();
- }
-
- var gatewayListObj = new GetAllBindGatewarysPaggerObj ();
- gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
-
- //var gatewayListObj = new GatewayListObj ();
- var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
- var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson);
- if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") {
- UserConfig.Instance.GatewayList.Clear ();
-
- var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ());
- //var responseGatewayDataObj = mGateRes.PageData;
- UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
- UserConfig.Instance.SaveUserConfig ();
- MainPage.LoginUser.LastTime = DateTime.Now;
- if (UserConfig.Instance.GatewayList.Count == 0) {
- Application.RunOnMainThread (() => {
- UserMiddle.Init ();
- Close ();
- });
- return;
+ //2020-01-11
+ var findRoom = revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id);
+ if (findRoom != null && UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (findRoom)) {
+ //鍒锋柊浣忓畢 瑙e喅瀛愯处鍙烽棶棰�
+ UserConfig.Instance.CurrentRegion = findRoom;
+ Room.InitAllRoom ();
} else {
- UserConfig.Instance.HomeLists = revertRoomData;
- MainPage.LoginUser.SaveUserInfo ();
- UserConfig.Instance.SaveUserConfig ();
- Scene.Refresh ();
- A31MusicModel.Refresh ();
- Application.RunOnMainThread (() => {
- Close ();
- UserMiddle.Init ();
- EquipmentPublicClass.CheckLinkRemote (2);
- });
+
+ //if (findRoom == null) {
+ if (revertRoomData != null && revertRoomData.Count > 0) {
+ var bFind = false;
+ foreach (var mHome in revertRoomData) {
+ if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) {
+ bFind = true;
+ UserConfig.Instance.CurrentRegion = mHome;
+ break;
+ }
+ }
+ //if (!bFind) {
+ // UserConfig.Instance.CurrentRegion = revertRoomData [0];
+ //}
+ if (!bFind) {
+ var findRoom2 = revertRoomData.Find ((obj) => obj.IsOthreShare == false);
+ if (findRoom2 != null) {
+ UserConfig.Instance.CurrentRegion = findRoom2;
+ } else {
+ UserConfig.Instance.CurrentRegion = revertRoomData [0];
+ }
+ }
+
+ IO.FileUtils.DeleteAllFile ();
+ }
+ //}else {
+ // //鍒锋柊浣忓畢 瑙e喅瀛愯处鍙烽棶棰�
+ // UserConfig.Instance.CurrentRegion = findRoom;
+ // Room.InitAllRoom ();
+ //}
}
- } else {
- //GetAllBindGatewarysPagger 澶辫触鎻愮ず
- ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode);
- }
+
+
+ }
+ ////鍘熸柟妗�
+ //GetAllBindGatewarysPagger (revertRoomData);
+ ////鑾峰彇褰撳墠浣忓畢缃戝叧鏂规
+ //GetNowHomeGateway (revertRoomData);
+ SaveUserConfig (revertRoomData);
//}
} else {
//GetHomePager 澶辫触鎻愮ず
ShowGetHomePagerErrorInfo (revertObj2.StateCode);
}
-
- //var requestObj2 = new HomeListObj ();
- //var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
- //var revertObj2 = MainPage.RequestHttps ("HomeList", requestJson2);
- //if (revertObj2.StateCode.ToUpper() == "SUCCESS") {
- // var responseDataObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj2.ResponseData.ToString ());
- // var revertRoomData = responseDataObj2;
- // if (revertRoomData.Find ((obj) => obj.RegionID == UserConfig.Instance.CurrentRegion.RegionID) == null) {
- // UserConfig.Instance.CurrentRegion = revertRoomData [0];
- // UserConfig.Instance.GatewayMAC = revertRoomData [0].MAC;
- // IO.FileUtils.DeleteAllFile ();
- // } else {
- // Room.InitAllRoom ();
- // }
-
- // var gatewayListObj = new GatewayListObj ();
- // var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
- // var gatewayListRevertObj = MainPage.RequestHttps ("GatewayList", gatewayListJson);
- // if (gatewayListRevertObj.StateCode.ToUpper() == "SUCCESS") {
- // UserConfig.Instance.GatewayList.Clear ();
- // var responseGatewayDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GatewayRes>> (gatewayListRevertObj.ResponseData.ToString ());
- // UserConfig.Instance.GatewayList.AddRange (responseGatewayDataObj);
- // UserConfig.Instance.SaveUserConfig ();
- // MainPage.LoginUser.LastTime = DateTime.Now;
- // if (UserConfig.Instance.GatewayList.Count == 0) {
- // Application.RunOnMainThread (() => {
- // UserMiddle.Init ();
- // Close ();
- // });
- // return;
- // } else {
- // UserConfig.Instance.HomeLists = revertRoomData;
- // MainPage.LoginUser.SaveUserInfo ();
- // UserConfig.Instance.SaveUserConfig ();
- // Scene.Refresh ();
- // A31MusicModel.Refresh ();
- // Application.RunOnMainThread (() => {
- // Close ();
- // UserMiddle.Init ();
- // EquipmentPublicClass.CheckLinkRemote (2);
- // });
- // }
- // }
- //}
- //
} else {
+
string stateCodeStr = revertObj.StateCode;
string mes = "";
if (stateCodeStr == "NOTVERIFY") {
@@ -616,13 +598,145 @@
private void SetMqttHost (string URL) {
string pattern = @"(http|https)://(?<domain>[^(:|/]*)";
+
Regex reg = new Regex (pattern, RegexOptions.IgnoreCase);
Match m = reg.Match (URL);
- string mResult = m.Groups ["domain"].Value;
+ string mResult = m.Value;
if (!string.IsNullOrEmpty (mResult)) {
- MainPage.RequestHttpsHostMqtt = "https://" + mResult;
+ MainPage.RequestHttpsHostMqtt = mResult;
}
}
- //
+
+ /// <summary>
+ /// 淇濆瓨鏁版嵁 骞跺姞杞介〉闈�
+ /// </summary>
+ /// <param name="revertRoomData"></param>
+ void SaveUserConfig (List<RegionInfoRes> revertRoomData)
+ {
+ UserConfig.Instance.SaveUserConfig ();
+ MainPage.LoginUser.LastTime = DateTime.Now;
+ if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
+ //UserConfig.Instance.HomeLists = revertRoomData;
+ MainPage.LoginUser.SaveUserInfo ();
+ //UserConfig.Instance.SaveUserConfig ();
+ Scene.Refresh ();
+ A31MusicModel.Refresh ();
+ Application.RunOnMainThread (() => {
+ Close ();
+ UserMiddle.Init (false, true);
+ EquipmentPublicClass.CheckLinkRemote (UserConfig.Instance.internetStatus);
+ });
+ } else {
+
+ Application.RunOnMainThread (() => {
+ UserMiddle.Init (false, true);
+ Close ();
+ });
+ }
+
+ }
+
+ ///// <summary>
+ ///// 鏌ヨ褰撳墠浣忓畢 缃戝叧鍒楄〃
+ ///// </summary>
+ //void GetNowHomeGateway (List<RegionInfoRes> revertRoomData)
+ //{
+
+ // var requestObj3 = new GetSingleHomeGatewayPaggerObj ();
+ // requestObj3.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
+ // requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id;
+ // requestObj3.ReqDto.PageSetting.Page = 1;
+ // requestObj3.ReqDto.PageSetting.PageSize = 999;
+ // string urlHead = MainPage.RequestHttpsHost;
+ // if (requestObj3.IsOtherAccountCtrl) {
+ // urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+ // requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+ // }
+
+
+ // //var requestObj3 = new GatewayByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.Id };
+ // var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3);
+ // var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead);
+ // if (revertObj3.StateCode.ToUpper () == "SUCCESS") {
+ // var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
+ // //var responseGatewayDataObj = mGateRes.PageData;
+ // UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
+ // UserConfig.Instance.SaveUserConfig ();
+ // MainPage.LoginUser.LastTime = DateTime.Now;
+ // if (UserConfig.Instance.GatewayList.Count == 0) {
+ // Application.RunOnMainThread (() => {
+ // UserMiddle.Init ();
+ // Close ();
+ // });
+ // return;
+ // } else {
+ // UserConfig.Instance.HomeLists = revertRoomData;
+ // MainPage.LoginUser.SaveUserInfo ();
+ // UserConfig.Instance.SaveUserConfig ();
+ // Scene.Refresh ();
+ // A31MusicModel.Refresh ();
+ // Application.RunOnMainThread (() => {
+ // Close ();
+ // UserMiddle.Init ();
+ // EquipmentPublicClass.CheckLinkRemote (2);
+ // });
+ // }
+ // } else {
+ // Application.RunOnMainThread (() => {
+ // new Alert ("", ErrorCode.FailedGetGatewaysForHome, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+ // });
+
+ // }
+
+
+ //}
+
+ ///// <summary>
+ ///// GetAllBindGatewarysPagger
+ ///// </summary>
+ ///// <param name="revertRoomData"></param>
+ //void GetAllBindGatewarysPagger (List<RegionInfoRes> revertRoomData) {
+
+ // var gatewayListObj = new GetAllBindGatewarysPaggerObj ();
+ // gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
+
+ // //var gatewayListObj = new GatewayListObj ();
+ // var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
+ // var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson);
+ // if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") {
+ // UserConfig.Instance.GatewayList.Clear ();
+
+ // var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ());
+ // //var responseGatewayDataObj = mGateRes.PageData;
+ // UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
+ // UserConfig.Instance.SaveUserConfig ();
+ // MainPage.LoginUser.LastTime = DateTime.Now;
+ // if (UserConfig.Instance.GatewayList.Count == 0) {
+ // Application.RunOnMainThread (() => {
+ // UserMiddle.Init ();
+ // Close ();
+ // });
+ // return;
+ // } else {
+ // UserConfig.Instance.HomeLists = revertRoomData;
+ // MainPage.LoginUser.SaveUserInfo ();
+ // UserConfig.Instance.SaveUserConfig ();
+ // Scene.Refresh ();
+ // A31MusicModel.Refresh ();
+ // Application.RunOnMainThread (() => {
+ // Close ();
+ // UserMiddle.Init ();
+ // EquipmentPublicClass.CheckLinkRemote (2);
+ // });
+ // }
+ // } else {
+ // //GetAllBindGatewarysPagger 澶辫触鎻愮ず
+ // ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode);
+ // }
+ //}
+
+
+
+
}
}
\ No newline at end of file
--
Gitblit v1.8.0