From 305f57840fff5b7cb1914b35c56eaece618711e7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 14 一月 2021 17:06:36 +0800
Subject: [PATCH] 2021-01-14 1. 修改判断当前值是否需要参与签名方法,保持跟云端一致
---
HDL_ON/Common/HDLCommon.cs | 286 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 215 insertions(+), 71 deletions(-)
diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index 7b335c1..4238f09 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -5,6 +5,8 @@
using HDL_ON.DAL.Server;
using HDL_ON.UI;
using HDL_ON.Entity;
+using System.Threading;
+using HDL_ON.DriverLayer;
namespace HDL_ON
{
@@ -14,6 +16,11 @@
/// </summary>
public class HDLCommon
{
+ /// <summary>
+ /// 鏀跺埌鎺ㄩ�丄ction浜嬩欢
+ /// </summary>
+ public static Action GetPushMessageAction;
+
#region 鈻� 鍙橀噺澹版槑___________________________
/// <summary>
/// 閫氱敤鏂规硶
@@ -69,7 +76,7 @@
#endregion
- #region 妫�娴嬫洿鏂�
+ #region 鈻� 妫�娴嬫洿鏂癬______________________
/// <summary>
/// 妫�娴嬫洿鏂扮嚎绋�
/// </summary>
@@ -166,7 +173,7 @@
// 1.1 娌℃湁鏇存柊 杩斿洖
if (mUpdateDialogInfo.UpdateType == 0) return;
// 1.2 鏈夋柊鐗堟湰浣嗘槸蹇界暐杩� 杩斿洖
- if (mUpdateDialogInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return;
+ if (mUpdateDialogInfo.UpdateType == 1 && (OnAppConfig.Instance.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return;
// 2.1 鏈夋柊鐗堟湰娌℃湁蹇界暐杩� 鎻愮ず鏇存柊
if (mUpdateDialogInfo.UpdateType == 1)
{
@@ -179,8 +186,8 @@
Action cancelAction = () =>
{
- UserInfo.Current.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion;
- UserInfo.Current.SaveUserInfo();
+ OnAppConfig.Instance.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion;
+ OnAppConfig.Instance.SaveConfig();
};
//1鎻愮ず鏇存柊
@@ -223,41 +230,39 @@
#endregion
- /// <summary>
- /// 鎭㈠浣忓畢
- /// 2020-12-03 寰呮祴璇曟湭妫�娴�
- /// </summary>
- public void RestoreHomeBackup(string RegionID)
- {
- var isExist = FileUtils.ExistRegion(RegionID);
- if (isExist)
- {
- //瀛樺湪鍒欐仮澶�
- string newRegionRootPath = FileUtils.CreateRegionBackup(RegionID);
- FileUtils.RestoreRegionFiles(newRegionRootPath);
- }
- }
+ ///// <summary>
+ ///// 鎭㈠浣忓畢
+ ///// 2020-12-03 寰呮祴璇曟湭妫�娴�
+ ///// </summary>
+ //public void RestoreHomeBackup(string RegionID)
+ //{
+ // var isExist = FileUtils.ExistRegion(RegionID);
+ // if (isExist)
+ // {
+ // //瀛樺湪鍒欐仮澶�
+ // string newRegionRootPath = FileUtils.CreateRegionBackup(RegionID);
+ // FileUtils.RestoreRegionFiles(newRegionRootPath);
+ // }
+ //}
- #region 鎺ㄩ�佸鐞�
+ #region 鈻� 鎺ㄩ�佸鐞哶______________________
/// <summary>
/// 鎺ㄩ�佹秷鎭鐞�
/// </summary>
/// <param name="jpushMessageInfo"></param>
public void AdjustPushMessage(JPushMessageInfo jpushMessageInfo)
{
-#if DEBUG
- return;
-#endif
try
{
if (jpushMessageInfo.Extras != null && jpushMessageInfo.Extras.Contains("OffLine"))
{
Shared.Application.RunOnMainThread(() =>
{
- //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
- new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
- //2020-12-04 寰呭鍔犻��鍑虹櫥褰曟搷浣�
- Logout();
+ ////璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+ //new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
+ //閫�鍑虹櫥褰曟搷浣�
+ CheckLogout();
+
});
return;
}
@@ -265,10 +270,17 @@
{
Shared.Application.RunOnMainThread(() =>
{
- new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
+ GetPushMessageAction?.Invoke();
+ //鎶ヨ鎺ㄩ�佹墠寮圭獥鎻愮ず锛坢essageType鍖呭惈Alarm鍏抽敭瀛楃殑锛�
+ if (jpushMessageInfo.messageType != null && jpushMessageInfo.messageType.Contains("Alarm"))
+ {
+ //鎶ヨ鎺ㄩ�佸脊绐楁彁绀�
+ ShowAlarmPushMessage(jpushMessageInfo);
+ //new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
+ }
+
});
return;
-
}
}
catch
@@ -278,64 +290,196 @@
}
/// <summary>
+ /// 璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+ /// 瑕佸湪涓荤嚎绋嬭皟鐢�
+ /// 閫�鍑虹櫥褰曟搷浣�
+ /// </summary>
+ public void CheckLogout()
+ {
+ //鏈櫥褰曚笉鐢ㄥ鐞�
+ if (!UserInfo.Current.IsLogin) return;
+
+ //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+ new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
+
+//#if DEBUG
+ return;
+//#endif
+
+ Logout();
+ }
+
+ /// <summary>
/// 閫�鍑虹櫥褰曟搷浣�
/// </summary>
public void Logout()
{
- try
+ //鍔犺浇Loading鏁堟灉
+ var waitPage = new Loading();
+ MainPage.BaseView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+ new Thread(() =>
{
- //鏈櫥褰曚笉鐢ㄥ鐞�
- if (!UserInfo.Current.IsLogin) return;
-
- Shared.Application.RunOnMainThread(() =>
+ try
{
- #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す
- string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString());
- new System.Threading.Thread(() =>
- {
- try
- {
- var backuplist = FileUtils.ReadFiles();
- FileUtils.DeleteRegionFiles(oldRegionRootPath);
- //绉诲姩鏂囦欢
- foreach (var fileName in backuplist)
- {
- System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName);
- if (fileInfo.Exists)
- {
- fileInfo.MoveTo(oldRegionRootPath + fileName);
- MainPage.Log("move file : " + fileName);
- }
- }
- }
- catch (Exception ex)
- {
- MainPage.Log($"xxx:{ex.Message}");
- }
- finally
- {
- FileUtils.DeleteAllFile();
- }
- }).Start();
- #endregion
-
- ////2.娉ㄩ攢鎺ㄩ��
+ //2.娉ㄩ攢鎺ㄩ��
new HttpServerRequest().SignOutPush();
//3.璺宠浆鐧诲綍椤甸潰
UserInfo.Current.LastTime = DateTime.MinValue;
- UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
UserInfo.Current.SaveUserInfo();
- MainPage.GoLoginPage(UserInfo.Current);
- DB_ResidenceData.residenceData.EixtAccount();
- });
+ DB_ResidenceData.Instance.EixtAccount();
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"xxx:{ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ MainPage.GoLoginPage(UserInfo.Current);
+ });
+ }
+ }).Start();
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ ConfirmDialog alarmPushConfirmDialog;
+ /// <summary>
+ /// 鎶ヨ鎺ㄩ�佸脊绐楁彁绀�,鐐瑰嚮鏌ョ湅璺宠浆淇℃伅涓績
+ /// </summary>
+ /// <param name="jpushMessageInfo"></param>
+ public void ShowAlarmPushMessage(JPushMessageInfo jpushMessageInfo)
+ {
+ //娌$櫥褰曚笉澶勭悊
+ if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null)
+ {
+ return;
+ }
+
+ //璺宠浆淇℃伅涓績椤甸潰
+ Action goAction = () =>
+ {
+ //Dialog
+ alarmPushConfirmDialog = null;
+ Action backAction = () => {
+
+ };
+ var skipPage = new MessageCenterPage();
+ MainPage.BasePageView.AddChidren(skipPage);
+ skipPage.LoadPage(backAction);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+
+ //鍙栨秷浜嬩欢
+ Action cancelAction = () =>
+ {
+ alarmPushConfirmDialog = null;
+ };
+
+ //闃叉澶氭寮圭獥澶勭悊
+ if (alarmPushConfirmDialog == null)
+ {
+ alarmPushConfirmDialog = new ConfirmDialog();
+ alarmPushConfirmDialog.ShowDialog(Language.StringByID(StringId.Tip), jpushMessageInfo.Content, goAction, cancelAction, StringId.Cancel, StringId.LookOver);
+ }
+ else
+ {
+ alarmPushConfirmDialog.RefreshDialog(Language.StringByID(StringId.Tip), jpushMessageInfo.Content, goAction, cancelAction, StringId.Cancel, StringId.LookOver);
}
- catch (Exception ex)
+
+ }
+
+ #endregion
+
+ #region 鈻� 甯哥敤鏂规硶_______________________
+ /// <summary>
+ /// 璁剧疆涓嬪垝绾挎寜閽姸鎬�
+ /// 缁熶竴灏佽璁剧疆鏂规硶
+ /// </summary>
+ /// <param name="button">涓嬪垝绾挎寜閽�</param>
+ /// <param name="bottomLineType">鐘舵��</param>
+ public void BottomLineShowType(Button button, BottomLineType bottomLineType)
+ {
+ switch (bottomLineType)
{
- MainPage.Log($"xxx:{ex.Message}");
+ case BottomLineType.GotFocus:
+ button.BackgroundColor = CSS_Color.MainColor;
+ button.Height = Application.GetRealHeight(2);
+ break;
+ case BottomLineType.Error:
+ button.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ button.Height = Application.GetRealHeight(2);
+ break;
+ case BottomLineType.Normal:
+ button.BackgroundColor = CSS_Color.DividingLineColor;
+ button.Height = Application.GetRealHeight(1);
+ break;
+ default:
+ button.BackgroundColor = CSS_Color.DividingLineColor;
+ button.Height = Application.GetRealHeight(1);
+ break;
+ }
+ }
+
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="userName"></param>
+ /// <returns></returns>
+ public string GetUserName(string userName)
+ {
+ return string.IsNullOrEmpty(userName) ? Language.StringByID(StringId.UsersWhoNameIsEmpty) : userName;
+ }
+
+
+ /// <summary>
+ /// 鐩戝惉缃戠粶鍙樺寲鍚庡鐞嗕簨浠�
+ /// 鍒锋柊缃戠粶鐘舵��
+ /// </summary>
+ /// <param name="internetStatus">缃戠粶鍙樺寲</param>
+ /// <param name="IsEnterBackground">鏄惁杩涘叆浜嗗悗鍙�</param>
+ public void UpdateInternetStatus(int internetStatus, bool IsEnterBackground = false)
+ {
+ MainPage.Log($"缃戠粶鐘舵�佸彉鍖栵紝褰撳墠缃戠粶:{internetStatus} 鏄惁鍚庡彴:{IsEnterBackground.ToString()}");
+ //缃戠粶鐘舵�佸彉鍖� 閲嶇疆缃戝叧鐘舵�侀噸鏂版悳绱�
+ Control.Ins.GatewayOnline = false;
+
+ //缃戠粶鍙樺寲锛屾柇寮�閲嶈繛涓�娆�
+ if (Control.Ins.IsRemote)
+ {
+ Control.Ins.IsRemote = false;
+ DAL.Mqtt.MqttClient.DisConnectRemote("UpdateInternetStatus", false);
+ }
+
+ if (internetStatus == 0)//娌℃湁缃戠粶杩炴帴 0
+ {
+ Control.Ins.GatewayOnline = false;
+ Control.Ins.IsRemote = false;
+ MainPage.InternetStatus = 0;
+ }
+ else if (internetStatus == 1)//3,4G鐨勭綉缁滆繛鎺� 1
+ {
+ MainPage.InternetStatus = 1;
+ Control.Ins.SearchLoaclGateway();
+
+ }
+ else if (internetStatus == 2)//WiFi缃戠粶
+ {
+ MainPage.InternetStatus = 2;
+ Control.Ins.SearchLoaclGateway();
}
}
#endregion
-
}
}
--
Gitblit v1.8.0