From 39eb1c016f49275bb8449fba9286619670f39a42 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 19 四月 2021 09:35:59 +0800
Subject: [PATCH] 合并温居城代码
---
HDL_ON/Common/HDLCommon.cs | 403 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 399 insertions(+), 4 deletions(-)
diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index d947849..6ab29de 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -4,6 +4,9 @@
using HDL_ON.UI.CSS;
using HDL_ON.DAL.Server;
using HDL_ON.UI;
+using HDL_ON.Entity;
+using System.Threading;
+using HDL_ON.DriverLayer;
namespace HDL_ON
{
@@ -13,6 +16,11 @@
/// </summary>
public class HDLCommon
{
+ /// <summary>
+ /// 鏀跺埌鎺ㄩ�丄ction浜嬩欢
+ /// </summary>
+ public static Action GetPushMessageAction;
+
#region 鈻� 鍙橀噺澹版槑___________________________
/// <summary>
/// 閫氱敤鏂规硶
@@ -68,7 +76,7 @@
#endregion
- #region 妫�娴嬫洿鏂�
+ #region 鈻� 妫�娴嬫洿鏂癬______________________
/// <summary>
/// 妫�娴嬫洿鏂扮嚎绋�
/// </summary>
@@ -165,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)
{
@@ -178,8 +186,8 @@
Action cancelAction = () =>
{
- UserInfo.Current.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion;
- UserInfo.Current.SaveUserInfo();
+ OnAppConfig.Instance.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion;
+ OnAppConfig.Instance.SaveConfig();
};
//1鎻愮ず鏇存柊
@@ -221,5 +229,392 @@
}
#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);
+ // }
+ //}
+
+ #region 鈻� 鎺ㄩ�佸鐞哶______________________
+ /// <summary>
+ /// 鎺ㄩ�佹秷鎭鐞�
+ /// 娉ㄦ剰锛欰ndroid瑕佸湪涓荤嚎绋嬶紙UI绾跨▼锛夋墽琛�
+ /// </summary>
+ /// <param name="jpushMessageInfo"></param>
+ public void AdjustPushMessage(JPushMessageInfo jpushMessageInfo)
+ {
+ try
+ {
+ //Extras涓虹┖涓嶅鐞�
+ if (string.IsNullOrEmpty(jpushMessageInfo.Extras)) return;
+
+ if (jpushMessageInfo.Extras.Contains(PushMessageType.OffLine.ToString()))
+ {
+ CheckLogout();
+ }
+ else
+ {
+ GetPushMessageAction?.Invoke();
+
+ //messageType涓虹┖涓嶅鐞�
+ if (string.IsNullOrEmpty(jpushMessageInfo.messageType)) return;
+
+ //鎶ヨ鎺ㄩ�佹墠寮圭獥鎻愮ず锛坢essageType鍖呭惈Alarm鍏抽敭瀛楃殑锛�
+ if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString()))
+ {
+ //鎶ヨ鎺ㄩ�佸脊绐楁彁绀�
+ ShowAlarmPushMessage(jpushMessageInfo);
+ }
+ else if (jpushMessageInfo.messageType.Contains(PushMessageType.FLCall.ToString()))
+ {
+ if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
+
+ ESVideoInfo eSVideoInfo = GetESOnVideoJson(jpushMessageInfo.expantContent);
+
+ if (eSVideoInfo == null) return;
+
+ if (string.IsNullOrEmpty(eSVideoInfo.uuid)) return;
+
+ if (eSVideoInfo.uuid.Contains(","))
+ {
+ var uuid = eSVideoInfo.uuid.Split(',');
+ eSVideoInfo.ESVideoUUID = uuid[0];
+ }
+ else
+ {
+ eSVideoInfo.ESVideoUUID = eSVideoInfo.uuid;
+ }
+
+ ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo);
+
+ }
+ }
+ }
+ catch(Exception EX)
+ {
+ Utlis.WriteLine("catch: " + EX.ToString());
+ }
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="jsonStr"></param>
+ /// <returns></returns>
+ ESVideoInfo GetESOnVideoJson(string jsonStr)
+ {
+ try
+ {
+ if (!string.IsNullOrEmpty(jsonStr))
+ {
+ return Newtonsoft.Json.JsonConvert.DeserializeObject<ESVideoInfo>(jsonStr);
+ }
+ return null;
+ }
+ catch
+ {
+ return null;
+ }
+ }
+
+ /// <summary>
+ /// 璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+ /// 瑕佸湪涓荤嚎绋嬭皟鐢�
+ /// 閫�鍑虹櫥褰曟搷浣�
+ /// </summary>
+ public void CheckLogout()
+ {
+ //娴嬭瘯璐﹀彿锛屼笉鎸や笅绾�
+ switch (UserInfo.Current.AccountString)
+ {
+ case "13415629083":
+ case "18316120654":
+ case "15622703419":
+ case "18824864143":
+ case "464027401@qq.com":
+ case "2791308028@qq.com":
+ case "13697499568":
+ case "18666455392":
+ case "13375012446":
+ case "13602944661":
+ case "18778381374":
+ case "18316672920":
+ return;
+ }
+
+ //鏈櫥褰曚笉鐢ㄥ鐞�
+ if (!UserInfo.Current.IsLogin) return;
+
+ //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+ new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
+
+ Logout();
+ }
+
+ /// <summary>
+ /// 閫�鍑虹櫥褰曟搷浣�
+ /// </summary>
+ public void Logout()
+ {
+ //鍔犺浇Loading鏁堟灉
+ var waitPage = new Loading();
+ MainPage.BaseView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+ new Thread(() =>
+ {
+ try
+ {
+ //2.娉ㄩ攢鎺ㄩ��
+ new HttpServerRequest().SignOutPush();
+ //3.璺宠浆鐧诲綍椤甸潰
+ UserInfo.Current.LastTime = DateTime.MinValue;
+ UserInfo.Current.SaveUserInfo();
+ 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);
+
+ }
+
+ }
+
+ #endregion
+
+ #region 鈻� 甯哥敤鏂规硶_______________________
+ /// <summary>
+ /// 璁剧疆涓嬪垝绾挎寜閽姸鎬�
+ /// 缁熶竴灏佽璁剧疆鏂规硶
+ /// </summary>
+ /// <param name="button">涓嬪垝绾挎寜閽�</param>
+ /// <param name="bottomLineType">鐘舵��</param>
+ public void BottomLineShowType(Button button, BottomLineType bottomLineType)
+ {
+ switch (bottomLineType)
+ {
+ 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_Cloud = false;
+ Control.Ins.GatewayOnline_Local = false;
+
+ DAL.Mqtt.MqttClient.DisConnectRemote("UpdateInternetStatus", false);
+
+ if (internetStatus == 0)//娌℃湁缃戠粶杩炴帴 0
+ {
+ 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
+
+ #region 璺宠浆鎵撳紑钀ょ煶浜戞柟娉�
+
+ /// <summary>
+ /// 鑾峰彇瀛愯处鍙穞oken骞惰烦杞澶囧垪琛ㄩ〉闈�
+ /// </summary>
+ /// <param name="bodyView"></param>
+ public void Go2EZvizMonitor(FrameLayout bodyView)
+ {
+ var waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+ new Thread(() =>
+ {
+ try
+ {
+ //鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken
+ var result = new HttpServerRequest().EZGetChildToken();
+ if (result.Code == StateCode.SUCCESS)
+ {
+ var ezChildAccessToken = Newtonsoft.Json.JsonConvert.DeserializeObject<EZChildAccessToken>(result.Data.ToString());
+ Application.RunOnMainThread(() =>
+ {
+ if (!string.IsNullOrEmpty(ezChildAccessToken.accessToken))
+ {
+#if __IOS__
+ //iOS
+
+ //1.璁剧疆鎵�闇�娌充笢鐨凙ccessToken鍜孯efreshToken銆佸煙鍚嶅湴鍧�
+ EZSDK.IOS.EZSDK.SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken);
+ EZSDK.IOS.EZSDK.SetRequestHttpsHost(OnAppConfig.Instance.RequestHttpsHost);
+ //2.璁剧疆钀ょ煶瀛愯处鍙风殑AccessToken鍒癝DK
+ EZSDK.IOS.EZSDK.SetEZAccessToken(ezChildAccessToken.accessToken);
+ //3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈�
+ EZSDK.IOS.EZSDK.Go2EZvizMonitor();
+
+#else
+ //Android
+ //1.璁剧疆鎵�闇�娌充笢鐨則oken銆佸煙鍚嶅湴鍧�
+ //2.璁剧疆钀ょ煶瀛愯处鍙风殑token
+ //3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈�
+ ((BaseActivity)Shared.Application.Activity).SetCamera(b =>
+ {
+ if (b)
+ {
+ Android.Content.Intent intent = new Android.Content.Intent();
+ var bundle = new Android.OS.Bundle();
+ //浼犻�抧ame鍙傛暟涓簍inyphp
+ bundle.PutString("Token", ezChildAccessToken.accessToken);
+ bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString);
+ bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost);
+ intent.PutExtras(bundle);
+ intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity"));
+ Shared.Application.Activity.StartActivity(intent);
+ }
+ });
+#endif
+
+
+ }
+
+ });
+ }
+ else
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
+ }
+ }
+ catch (Exception ex)
+ {
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+
+ #endregion
}
}
--
Gitblit v1.8.0