From 5a5a2b696866f947b6025d26c3302e8ffef46435 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 11 一月 2021 16:11:20 +0800
Subject: [PATCH] 2021-01-11 1.更新MQTT连接和本地搜索网关方法。2.子账号相关接口完善
---
Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs | 114 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 85 insertions(+), 29 deletions(-)
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs
index c8b8b9c..49afd5a 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs
@@ -83,10 +83,11 @@
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),
@@ -283,6 +284,8 @@
};
EventHandler<MouseEventArgs> eHandler = (sender, e) => {
+ //璺宠浆涔嬪墠鍏堢粦瀹欰PP
+
MainPage.Loading.Start ("Please wait...");
bool needHide = true;
new System.Threading.Thread (() => {
@@ -299,11 +302,17 @@
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 ();
@@ -312,13 +321,14 @@
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);
@@ -341,18 +351,62 @@
}
}
+ /// <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) => {
@@ -401,7 +455,7 @@
}
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,
@@ -410,7 +464,7 @@
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,
@@ -430,7 +484,7 @@
CommonPage.LocalPhoneFindDevice = false;
#endregion
} catch (Exception ex) {
- Console.WriteLine (ex.ToString ());
+ Utlis.WriteLine (ex.ToString ());
} finally {
Application.RunOnMainThread (() => {
if (CommonPage.GateWayList.Count == 0) {
@@ -443,6 +497,8 @@
} 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 ();
@@ -468,19 +524,18 @@
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 ();
@@ -489,8 +544,9 @@
}
} 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 ();
@@ -527,11 +583,11 @@
/// </summary>
/// <param name="backBytes"></param>
/// <returns></returns>
- static bool CheckIsSuccessfulWithBytes (byte [] backBytes, string errorStr = "Modify gateway configuration failed!")
+ 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;
@@ -584,7 +640,7 @@
// 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 [] { });
@@ -613,7 +669,7 @@
if (!result) {
Application.RunOnMainThread (() => {
MainPage.Loading.Hide ();
- new Alert ("", ErrorCode.OperationFailed, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+ new Alert ("", "Encryption gateway failed, please try again.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
});
@@ -621,7 +677,7 @@
}
//淇敼鎴愬姛,璁剧疆鏈湴涓哄姞瀵嗘柟寮�
UserConfig.Instance.IsLocalEncrypt = true;
- //System.Console.WriteLine ($"============>LocalEncryptKey 鍔犲瘑鎴愬姛Key涓猴細{UserConfig.Instance.LocalEncryptKey}");
+ //Utlis.WriteLine ($"============>LocalEncryptKey 鍔犲瘑鎴愬姛Key涓猴細{UserConfig.Instance.LocalEncryptKey}");
}
goNext = true;
--
Gitblit v1.8.0