From c0ce2f57a4f836ebeb9e7b8b4b5a4407fd78dc86 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 23 九月 2020 10:06:05 +0800
Subject: [PATCH] 上传
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 195 ++++++++++++++++++++++++++++--------------------
1 files changed, 112 insertions(+), 83 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
index fb1ca0a..d8943b3 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
@@ -22,24 +22,19 @@
/// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param>
/// <param name="obj">涓�涓被</param>
/// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</param>
- /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿涓嶉噸鍙�</param>
- public static bool GetResultStatuByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = false)
+ /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿閲嶅彂</param>
+ public static bool GetResultStatuByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = true)
{
- if (HdlWifiLogic.Current.CanAccessHttp == false && setAgain == false)
- {
- //褰撳墠鏃犳硶璁块棶缃戠粶(褰撻渶瑕侀噸鏂板彂閫佹椂,璺宠繃杩欎釜鍒ゆ柇)
- ShowNotNetMsg(listNotShowError);
- return false;
- }
//鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮�
var connectMode = GetHttpConnectMode(checkAuthority);
//鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁
var byteData = GettByteResponsePack(RequestName, connectMode, obj);
- if (byteData == null && setAgain == true)
+ if (byteData == null)
{
if (setAgain == false)
{
- //涓嶆寚瀹氶噸鍙�
+ //褰撳墠鏃犳硶璁块棶缃戠粶
+ ShowNotNetMsg(RequestName, listNotShowError);
return false;
}
byteData = ResetByteRequestHttps(RequestName, checkAuthority, obj);
@@ -61,17 +56,10 @@
/// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param>
/// <param name="obj">涓�涓被</param>
/// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</param>
- /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿涓嶉噸鍙�</param>
+ /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿閲嶅彂</param>
/// </param>
- public static string GetResultCodeByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = false)
+ public static string GetResultCodeByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = true)
{
- if (HdlWifiLogic.Current.CanAccessHttp == false && setAgain == false)
- {
- //褰撳墠鏃犳硶璁块棶缃戠粶(褰撻渶瑕侀噸鏂板彂閫佹椂,璺宠繃杩欎釜鍒ゆ柇)
- ShowNotNetMsg(listNotShowError);
- return "Error";
- }
-
//鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮�
var connectMode = GetHttpConnectMode(checkAuthority);
//鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁
@@ -80,7 +68,8 @@
{
if (setAgain == false)
{
- //涓嶆寚瀹氶噸鍙�
+ //褰撳墠鏃犳硶璁块棶缃戠粶
+ ShowNotNetMsg(RequestName, listNotShowError);
return "Error";
}
byteData = ResetByteRequestHttps(RequestName, checkAuthority, obj);
@@ -105,16 +94,10 @@
/// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param>
/// <param name="obj">涓�涓被</param>
/// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</param>
- /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿涓嶉噸鍙�</param>
+ /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿閲嶅彂</param>
/// </param>
- public static string GetResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = false)
+ public static string GetResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = true)
{
- if (HdlWifiLogic.Current.CanAccessHttp == false && setAgain == false)
- {
- //褰撳墠鏃犳硶璁块棶缃戠粶(褰撻渶瑕侀噸鏂板彂閫佹椂,璺宠繃杩欎釜鍒ゆ柇)
- ShowNotNetMsg(listNotShowError);
- return null;
- }
//鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮�
var connectMode = GetHttpConnectMode(checkAuthority);
//鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁
@@ -123,7 +106,8 @@
{
if (setAgain == false)
{
- //涓嶆寚瀹氶噸鍙�
+ //褰撳墠鏃犳硶璁块棶缃戠粶
+ ShowNotNetMsg(RequestName, listNotShowError);
return null;
}
byteData = ResetByteRequestHttps(RequestName, checkAuthority, obj);
@@ -154,15 +138,9 @@
/// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param>
/// <param name="obj">涓�涓被</param>
/// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</param>
- /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿涓嶉噸鍙�</param>
- public static byte[] GetByteResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = false)
+ /// <param name="setAgain">褰撳彂閫佸け璐ユ椂,鏄惁閲嶅彂,榛樿閲嶅彂</param>
+ public static byte[] GetByteResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null, bool setAgain = true)
{
- if (HdlWifiLogic.Current.CanAccessHttp == false && setAgain == false)
- {
- //褰撳墠鏃犳硶璁块棶缃戠粶(褰撻渶瑕侀噸鏂板彂閫佹椂,璺宠繃杩欎釜鍒ゆ柇)
- ShowNotNetMsg(listNotShowError);
- return null;
- }
//鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮�
var connectMode = GetHttpConnectMode(checkAuthority);
//鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁
@@ -172,7 +150,8 @@
{
if (setAgain == false)
{
- //涓嶆寚瀹氶噸鍙�
+ //褰撳墠鏃犳硶璁块棶缃戠粶
+ ShowNotNetMsg(RequestName, listNotShowError);
return null;
}
revertObj = ResetByteRequestHttps(RequestName, checkAuthority, obj);
@@ -227,7 +206,7 @@
if (count == 3)
{
//鏄剧ず娌℃湁缃戠粶鐨凪sg
- ShowNotNetMsg(null);
+ ShowNotNetMsg(RequestName, null);
break;
}
}
@@ -349,13 +328,15 @@
/// <summary>
/// 鏄剧ず娌℃湁缃戠粶鐨凪sg
/// </summary>
- private static void ShowNotNetMsg(List<string> listNotShowError)
+ private static void ShowNotNetMsg(string RequestName, List<string> listNotShowError)
{
if (listNotShowError != null && listNotShowError.Contains("NotCheck") == true)
{
//涓嶆娴�
return;
}
+ //HdlLogLogic.Current.WriteLog(-1, "褰撳墠鏃犵綉缁滆繛鎺�:" + RequestName);
+
HdlThreadLogic.Current.RunMain(() =>
{
// 褰撳墠鏃犵綉缁滆繛鎺�,璇风‘璁ょ綉缁�
@@ -519,13 +500,18 @@
#endregion
#region 鈻� 鍒锋柊鏈湴缂撳瓨_______________________
+
/// <summary>
- /// 鍒锋柊鏈湴鎵�鏈夌紦瀛�
+ /// 鍒锋柊鏈湴鎵�鏈夌紦瀛�(鐩墠姝ゆ柟娉曞彧鎻愪緵缁欐仮澶嶅浠芥暟鎹娇鐢�)
/// </summary>
public static void RefreshAllMemory()
{
//鍒锋柊浣忓畢瀵硅薄
RefreshHomeObject();
+ //鏍规嵁妯℃澘鏂囦欢,鎭㈠鏁版嵁
+ TemplateData.TemplateCommonLogic.Current.RecoverDataByTemplateBinFile();
+ //寮哄埗鐢熸垚璁惧鍜岀綉鍏虫枃浠�
+ TemplateData.TemplateCommonLogic.Current.CreatDeviceAndGatewayFileFromMemoryByForce();
//鍒锋柊鏈湴缃戝叧鏂囦欢
HdlGatewayLogic.Current.ReFreshByLocal();
//鍒锋柊鏈湴璁惧
@@ -537,7 +523,7 @@
//鏂紑杩滅▼Mqtt杩炴帴,閲嶆柊杩炴帴
HdlThreadLogic.Current.RunThread(async () =>
{
- HdlGatewayLogic.Current.ClearAllRealGateway();
+ HdlGatewayLogic.Current.ClearAllRealGatewayConection(true);
await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient();
}, ShowErrorMode.NO);
}
@@ -547,21 +533,25 @@
/// </summary>
public static void RefreshHomeObject()
{
- //澶囦唤鐨勬暟鎹紝鏈夊彲鑳芥槸涓讳汉鑷繁涓婁紶鐨勶紝濡傛灉绠$悊鍛樼櫥闄嗘椂锛屼粬鑾峰彇鐨勫浠芥暟鎹湁鐐圭壒娈�
- //姣斿涓嬮潰杩欎笁涓笢瑗垮湪涓昏处鍙烽偅閲屾槸涓嶉渶瑕佺殑
- bool isOthreShare = Config.Instance.Home.IsOthreShare;
- int accountType = Config.Instance.Home.AccountType;
- string mainMark = Config.Instance.Home.MainUserDistributedMark;
- double Longitude = Config.Instance.Home.Longitude;
- double Latitude = Config.Instance.Home.Latitude;
- //杩樺師浣忓畢瀵硅薄
- Config.Instance.Home = HdlResidenceLogic.Current.GetHouseByHouseId(Config.Instance.Home.Id);
- Config.Instance.Home.IsOthreShare = isOthreShare;
- Config.Instance.Home.AccountType = accountType;
- Config.Instance.Home.MainUserDistributedMark = mainMark;
- Config.Instance.Home.Longitude = Longitude;
- Config.Instance.Home.Latitude = Latitude;
+ var home = HdlResidenceLogic.Current.GetHouseByHouseId(Config.Instance.Home.Id);
+
+ //鍒锋柊妤煎眰
+ Config.Instance.Home.FloorDics = home.FloorDics;
+ Config.Instance.Home.CurrentFloorId = string.Empty;
+ if (Config.Instance.Home.TemplateMode == -1)
+ {
+ Config.Instance.Home.TemplateMode = home.TemplateMode;
+ if (Config.Instance.Home.TemplateMode == -1)
+ {
+ //榛樿鍒濆鍊�
+ Config.Instance.Home.TemplateMode = 1;
+ }
+ }
+
Config.Instance.Home.Save(false);
+
+ //涓婚〉闇�瑕侀噸鏂板埛鏂�
+ UserView.UserPage.Instance.RefreshAllForm = true;
}
#endregion
@@ -583,12 +573,14 @@
//璁惧畾涓�涓椂闂�
Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
Config.Instance.Save();
+ //娓呯┖褰撳墠浣忓畢id
+ Config.Instance.HomeId = string.Empty;
//鏀惰捣宸﹁彍鍗�
CommonPage.Instance.CloseLeftMenu();
//鍏抽棴鍏ㄩ儴寮圭獥
ShowMsgControl.CloseAllMsgDialog();
//鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰
- CloseAllOpenForm();
+ CloseAllOpenForm(null, false);
//鏄剧ず鐧婚檰鐢婚潰
var formLogin = new Login.AccountLoginForm();
@@ -616,7 +608,7 @@
//娓呯┖褰撳墠浣忓畢id
Config.Instance.HomeId = string.Empty;
- HdlGatewayLogic.Current.ClearAllRealGateway();
+ HdlGatewayLogic.Current.ClearAllRealGatewayConection(false);
//鏂紑杩滅▼Mqtt杩炴帴
HdlThreadLogic.Current.RunThread(async () =>
@@ -629,7 +621,7 @@
//鏀惰捣宸﹁彍鍗�
CommonPage.Instance.CloseLeftMenu();
//鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰
- CloseAllOpenForm();
+ CloseAllOpenForm(null, false);
//鏄剧ず鐧婚檰鐢婚潰
var formLogin = new Login.AccountLoginForm();
@@ -649,7 +641,8 @@
/// 鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰
/// </summary>
/// <param name="tagetFrom">鐩爣鐣岄潰,濡傛灉鎸囧畾浜嗙殑璇�,鍒欏叧闂洰鏍囩晫闈笂灞傜殑鍏ㄩ儴鐣岄潰(瀹冭嚜韬笉鍏抽棴)</param>
- public static void CloseAllOpenForm(string tagetFrom = null)
+ /// <param name="refreshMainPage">褰撳叧闂殑鐣岄潰杈惧埌涓婚〉鏃�,鏄惁鍒锋柊涓婚〉</param>
+ public static void CloseAllOpenForm(string tagetFrom = null, bool refreshMainPage = true)
{
while (UserView.HomePage.Instance.ChildrenCount > 0)
{
@@ -672,6 +665,11 @@
}
else if (view is UserView.UserPage)
{
+ //鍒锋柊涓婚〉
+ if (refreshMainPage == true)
+ {
+ UserView.UserPage.Instance.ReFreshControl();
+ }
return;
}
else
@@ -820,6 +818,17 @@
HdlGatewayLogic.Current.ResetComandToBindBackupGateway();
//璇诲彇闅愬尶閰嶇疆
HdlBackupLogic.Current.LoadHideOption();
+ //璋冭瘯锛氬己鍒跺紑鍚悗鍙拌皟璇旳pp鍔熻兘
+ if (UserCenterResourse.HideOption.StartDebugApp == 1)
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ var form = new HideOption.HideOptionMainForm();
+ form.AddForm();
+ });
+ ProgressBar.Close(true);
+ return false;
+ }
}
//鍏抽棴鎵�鏈夋帴鏀�
@@ -857,12 +866,15 @@
//鏂紑杩滅▼Mqtt杩炴帴,閲嶆柊杩炴帴
HdlThreadLogic.Current.RunThread(async () =>
{
- HdlGatewayLogic.Current.ClearAllRealGateway();
+ HdlGatewayLogic.Current.ClearAllRealGatewayConection(true);
await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient();
}, ShowErrorMode.NO);
//鍒锋柊APP鍓嶄竴娆¢�夋嫨鐨勭綉鍏矷D(鍙互鍙嶅璋冪敤,闇�瑕佸湪缃戝叧鍒濆鍖栧畬浜嗕箣鍚庢墠鑳借皟鐢�)
HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId();
+
+ //鍔犺浇妯℃澘缂撳瓨
+ //TemplateData.TemplateCommonLogic.Current.LoadLocalTemplateMemoryData();
//0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝�,杩欎釜鏃跺�欓渶瑕佹彁绀哄浠�
if (result == 0 && ShowPrompted == true)
@@ -878,33 +890,19 @@
System.Threading.Thread.Sleep(30);
if (hadNet == 1)
{
- try
- {
- bool canReceiveGw = false;
- foreach (var gateway in UserCenterResourse.DicReceiveGatewayTest.Values)
- {
- if (gateway.HomeId == Config.Instance.Home.Id)
- {
- //鑳藉鎼滅储寰楀埌缃戝叧
- canReceiveGw = true;
- break;
- }
- }
- UserCenterResourse.DicReceiveGatewayTest = null;
- //璁剧疆杩滅▼杩炴帴鐨勫垵濮嬪��
- ZigBee.Device.ZbGateway.IsRemote = canReceiveGw == false;
- if (canReceiveGw == false)
- {
- //濡傛灉鏄繙绋嬬殑璇�,杩藉姞绛夊緟鏃堕棿
- System.Threading.Thread.Sleep(1500);
- }
- }
- catch { }
+ //浣忓畢鍒囨崲鏃�,妫�娴嬬綉鍏宠繛鎺ユ儏鍐�
+ CheckGatewayConnection();
+
}
UserCenterResourse.DicReceiveGatewayTest = null;
}
//APP缂撳瓨鍔犺浇瀹屾垚
UserCenterResourse.AccountOption.AppCanSignout = true;
+ if (Shared.Phone.Device.Logic.Send.If_Exist == "1")
+ {
+ //浠ユ湰鍦扮姸鎬佷负涓绘墦寮�GPS鏈嶅姟
+ Application.StartGPSLocationService();
+ }
return true;
}
@@ -929,6 +927,8 @@
HdlRoomLogic.Current.RefreshAllRoomByLocation();
//鍒锋柊宸﹁竟鍒锋柊鎴块棿瑙嗗浘鍒楄〃
HdlRoomLogic.Current.RefreshRoomListView();
+ //鍔犺浇妯℃澘缂撳瓨
+ //TemplateData.TemplateCommonLogic.Current.LoadLocalTemplateMemoryData();
}
/// <summary>
@@ -954,6 +954,35 @@
Common.Logic.SoneLogicList.Clear();
}
+ /// <summary>
+ /// 浣忓畢鍒囨崲鏃�,妫�娴嬬綉鍏宠繛鎺ユ儏鍐�
+ /// </summary>
+ private static void CheckGatewayConnection()
+ {
+ try
+ {
+ bool canReceiveGw = false;
+ foreach (var gateway in UserCenterResourse.DicReceiveGatewayTest.Values)
+ {
+ if (gateway.HomeId == Config.Instance.Home.Id)
+ {
+ //鑳藉鎼滅储寰楀埌缃戝叧
+ canReceiveGw = true;
+ break;
+ }
+ }
+ UserCenterResourse.DicReceiveGatewayTest = null;
+ //璁剧疆杩滅▼杩炴帴鐨勫垵濮嬪��
+ ZigBee.Device.ZbGateway.IsRemote = canReceiveGw == false;
+ if (canReceiveGw == false)
+ {
+ //濡傛灉鏄繙绋嬬殑璇�,杩藉姞绛夊緟鏃堕棿
+ System.Threading.Thread.Sleep(1500);
+ }
+ }
+ catch { }
+ }
+
#endregion
#region 鈻� 鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅_______________
--
Gitblit v1.8.0