| | |
| | | etRemark.EditorEnterAction += (obj) => { |
| | | Application.HideSoftInput (); |
| | | }; |
| | | if (MainPage.LoginUser.AccountType == 1) { |
| | | etRemark.Enable = false; |
| | | etRemark.BorderWidth = 0; |
| | | } |
| | | |
| | | //if (MainPage.LoginUser.AccountType == 1) { |
| | | // etRemark.Enable = false; |
| | | // etRemark.BorderWidth = 0; |
| | | //} |
| | | |
| | | var BottomView = new FrameLayout () { |
| | | Y = Application.GetRealHeight (400 - 88), |
| | |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> eHandler = (sender, e) => { |
| | | //跳转之前先绑定APP |
| | | |
| | | MainPage.Loading.Start ("Please wait..."); |
| | | bool needHide = true; |
| | | new System.Threading.Thread (() => { |
| | |
| | | bool goNext = false; |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | |
| | | // |
| | | goNext = CheckIfGoNext (common); |
| | | if (goNext) { |
| | | //先重置 |
| | | goNext = false; |
| | | //网关版本符合要求,继续判断是否绑定网关成功,绑定成功了才能进行下一步跳转设备搜索页面 |
| | | goNext = CheckIfBindGatewaySuccess (common); |
| | | } |
| | | |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.Message); |
| | | Utlis.WriteLine (ex.Message); |
| | | } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | |
| | | CommonPage.FindGatewayChilrenIPAddress = common.IPAddress; |
| | | inThisView = false; |
| | | if (inView != null) { |
| | | Console.WriteLine ("inView != null"); |
| | | Utlis.WriteLine ("inView != null"); |
| | | //跳转设备搜索页面 |
| | | var deviceListView = new GuideSettingGateway (common); |
| | | (inView.Parent as PageLayout).AddChidren (deviceListView); |
| | | deviceListView.ShowPage (); |
| | | (inView.Parent as PageLayout).PageIndex = (inView.Parent as PageLayout).ChildrenCount - 1; |
| | | } else { |
| | | Console.WriteLine ("inView == null"); |
| | | Utlis.WriteLine ("inView == null"); |
| | | UserHomePage.FrameLayoutMain.AddChidren (UserMiddle.guidePageView); |
| | | var guide = new GuideAddResidence (); |
| | | UserMiddle.guidePageView.AddChidren (guide); |
| | | guide.ShowHomeList (); |
| | | guide.ShowHomeView (); |
| | | UserMiddle.guidePageView.PageIndex = 0; |
| | | //重置为加密模式 |
| | | UserConfig.Instance.IsLocalEncrypt = true; |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 检测是否绑定网关成功 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | static bool CheckIfBindGatewaySuccess (GatewayBase gatewayBase) |
| | | { |
| | | try { |
| | | if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) { |
| | | //之前绑定过网关,并且和当前搜索到到网关一致,子网号设备号都要一致 |
| | | if (UserConfig.Instance.HomeGateway.mac.ToUpper () == gatewayBase.MAC.Replace (".", "").ToUpper () |
| | | && UserConfig.Instance.HomeGateway.subnetId == gatewayBase.SubnetID |
| | | && UserConfig.Instance.HomeGateway.deviceId == gatewayBase.DeviceID |
| | | ) { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | var gatewayMAC = gatewayBase.MAC.Replace (".", ""); |
| | | //重新绑定 |
| | | var bindGatewayObj = new BindGatewayObj () { |
| | | homeId = UserConfig.Instance.CurrentRegion.Id, |
| | | subnetId = gatewayBase.SubnetID, |
| | | deviceId = gatewayBase.DeviceID, |
| | | gatewayType = GatewayType.BUSUDPGATEWAY.ToString (), |
| | | mac = gatewayMAC |
| | | }; |
| | | var revertObj = HttpServerRequest.Current.BindGateway (bindGatewayObj); |
| | | if (revertObj.Code == StateCode.SUCCESS) { |
| | | var homeGatewayInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<HomeGatewayInfo> (revertObj.Data.ToString ()); |
| | | if (homeGatewayInfo != null && !string.IsNullOrEmpty (homeGatewayInfo.gatewayId)) { |
| | | //绑定网关成功,并且成功获取到新绑定的gatewayId |
| | | UserConfig.Instance.HomeGateway = homeGatewayInfo; |
| | | UserConfig.Instance.SaveUserConfig (); |
| | | return true; |
| | | } |
| | | } else { |
| | | IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code); |
| | | } |
| | | } catch { |
| | | Utlis.WriteLine ("绑定网关失败"); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | |
| | | static bool inThisView = false; |
| | | Alert checkInternetAlert = new Alert ("", "Your phone in not connected to WIFI network, please connet", "Close", "Search again"); |
| | | Alert confirmAlert = new Alert ("", "Please make sure gateway is powered up and comect to WiFi router.", "Close", "Search again"); |
| | | Alert confirmAlert1 = new Alert ("", "If not all the gateways are in the list,you can search again.", "Close", "Search again"); |
| | | Alert wrongPasswordAlert = new Alert ("", ErrorCode.GatewayPasswordError, "Close", "Search again"); |
| | | //Alert checkInternetAlert = new Alert ("", "Your phone in not connected to WIFI network, please connet", "Close", "Search again"); |
| | | //Alert confirmAlert = new Alert ("", "Please make sure gateway is powered up and comect to WiFi router.", "Close", "Search again"); |
| | | //Alert confirmAlert1 = new Alert ("", "If not all the gateways are in the list,you can search again.", "Close", "Search again"); |
| | | //Alert wrongPasswordAlert = new Alert ("", ErrorCode.GatewayPasswordError, "Close", "Search again"); |
| | | |
| | | void SearchGatewayList () |
| | | { |
| | | if (UserConfig.Instance.internetStatus == 0 || UserConfig.Instance.internetStatus == 1) { |
| | | Alert checkInternetAlert = new Alert ("", ErrorCode.NotConnectedToWIFI, "Close", "Search again"); |
| | | |
| | | checkInternetAlert.Show (); |
| | | |
| | | checkInternetAlert.ResultEventHandler += (dsss, eee) => { |
| | |
| | | } |
| | | Control control = new Control (); |
| | | |
| | | Console.WriteLine ("组播搜索网关,搜索地址是:" + CommonPage.EndPoint.ToString () + " " + CommonPage.GateWayList.Count); |
| | | Utlis.WriteLine ("组播搜索网关,搜索地址是:" + CommonPage.EndPoint.ToString () + " " + CommonPage.GateWayList.Count); |
| | | control.Send (new Target () { |
| | | IPEndPoint = CommonPage.EndPoint, |
| | | Command = Command.ReadGateway, |
| | |
| | | AddData = ms.ToArray () |
| | | }, SendCount.Zero, false); |
| | | |
| | | Console.WriteLine ("广播搜索网关,搜索地址是:" + new Net.NetWiFi ().BroadcastIpAddress.ToString () + " " + CommonPage.GateWayList.Count); |
| | | Utlis.WriteLine ("广播搜索网关,搜索地址是:" + new Net.NetWiFi ().BroadcastIpAddress.ToString () + " " + CommonPage.GateWayList.Count); |
| | | control.Send (new Target () { |
| | | IPEndPoint = new System.Net.IPEndPoint (new Net.NetWiFi ().BroadcastIpAddress, 6000), |
| | | Command = Command.ReadGateway, |
| | |
| | | CommonPage.LocalPhoneFindDevice = false; |
| | | #endregion |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.ToString ()); |
| | | Utlis.WriteLine (ex.ToString ()); |
| | | } finally { |
| | | Application.RunOnMainThread (() => { |
| | | if (CommonPage.GateWayList.Count == 0) { |
| | |
| | | } else { |
| | | if (this != null && this.Parent != null) { |
| | | if (inThisView) {// this.Parent.GetChildren (this.Parent.ChildrenCount - 1) == this) { |
| | | Alert confirmAlert1 = new Alert ("", ErrorCode.IfAllTheGatewaysAreNotInTheList, "Close", "Search again"); |
| | | |
| | | confirmAlert1.Show (); |
| | | confirmAlert1.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | |
| | | if (UserConfig.Instance.IsLocalEncrypt) { |
| | | //密码检验正确 |
| | | if (UserConfig.Instance.EncryptedPasswordCorrect) { |
| | | |
| | | inView.confirmAlert.Show (); |
| | | inView.confirmAlert.ResultEventHandler += (ddf, ddd) => { |
| | | Alert confirmAlert = new Alert ("", ErrorCode.MakeSureGatewayIsPoweredUp, "Close", "Search again"); |
| | | confirmAlert.Show (); |
| | | confirmAlert.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | | if (ddd) { |
| | | inView.SearchGatewayList (); |
| | | } |
| | | }; |
| | | } else { |
| | | |
| | | |
| | | inView.wrongPasswordAlert.Show (); |
| | | inView.wrongPasswordAlert.ResultEventHandler += (ddf, ddd) => { |
| | | Alert wrongPasswordAlert = new Alert ("", ErrorCode.GatewayPasswordError, "Close", "Search again"); |
| | | wrongPasswordAlert.Show (); |
| | | wrongPasswordAlert.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | | if (ddd) { |
| | | inView.SearchGatewayList (); |
| | |
| | | |
| | | } |
| | | } else { |
| | | inView.confirmAlert.Show (); |
| | | inView.confirmAlert.ResultEventHandler += (ddf, ddd) => { |
| | | Alert confirmAlert = new Alert ("", ErrorCode.MakeSureGatewayIsPoweredUp, "Close", "Search again"); |
| | | confirmAlert.Show (); |
| | | confirmAlert.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | | if (ddd) { |
| | | inView.SearchGatewayList (); |
| | |
| | | /// </summary> |
| | | /// <param name="backBytes"></param> |
| | | /// <returns></returns> |
| | | static bool CheckIsSuccessfulWithBytes (byte [] backBytes) |
| | | static bool CheckIsSuccessfulWithBytes (byte [] backBytes, string errorStr = "Modify gateway configuration failed,please try again!") |
| | | { |
| | | if (backBytes == null) { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), |
| | | new Alert ("", ErrorCode.GatewayNoResponse, |
| | | Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | return false; |
| | |
| | | return true; |
| | | } else { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.OperationFailed), |
| | | new Alert ("", errorStr, |
| | | Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | return false; |
| | |
| | | // UserConfig.Instance.IsLocalEncrypt = true; |
| | | // //string aseKeyStr = CommonPage.MyEncodingUTF8.GetString (AseKeyBytes); |
| | | // //UserConfig.Instance.LocalEncryptKey = aseKeyStr; |
| | | // System.Console.WriteLine ($"============>LocalEncryptKey 加密成功Key为:{UserConfig.Instance.LocalEncryptKey}"); |
| | | // Utlis.WriteLine ($"============>LocalEncryptKey 加密成功Key为:{UserConfig.Instance.LocalEncryptKey}"); |
| | | //} |
| | | |
| | | var backBytes = Control.ControlBytesSendHasReturn (Command.Read_APP_Data_STORE_1D5C_CMD, common.SubnetID, common.DeviceID, new byte [] { }); |
| | |
| | | //如果没加密,走修改加密方法 |
| | | var result = SetGateWayLocalEncryption (common); |
| | | if (!result) { |
| | | MainPage.LoadingHide (); |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | new Alert ("", "Encryption gateway failed, please try again.", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | |
| | | }); |
| | | |
| | | return result;//修改失败 返回goNext false |
| | | } |
| | | //修改成功,设置本地为加密方式 |
| | | UserConfig.Instance.IsLocalEncrypt = true; |
| | | System.Console.WriteLine ($"============>LocalEncryptKey 加密成功Key为:{UserConfig.Instance.LocalEncryptKey}"); |
| | | //Utlis.WriteLine ($"============>LocalEncryptKey 加密成功Key为:{UserConfig.Instance.LocalEncryptKey}"); |
| | | } |
| | | goNext = true; |
| | | |