From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/Common/HDLCommon.cs | 781 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 653 insertions(+), 128 deletions(-) diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs index 95bf73c..d986e84 100644 --- a/HDL_ON/Common/HDLCommon.cs +++ b/HDL_ON/Common/HDLCommon.cs @@ -2,30 +2,44 @@ using Shared; using HDL_ON; 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 { + /// <summary> + /// HDLCommon + /// 鏆傛椂娌$敤 + /// </summary> public class HDLCommon { - #region 鈻� 鍙橀噺澹版槑___________________________ - /// <summary> - /// 閫氱敤鏂规硶 - /// </summary> - private static HDLCommon m_Current = null; - /// <summary> - /// 閫氱敤鏂规硶 - /// </summary> - public static HDLCommon Current - { - get - { - if (m_Current == null) - { - m_Current = new HDLCommon(); - } - return m_Current; - } - } + /// <summary> + /// 鏀跺埌鎺ㄩ�丄ction浜嬩欢 + /// </summary> + public static Action GetPushMessageAction; + + #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> + /// 閫氱敤鏂规硶 + /// </summary> + private static HDLCommon m_Current = null; + /// <summary> + /// 閫氱敤鏂规硶 + /// </summary> + public static HDLCommon Current + { + get + { + if (m_Current == null) + { + m_Current = new HDLCommon(); + } + return m_Current; + } + } #endregion #region 鈻� Alter寮圭獥鎻愮ず_______________________ @@ -46,7 +60,8 @@ public void ShowActionAlert(string mes, Action okAction) { Alert alert = new Alert("", mes, Language.StringByID(StringId.Cancel), Language.StringByID(StringId.Confirm)); - alert.ResultEventHandler += (sender2, e2) => { + alert.ResultEventHandler += (sender2, e2) => + { if (e2) { okAction?.Invoke(); @@ -58,136 +73,646 @@ #endregion #region 鈻� 閫氱敤Dialog_______________________ + + #endregion + + #region 鈻� 妫�娴嬫洿鏂癬______________________ /// <summary> - /// 鍔犺浇鎻愮ずDialog + /// 妫�娴嬫洿鏂扮嚎绋� /// </summary> - /// <param name="titleId"></param> - /// <param name="msgId"></param> - /// <param name="callBackAction"></param> - void ShowConfirmDialogBase(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm) + public void CheckIfNeedForceUpdate() { - Dialog dialog = new Dialog() + System.Threading.Tasks.Task.Run(() => { - BackgroundColor = CSS_Color.DialogTransparentColor1, - }; + try + { + var revertObj = new HttpServerRequest().CheckAppVersion(); + if (revertObj.Code == StateCode.SUCCESS) + { + if (revertObj.Data != null) + { + var appVersionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionRes>(revertObj.Data.ToString()); + if (appVersionRes != null) + { - FrameLayout contentView = new FrameLayout() - { - Gravity = Gravity.Center, - Width = Application.GetRealWidth(270), - Height = Application.GetRealHeight(140), - BackgroundColor = CSS_Color.MainBackgroundColor, - BorderColor = 0x00000000, - BorderWidth = 0, - Radius = (uint)Application.GetMinRealAverage(10), - }; - dialog.AddChidren(contentView); + var mForceUpdateInfo = new UpdateDialogInfo() + { + UpdateType = appVersionRes.isEnforce ? 2 : 1, + NewVersion = appVersionRes.version, + NewVersionUrl = appVersionRes.androidUrl + }; +#if __IOS__ + mForceUpdateInfo.NewVersionUrl = appVersionRes.iosUrl; +#endif + //瑙f瀽鏇存柊鍐呭璇︽儏 + var reasonStrJson = GetReasonStrJson(appVersionRes.updateDescription); + if (reasonStrJson != null) + { + if (Language.CurrentLanguage == "Chinese") + { + mForceUpdateInfo.ReasonStr = reasonStrJson.Chinese; + } + else + { + mForceUpdateInfo.ReasonStr = reasonStrJson.English; + } + } - Button btnTitle = new Button() - { - Y = Application.GetRealHeight(16), - Height = Application.GetRealHeight(30), - TextColor = CSS_Color.MainColor, - TextSize = CSS_FontSize.SubheadingFontSize, - TextAlignment = TextAlignment.Center, - IsBold = true, - TextID = titleId, - }; - contentView.AddChidren(btnTitle); + Application.RunOnMainThread(() => + { + ShowForceUpdateDialog(mForceUpdateInfo); + }); + } + } + } + else + { + Utlis.WriteLine("璇锋眰澶辫触"); + } + } + catch (Exception ex) + { + //Shared.Utlis.WriteLine (ex.ToString ()); + } + finally + { - Button btnMsg = new Button() - { - Gravity = Gravity.CenterHorizontal, - Height = Application.GetRealHeight(25), - Y = btnTitle.Bottom, - Width = Application.GetRealHeight(200), - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.TextualColor, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextID = msgId, - }; - contentView.AddChidren(btnMsg); + } - Button btnLine = new Button() - { - Y = Application.GetRealHeight(96), - Height = Application.GetRealHeight(1), - Width = Application.GetRealWidth(270 / 2), - BackgroundColor = CSS_Color.DividingLineColor, - }; - contentView.AddChidren(btnLine); - - Button btnCancel = new Button() - { - Y = btnLine.Bottom, - Width = Application.GetRealWidth(135), - Height = Application.GetRealHeight(43), - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.TextualColor, - TextSize = CSS_FontSize.SubheadingFontSize, - TextID = cancelID, - }; - contentView.AddChidren(btnCancel); - - Button btnConfirm = new Button() - { - X = btnCancel.Right, - Y = btnLine.Y, - Width = Application.GetRealWidth(135), - Height = Application.GetRealHeight(45), - TextAlignment = TextAlignment.Center, - //TextColor = CSS_Color.TextualColor, - TextSize = CSS_FontSize.SubheadingFontSize, - TextColor = CSS_Color.MainBackgroundColor, - BackgroundColor = CSS_Color.MainColor, - TextID = confirmID, - }; - contentView.AddChidren(btnConfirm); - //渚嬶細鍙充笅鍦嗚 澶у皬涓�50 - int mRectCornerID = HDLUtils.RectCornerBottomRight; - btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID); - dialog.Show(); - btnCancel.MouseUpEventHandler += (sender, e) => - { - dialog.Close(); - cancelAction?.Invoke(); - }; - - btnConfirm.MouseUpEventHandler += (sender, e) => - { - dialog.Close(); - okAction?.Invoke(); - }; + }); } /// <summary> - /// 鍔犺浇鎻愮ずDialog + /// /// </summary> - /// <param name="titleId"></param> - /// <param name="msgId"></param> - /// <param name="callBackAction"></param> - public void ShowConfirmDialog(int titleId, int msgId, Action okAction, Action cancelAction = null) + /// <param name="jsonStr"></param> + /// <returns></returns> + public ReasonStrJson GetReasonStrJson(string jsonStr) { - ShowConfirmDialogBase(titleId, msgId, okAction, cancelAction); + try + { + if (!string.IsNullOrEmpty(jsonStr)) + { + return Newtonsoft.Json.JsonConvert.DeserializeObject<ReasonStrJson>(jsonStr); + } + return null; + } + catch + { + return null; + } } /// <summary> - /// 鍔犺浇鎻愮ずDialog - /// 鍙互鑷畾涔夋寜閽枃瀛� + /// 鎻愮ず寮哄埗鏇存柊Dialog + /// 鐐瑰嚮纭璺宠浆娴忚鍣� /// </summary> - /// <param name="titleId"></param> - /// <param name="msgId"></param> - /// <param name="okAction"></param> - /// <param name="cancelAction"></param> - /// <param name="cancelID"></param> - /// <param name="confirmID"></param> - public void ShowConfirmDialog(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID, int confirmID) + public void ShowForceUpdateDialog(UpdateDialogInfo mUpdateDialogInfo) { - ShowConfirmDialogBase(titleId, msgId, okAction, cancelAction, cancelID, confirmID); + // 1.1 娌℃湁鏇存柊 杩斿洖 + if (mUpdateDialogInfo.UpdateType == 0) return; + // 1.2 鏈夋柊鐗堟湰浣嗘槸蹇界暐杩� 杩斿洖 + if (mUpdateDialogInfo.UpdateType == 1 && (OnAppConfig.Instance.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return; + // 2.1 鏈夋柊鐗堟湰娌℃湁蹇界暐杩� 鎻愮ず鏇存柊 + if (mUpdateDialogInfo.UpdateType == 1) + { + Action okAction = () => + { + if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl)) return; + + HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl); + }; + + Action cancelAction = () => + { + OnAppConfig.Instance.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion; + OnAppConfig.Instance.SaveConfig(); + }; + + //1鎻愮ず鏇存柊 + var dialog = new UpdateTipDialog(); + var tipStr = Language.StringByID(StringId.VersionNumber) + mUpdateDialogInfo.NewVersion; + dialog.ShowUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mUpdateDialogInfo.ReasonStr, okAction, cancelAction); + + } + else if (mUpdateDialogInfo.UpdateType == 2) //2.2 闇�瑕佸己鍒舵洿鏂� + { + //2寮哄埗鏇存柊 + //"1.鍙戠幇鏂扮増鏈珹pp,褰撳墠鐗堟湰宸插仠鐢�,椹笂鏇存柊!\n2.璇蜂笅杞藉拰瀹夎鏂扮増鏈�!....." + Action okAction = () => + { + if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl)) + { + Utlis.ShowTip(Language.StringByID(StringId.DataExceptionPleaseTryAgain)); + return; + }; + + HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl); + }; + + //1鎻愮ず鏇存柊 + var dialog = new UpdateTipDialog(); + var tipStr = Language.StringByID(StringId.VersionNumber) + mUpdateDialogInfo.NewVersion; + dialog.ShowForcedUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mUpdateDialogInfo.ReasonStr, okAction); + } + else //3. 鍙渶鎻愮ず + { + //3鎻愮ず閫氱煡 + Action okAction = () => + { + + }; + var dialog = new UpdateTipDialog(); + dialog.ShowTipDialog(Language.StringByID(StringId.Tip), mUpdateDialogInfo.ReasonStr, okAction); + } + } + + #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, true); + } + 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, InterphoneType.FLVI.ToString()); + + } + else if (jpushMessageInfo.messageType.Contains(PushMessageType.HDL_INTERPHONE.ToString())) + { + if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return; + + //瀛楁鍏煎闂锛屽彧鑳界洿鎺ュ彇鍊间簡 + var json = Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent); + //1.瑙嗗璁插巶瀹剁被鍨� + string interphoneTypeEnum = json["interphoneTypeEnum"].ToString(); + if (string.IsNullOrEmpty(interphoneTypeEnum)) return; + ESVideoInfo eSVideoInfo = new ESVideoInfo();// GetESOnVideoJson(jpushMessageInfo.expantContent); + //2.鏍规嵁鍙瀵硅鍘傚绫诲瀷锛屽鐞嗕笉鍚岀殑鏁版嵁 + if (interphoneTypeEnum == InterphoneType.IMOUVISIAL.ToString()) + { + //澶у崕涔愭 + eSVideoInfo.callId = json["callId"].ToString(); + //eSVideoInfo.Lc_AccessToken = UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken;//json["subAccountToken"].ToString();// + eSVideoInfo.Lc_AccessToken = json["subAccountToken"].ToString();//2021-05-13 鐩墠浜戠杩樻病鎷垮埌Lc_AccessToken锛岀洰鍓嶆病鍔炴硶姝e父浣跨敤 + eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString(); + eSVideoInfo.Lc_Location = OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1; + eSVideoInfo.Lc_PlayToken = json["token"].ToString(); + eSVideoInfo.Lc_Psk = json["cname"].ToString(); + } + else if (interphoneTypeEnum == InterphoneType.EZVIZ.ToString()) + { + //钀ょ煶鐚溂 + eSVideoInfo.Lc_AccessToken = json["subToken"].ToString();//"瀛愯处鍙穞oken + eSVideoInfo.DeviceSerial = json["devSerial"].ToString();//璁惧搴忓垪鍙� + eSVideoInfo.HomeId = jpushMessageInfo.HomeId; + } + else if (interphoneTypeEnum == InterphoneType.HDL.ToString()) + { + //HDL Linphone 鐙勮�愬厠 + eSVideoInfo.HomeId = jpushMessageInfo.HomeId; + eSVideoInfo.callId = json["callId"].ToString(); + eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString(); + eSVideoInfo.DeviceName = json["deviceName"].ToString(); + eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString(); + //ShowAlert("鐙勮�愬厠闂ㄥ彛鏈哄懠鍙�"); + //鎵撳紑鍛煎彨椤甸潰 + HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo); + return; + } + + //3.鎵撳紑鍛煎彨椤甸潰 + if (eSVideoInfo == null) return; + ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, interphoneTypeEnum); + + } + else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString())) + { + ShowAlarmPushMessage(jpushMessageInfo, false); + } + } + } + catch (Exception EX) + { + Utlis.WriteLine("catch: " + EX.ToString()); + } + } + //{"code":0,"data":{"list":[{"createTime":"1625798305115","modifyTime":"1625798305115","region":"100000000000000001","id":"1413326644794294273","alarmId":"20210709103818-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103818-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:38:17","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{"createTime":"1625798057197","modifyTime":"1625798057197","region":"100000000000000001","id":"1413325604946640898","alarmId":"20210709103413-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103413-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:34:12","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797973320","modifyTime":"1625797973320","region":"100000000000000001","id":"1413325253141004289","alarmId":"20210709103236-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103236-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:32:31","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797782136","modifyTime":"1625797782136","region":"100000000000000001","id":"1413324451261382658","alarmId":"20210709102937-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102937-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:29:37","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797668771","modifyTime":"1625797668771","region":"100000000000000001","id":"1413323975769915394","alarmId":"20210709102743-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102743-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:27:42","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797539846","modifyTime":"1625797539846","region":"100000000000000001","id":"1413323435023466498","alarmId":"20210709102534-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102534-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:25:34","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797530627","modifyTime":"1625797530627","region":"100000000000000001","id":"1413323396351983618","alarmId":"20210709102525-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102525-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:25:25","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625796028089","modifyTime":"1625796028089","region":"100000000000000001","id":"1413317094255034369","alarmId":"20210709100024-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709100024-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:00:23","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625795974558","modifyTime":"1625795974558","region":"100000000000000001","id":"1413316869729746946","alarmId":"20210709095931-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709095931-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T09:59:31","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625795966933","modifyTime":"1625795966933","region":"100000000000000001","id":"1413316837748178946","alarmId":"20210709095923-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709095923-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T09:59:22","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"}],"totalCount":"13","totalPage":"2","pageNo":"1","pageSize":"10"},"timestamp":"1625807415164","isSuccess":true} + //{"platform":"1","timestamp":"1625805660249","appKey":"HDL-HOME-APP-TEST","sign":"02e433c40485b30451ebdc5ca3cd959c","deviceSerial":"F41014762","homeId":"1396717478877241345"} + /// <summary> + /// 瑙f瀽涓版灄鍙瀵硅鎺ㄩ�佹暟鎹� + /// </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": + case "15626203746": + case "551775569@qq.com": + 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(); + //4.娉ㄩ攢HDLSIP璐﹀彿鐧诲綍 2021-08-20 + HDLLinphone.Current.LogoutAllAccount(); + } + 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> + /// <param name="isAlarm">鏄惁鏄姤璀︿俊鎭紝锛堝姞杞界殑寮圭獥棰滆壊涓嶄竴鏍凤級</param> + public void ShowAlarmPushMessage(JPushMessageInfo jpushMessageInfo, bool isAlarm) + { + //娌$櫥褰曚笉澶勭悊 + if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null) + { + return; + } + + //璺宠浆淇℃伅涓績椤甸潰 + Action goAction = () => + { + //鏌ョ湅瀵瑰簲浣忓畢鐨勪俊鎭紝瑕佸垏鎹㈠埌瀵瑰簲浣忓畢 + if (jpushMessageInfo.HomeId != DB_ResidenceData.Instance.CurrentRegion.id) + { + var homeTemp = UserInfo.Current.regionList.Find((obj) => jpushMessageInfo.HomeId == obj.id); + if (homeTemp != null) + { + DB_ResidenceData.Instance.CurrentRegion = homeTemp; + DB_ResidenceData.Instance.SaveResidenceData(); + DB_ResidenceData.Instance.EixtAccount(); + //鍒锋柊浣忓畢鏁版嵁 + Common.ApiUtlis.Ins.DownloadData(); + while (MainPage.BasePageView.ChildrenCount > 1) + { + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 2; + } + MainPage.CurPageIndex = 9999; + MainPage.UserBasePage.ChooseCollection(); + } + } + //Dialog + alarmPushConfirmDialog = null; + Action backAction = () => + { + + }; + while (MainPage.BasePageView.ChildrenCount > 1) + { + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 2; + } + 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(isAlarm); + 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 = result.Data.ToString(); + + //var ezChildAccessToken = Newtonsoft.Json.JsonConvert.DeserializeObject<EZChildAccessToken>(result.Data.ToString()); + Application.RunOnMainThread(() => + { + if (!string.IsNullOrEmpty(ezChildAccessToken)) + { +#if __IOS__ + //iOS + //鍒濆鍖栬悿鐭充簯SDK锛屼腑鏂囧浗鍐卥ey銆佽嫳鏂囨捣澶杒ey 寮�鍙戣�呰处鍙蜂娇鐢ㄥ簲鐢ㄥ寘鍚嶇敵璇风殑APPKEY锛屼笉鍚屽寘鍚嶅簲鐢ㄩ渶閰嶇疆涓嶅悓鐨凙PPKEY + EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b"); + //1.璁剧疆鎵�闇�娌充笢鐨凙ccessToken鍜孯efreshToken銆佸煙鍚嶅湴鍧� + EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken); + EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id); + //2.璁剧疆钀ょ煶瀛愯处鍙风殑AccessToken鍒癝DK + EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(ezChildAccessToken); + ////3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈� + EZSDK.IOS.EZSDK.SharedInstance().Go2EZvizMonitor(); + + //EZSDK.IOS.EZDeviceInfo info = new EZSDK.IOS.EZDeviceInfo(); + //info.de + //EZSDK.IOS.EZSDK.Play(info); +#else + //Android + //1.璁剧疆鎵�闇�娌充笢鐨則oken銆佸煙鍚嶅湴鍧� + //2.璁剧疆钀ょ煶瀛愯处鍙风殑token + //3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈� + ((BaseActivity)Shared.Application.Activity).SetCamera(b => + { + if (b) + { + ((BaseActivity)Shared.Application.Activity).SetPermission(result => + { + if(result) + { + Android.Content.Intent intent = new Android.Content.Intent(); + var bundle = new Android.OS.Bundle(); + //浼犻�抧ame鍙傛暟涓簍inyphp + bundle.PutString("EzChildAccessToken", ezChildAccessToken); + bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString); + bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost); + bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b"); + bundle.PutInt("Platform", 1); + bundle.PutString("HomeId", DB_ResidenceData.Instance.CurrentRegion.id); + intent.PutExtras(bundle); + intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity")); + Shared.Application.Activity.StartActivity(intent); + } + }, "android.permission.RECORD_AUDIO"); + + } + }); +#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