| | |
| | | account = etAccount.Text.Trim (); |
| | | password = etPasswrod.Text.Trim (); |
| | | if (string.IsNullOrEmpty (account) && string.IsNullOrEmpty (password)) { |
| | | Application.RunOnMainThread (() => { |
| | | new Tip () { Text = "Please enter your login details.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo); |
| | | }); |
| | | Utlis.ShowTip ("Please enter your login details."); |
| | | //Application.RunOnMainThread (() => { |
| | | // new Tip () { Text = "Please enter your login details.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo); |
| | | //}); |
| | | return; |
| | | } |
| | | if (string.IsNullOrEmpty (account)) { |
| | | Application.RunOnMainThread (() => { |
| | | new Tip () { Text = "Please enter your user id.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo); |
| | | }); |
| | | Utlis.ShowTip ("Please enter your user id."); |
| | | //Application.RunOnMainThread (() => { |
| | | // new Tip () { Text = "Please enter your user id.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo); |
| | | //}); |
| | | return; |
| | | } |
| | | |
| | | //邮箱格式不对 |
| | | if (!CommonUtlis.Current.CheckEmail(account)) { |
| | | Application.RunOnMainThread (() => { |
| | | new Tip () { Text = Language.StringByID (R.MyInternationalizationString.PleaseCheckEmailAddressCorrectly), Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo); |
| | | }); |
| | | Utlis.ShowTip (Language.StringByID (R.MyInternationalizationString.PleaseCheckEmailAddressCorrectly)); |
| | | //Application.RunOnMainThread (() => { |
| | | // new Tip () { Text = Language.StringByID (R.MyInternationalizationString.PleaseCheckEmailAddressCorrectly), Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo); |
| | | //}); |
| | | return; |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty (password)) { |
| | | Application.RunOnMainThread (() => { |
| | | new Tip () { Text = "Please enter your password.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo); |
| | | }); |
| | | Utlis.ShowTip ("Please enter your password."); |
| | | //Application.RunOnMainThread (() => { |
| | | // new Tip () { Text = "Please enter your password.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo); |
| | | //}); |
| | | return; |
| | | } |
| | | |
| | |
| | | }); |
| | | 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); |
| | | Utlis.ShowTip ("Network abnormal, unable to connect to the Internet"); |
| | | |
| | | //new Tip () { Text = "Network abnormal, unable to connect to the Internet", Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (btnLogo); |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | var revertConnectionObj = MainPage.RequestHttps (API.Connection, ""); |
| | | if (revertConnectionObj.StateCode.ToUpper() == "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | if (Language.CurrentLanguage == "Chinese") { |
| | | MainPage.Loading.Start ("链接服务器成功..."); |
| | | } else { |
| | | MainPage.Loading.Start ("Link server successful..."); |
| | | } |
| | | }); |
| | | |
| | | Login (account, password, accountListDB); |
| | | } else { |
| | | MainPage.FailureToServer (); |
| | | } |
| | | |
| | | //var revertConnectionObj = MainPage.RequestHttps (API.Connection, ""); |
| | | //if (revertConnectionObj.StateCode.ToUpper() == StateCode.SUCCESS) { |
| | | // Application.RunOnMainThread (() => { |
| | | // if (Language.CurrentLanguage == "Chinese") { |
| | | // MainPage.Loading.Start ("链接服务器成功..."); |
| | | // } else { |
| | | // MainPage.Loading.Start ("Link server successful..."); |
| | | // } |
| | | // }); |
| | | |
| | | // Login (account, password, accountListDB); |
| | | //} else { |
| | | // MainPage.FailureToServer (); |
| | | //} |
| | | |
| | | } catch (Exception ex) { |
| | | MainPage.FailureToServer (); |
| | |
| | | /// <param name="password">Password.</param> |
| | | private void Login (string account, string password, AccountListDB accountListDB) |
| | | { |
| | | 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); |
| | | if (revertObj.StateCode.ToUpper() == "SUCCESS") { |
| | | |
| | | //if (!accountListDB.account.Contains (account)) { |
| | | // accountListDB.account.Add (account); |
| | | // accountListDB.SaveAccountListDB (); |
| | | //} |
| | | //登录 |
| | | var revertObj = HttpServerRequest.Current.LoginByPassword (account, password); |
| | | if (revertObj.Code == StateCode.SUCCESS) { |
| | | |
| | | 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 responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.Data.ToString ()); |
| | | var revertData = responseDataObj; |
| | | MainPage.LoginUser = new UserInfo { |
| | | LoginToken = revertData.Token, |
| | | ID = revertData.UserId, |
| | | MainUserId = revertData.MainUserId, |
| | | AccountType = revertData.UserType, |
| | | UserType = revertData.userType, |
| | | AccountString = account, |
| | | Password = password, |
| | | LastTime = DateTime.Now, |
| | | AllVisionRegisterDevUserNameGuid = revertData.AllVisionRegisterDevUserNameGuid, |
| | | Name = revertData.Contact, |
| | | Guid = revertData.Guid, |
| | | MD5PWD = revertData.MD5PWD, |
| | | |
| | | |
| | | ID = revertData.userId, |
| | | LoginTokenString = revertData.headerPrefix + revertData.accessToken, |
| | | RefreshToken = revertData.refreshToken, |
| | | }; |
| | | //var se = new service.hdlcontrol.com_push.WebServicePush (); |
| | | //se.VerifySoapHeaderValue = new service.hdlcontrol.com_push.VerifySoapHeader () { Email = MainPage.LoginUser.AccountString, UserMode = 0 }; |
| | | //se.AddRegId (UserConfig.Instance.tokenID, UserConfig.Instance.phoneName); |
| | | var requestObj2 = new GetHomePagerObj (); |
| | | requestObj2.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; |
| | | |
| | | var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); |
| | | var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2); |
| | | |
| | | if (revertObj2.StateCode.ToUpper () == "SUCCESS") { |
| | | var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ()); |
| | | //if (mResidenceRes.TotalCount != 0) { |
| | | // //当住宅为空时先提示用户新建住宅 |
| | | //} else { |
| | | var revertRoomData = mResidenceRes.PageData; |
| | | UserConfig.Instance.HomeLists = revertRoomData; |
| | | |
| | | //获取住宅列表 |
| | | var revertObjCode = HttpServerRequest.Current.GetHomePager (); |
| | | if (revertObjCode == StateCode.SUCCESS) { |
| | | var mHomeLists = UserConfig.Instance.HomeLists; |
| | | if (UserConfig.Instance.CurrentRegion == null) { |
| | | if (revertRoomData != null && revertRoomData.Count > 0) { |
| | | if (mHomeLists != null && mHomeLists.Count > 0) { |
| | | var bFind = false; |
| | | foreach (var mHome in revertRoomData) { |
| | | if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) { |
| | | foreach (var mHome in mHomeLists) { |
| | | if (mHome.isBindGateway) { |
| | | bFind = true; |
| | | UserConfig.Instance.CurrentRegion = mHome; |
| | | break; |
| | | } |
| | | } |
| | | if (!bFind) { |
| | | UserConfig.Instance.CurrentRegion = revertRoomData [0]; |
| | | UserConfig.Instance.CurrentRegion = mHomeLists [0]; |
| | | } |
| | | |
| | | IO.FileUtils.DeleteAllFile (); |
| | |
| | | |
| | | } else { |
| | | //2020-01-11 |
| | | var findRoom = revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id); |
| | | if (findRoom != null && UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (findRoom)) { |
| | | var findRoom = mHomeLists.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id); |
| | | if (findRoom != null && findRoom.isBindGateway) { |
| | | //刷新住宅 解决子账号问题 |
| | | UserConfig.Instance.CurrentRegion = findRoom; |
| | | Room.InitAllRoom (); |
| | | } else { |
| | | |
| | | //if (findRoom == null) { |
| | | if (revertRoomData != null && revertRoomData.Count > 0) { |
| | | if (mHomeLists != null && mHomeLists.Count > 0) { |
| | | var bFind = false; |
| | | foreach (var mHome in revertRoomData) { |
| | | if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) { |
| | | foreach (var mHome in mHomeLists) { |
| | | if (mHome.isBindGateway) { |
| | | bFind = true; |
| | | UserConfig.Instance.CurrentRegion = mHome; |
| | | break; |
| | |
| | | // UserConfig.Instance.CurrentRegion = revertRoomData [0]; |
| | | //} |
| | | if (!bFind) { |
| | | var findRoom2 = revertRoomData.Find ((obj) => obj.IsOthreShare == false); |
| | | var findRoom2 = mHomeLists.Find ((obj) => obj.IsOthreShare == false); |
| | | if (findRoom2 != null) { |
| | | UserConfig.Instance.CurrentRegion = findRoom2; |
| | | } else { |
| | | UserConfig.Instance.CurrentRegion = revertRoomData [0]; |
| | | UserConfig.Instance.CurrentRegion = mHomeLists [0]; |
| | | } |
| | | } |
| | | |
| | |
| | | //GetAllBindGatewarysPagger (revertRoomData); |
| | | ////获取当前住宅网关方案 |
| | | //GetNowHomeGateway (revertRoomData); |
| | | SaveUserConfig (revertRoomData); |
| | | SaveUserConfig (mHomeLists); |
| | | //} |
| | | } else { |
| | | //GetHomePager 失败提示 |
| | | ShowGetHomePagerErrorInfo (revertObj2.StateCode); |
| | | IMessageCommon.Current.ShowErrorInfoAlter (revertObjCode); |
| | | } |
| | | } else { |
| | | |
| | | string stateCodeStr = revertObj.StateCode; |
| | | string mes = ""; |
| | | if (stateCodeStr == "NOTVERIFY") { |
| | | //未激活 |
| | | mes = ErrorCode.NOTVERIFY; |
| | | } |
| | | //else if (stateCodeStr == "NOTENABLE") { |
| | | |
| | | // //该用户属于调试账号,并未启用 |
| | | // mes = "用户属于调试账号,并未启用"; |
| | | //} |
| | | else if (stateCodeStr == "USERNAMEORPWDERROR") { |
| | | //账号或密码错误 |
| | | mes = ErrorCode.USERNAMEORPWDERROR; |
| | | if (CommonConfig.Current.ErrorLockListUpdate (account)) { |
| | | return; |
| | | } |
| | | |
| | | } else if (stateCodeStr == "ACCOUNTNOEXISTS") { |
| | | //账号不存在 |
| | | mes = ErrorCode.ACCOUNTNOEXISTS; |
| | | } else if (stateCodeStr == "YOUDATANOISLOCALREGION") { |
| | | //不在本区域,需要重定向区域后再次请求登录 |
| | | if (revertObj.ResponseData == null) { |
| | | return; |
| | | } |
| | | var responseDataObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginLocalRegionRes> (revertObj.ResponseData.ToString ()); |
| | | MainPage.RequestHttpsHost = responseDataObj2.RegionServer; |
| | | //正则处理 |
| | | //MainPage.RequestHttpsHostMqtt = |
| | | SetMqttHost (responseDataObj2.RegionServer); |
| | | |
| | | ////再次登录 |
| | | Login (account, password, accountListDB); |
| | | } else { |
| | | //RequestServerFailed |
| | | mes = ErrorCode.LoginFailed + ErrorCode.Reason + stateCodeStr; |
| | | } |
| | | |
| | | |
| | | if (!string.IsNullOrEmpty (mes)) { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | } |
| | | |
| | | IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code); |
| | | } |
| | | } |
| | | |
| | |
| | | // //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") { |
| | | // if (revertObj3.StateCode.ToUpper () == StateCode.SUCCESS) { |
| | | // var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ()); |
| | | // //var responseGatewayDataObj = mGateRes.PageData; |
| | | // UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData); |
| | |
| | | // //var gatewayListObj = new GatewayListObj (); |
| | | // var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj); |
| | | // var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson); |
| | | // if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") { |
| | | // if (gatewayListRevertObj.StateCode.ToUpper () == StateCode.SUCCESS) { |
| | | // UserConfig.Instance.GatewayList.Clear (); |
| | | |
| | | // var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ()); |