From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL-ON_iOS/AppDelegate.cs | 320 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 260 insertions(+), 60 deletions(-) diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs index 15953fc..8ea5561 100644 --- a/HDL-ON_iOS/AppDelegate.cs +++ b/HDL-ON_iOS/AppDelegate.cs @@ -8,6 +8,7 @@ using Microsoft.AppCenter.Analytics; using Microsoft.AppCenter.Crashes; using HDL_ON.UI; +using HDL_ON.DAL.Server; namespace SharedMethod { @@ -15,7 +16,7 @@ { public static UIApplication sharedApp; public static PageLayout CurPageLayout = null; - public static bool IsBackground; + //public static bool IsBackground; //public static string CheckVersion() //{ @@ -23,7 +24,7 @@ // UserConfig.Instance.IsAppStoreVersionNewer = Harpy.Harpy.SharedInstance.TestIsAppStoreVersionNewer; // UserConfig.Instance.StoreVersion = Harpy.Harpy.SharedInstance.CurrentAppStoreVersion; // UserConfig.Instance.SaveUserConfig(); - // if (Shared.SimpleControl.MainPage.LoginUser.AccountString == @"464027401@qq.com") + // if (Shared.SimpleControl. UserInfo.Current.AccountString == @"464027401@qq.com") // { // return $"TestIsAppStoreVersionNewer : {UserConfig.Instance.IsAppStoreVersionNewer};; CurrentAppStoreVersion : {UserConfig.Instance.StoreVersion}"; // } @@ -34,6 +35,7 @@ //} } + } namespace HDL_ON_iOS @@ -97,18 +99,23 @@ // Save new device token NSUserDefaults.StandardUserDefaults.SetString(DeviceToken, "PushDeviceToken"); - string userPhoneName = UIDevice.CurrentDevice.Name; + //UserInfo.Current.PushDeviceToken = DeviceToken; + //UserInfo.Current.PhoneName = userPhoneName; + //UserInfo.Current.SaveUserInfo(); OnAppConfig.Instance.PushDeviceToken = DeviceToken; - //UserConfig.Instance.phoneName = userPhoneName; - //UserConfig.Instance.SaveUserConfig(); + OnAppConfig.Instance.PhoneName = UIDevice.CurrentDevice.Name; + OnAppConfig.Instance.SaveConfig(); } if (OnAppConfig.Instance.PushDeviceToken != DeviceToken) { - string userPhoneName = UIDevice.CurrentDevice.Name; + //string userPhoneName = UIDevice.CurrentDevice.Name; + //UserInfo.Current.PushDeviceToken = DeviceToken; + //UserInfo.Current.PhoneName = userPhoneName; + //UserInfo.Current.SaveUserInfo(); OnAppConfig.Instance.PushDeviceToken = DeviceToken; - //UserConfig.Instance.phoneName = userPhoneName; - //UserConfig.Instance.SaveUserConfig(); + OnAppConfig.Instance.PhoneName = UIDevice.CurrentDevice.Name; + OnAppConfig.Instance.SaveConfig(); } } @@ -118,6 +125,28 @@ //璇诲彇鎺ㄩ�佷俊鎭� UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; + + if (userInfo == null) + { + return; + } + + Console.WriteLine(userInfo); + //HDLCommon.Current.ShowAlert("DidReceiveRemoteNotification:" + userInfo.ToString()); + + + if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background) + { + + HandleNotificationMessageUserInfo(userInfo, false); + } + else + { + //Inactive + HandleNotificationMessageUserInfo(userInfo, false); + + } + completionHandler(UIBackgroundFetchResult.NewData); } public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo) @@ -143,23 +172,27 @@ public override void OnResignActivation(UIApplication application) { Console.WriteLine("OnResignActivation"); - BusSocket.Stop(); + UserInfo.Current.unlockTime = DateTime.Now; } public override void DidEnterBackground(UIApplication application) { - SharedMethod.SharedMethod.IsBackground = true; + //SharedMethod.SharedMethod.IsBackground = true; + //MainPage.IsEnterBackground = true; + ////杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵�� + //HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false; + //HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop(); + //杩涘叆鍚庡彴 + BusSocketStop(); Console.WriteLine("DidEnterBackground"); } public override void WillEnterForeground(UIApplication application) { - SharedMethod.SharedMethod.IsBackground = false; - BusSocket.Start(6000); - new AppUnlockPage().LoadPage(); + //鍥炲埌鍓嶅彴锛屽鐞嗕簨浠� + BusSocketStart(); Console.WriteLine("WillEnterForeground"); - UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; } public override void WillTerminate(UIApplication application) @@ -171,80 +204,247 @@ { Console.WriteLine("OnActivated"); base.OnActivated(application); + //HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway(); + //if (haveToSignOut == true) + //{ + ////寮哄埗涓嬬嚎 + //UserInfo.Current.LastTime = DateTime.MinValue; + //UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚 + //UserInfo.Current.SaveUserInfo(); + //HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices)); + //} + + } + + /// <summary> + /// 璁剧疆褰撳墠浣跨敤璇█ + /// </summary> + void SetCurrentLanguage() + { + if (string.IsNullOrEmpty(OnAppConfig.Instance.SetLanguage)) + { + if (NSLocale.PreferredLanguages[0].Contains("zh-")) + { + Language.CurrentLanguage = "Chinese"; + } + else if (NSLocale.PreferredLanguages[0].Contains("cs-")) + { + Language.CurrentLanguage = "Czech"; + } + else + { + Language.CurrentLanguage = "English"; + } + } + else + { + Language.CurrentLanguage = OnAppConfig.Instance.SetLanguage; + } } public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { - + SetCurrentLanguage(); //Shared.Application.FontSize = 12; - //Shared.Application.IsUsePingFang = true; + //Bugly.Bugly.StartWithAppId("b58fb35436"); + //鍙栨秷EditText榛樿瀵嗙爜杈撳叆鏂瑰紡 + //Shared.Application.IsEditTextContentTypePassword = false; + //榛樿浣跨敤鑻规柟瀛椾綋 + Shared.Application.IsUsePingFang = true; + //淇濇寔灞忓箷甯镐寒鎴栬�呰嚜鍔ㄩ攣灞� + application.IdleTimerDisabled = false; + base.FinishedLaunching(application, launchOptions); + Window = new UIWindow(UIScreen.MainScreen.Bounds); rootViewController = new UINavigationController(new ViewController()) { NavigationBarHidden = true }; Window.RootViewController = rootViewController; Window.MakeKeyAndVisible(); - - - AppCenter.Start("e1add75a-82c6-4a5c-a902-4705b195748e",typeof(Analytics), typeof(Crashes)); - base.FinishedLaunching(application, launchOptions); + AppCenter.Start("e1add75a-82c6-4a5c-a902-4705b195748e", typeof(Analytics), typeof(Crashes)); SharedMethod.SharedMethod.sharedApp = application; //NSString* nsCount = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode]; application.StatusBarStyle = UIStatusBarStyle.DarkContent; - - string nsCount = NSLocale.CurrentLocale.CountryCode; - if (nsCount != OnAppConfig.Instance.CountryCode) - { - OnAppConfig.Instance.CountryCode = nsCount; - OnAppConfig.Instance.SaveUserConfig(); - } - application.IdleTimerDisabled = true; - application.RegisterForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound); - //window.AccessibilityNavigationStyle = UIAccessibilityNavigationStyle.Automatic; // check for a notification + DealWithPushMes(launchOptions); + + //if (UIApplication.SharedApplication.ApplicationIconBadgeNumber > 0) + //{ + // //RemoteInfo.Current.ReadMsgList(true); + //} + + Console.WriteLine("FinishedLaunching"); + return true; + } + + /// <summary> + /// 澶勭悊閫氱煡娑堟伅 + /// </summary> + void HandleNotificationMessageUserInfo(NSDictionary userInfo, bool bFinishedLaunching) + { + try + { + if (userInfo.ContainsKey(new NSString("aps"))) + { + var aps = userInfo["aps"] as NSDictionary; + var alert = aps["alert"] as NSDictionary; + var body = alert["body"] as NSString; + var title = alert["title"] as NSString; + var expandData = ""; + var messageType = ""; + var expantContent = ""; + var homeId = ""; + if (userInfo.ContainsKey(new NSString("expandData"))) + { + var expandDataStr = userInfo["expandData"] as NSString; + if(expandDataStr == null) + { + var expandDataNSD = userInfo["expandData"] as NSDictionary; + if (expandDataNSD != null) + { + expandData = expandDataNSD.ToString(); + if(expandDataNSD.ContainsKey(new NSString("messageType"))){ + messageType = expandDataNSD["messageType"] as NSString; + Utlis.WriteLine("messageType: " + messageType); + } + + if (expandDataNSD.ContainsKey(new NSString("expantContent"))) + { + expantContent = expandDataNSD["expantContent"] as NSString; + Utlis.WriteLine("expantContent: " + expantContent); + } + + if (expandDataNSD.ContainsKey(new NSString("homeId"))) + { + homeId = expandDataNSD["homeId"].ToString(); + Utlis.WriteLine("homeId: " + homeId); + } + + } + } + else + { + expandData = expandDataStr; + } + + } + var pushMes = new JPushMessageInfo() + { + HomeId = homeId, + Title = title, + Content = body, + Extras = expandData, + messageType = messageType, + expantContent = expantContent + }; + Utlis.WriteLine("PushMes title : " + pushMes.Title); + Utlis.WriteLine("PushMes message : " + pushMes.Content); + Utlis.WriteLine("PushMes extras : " + pushMes.Extras); + + if (bFinishedLaunching) + { + if (pushMes.Extras != null) + { + if (pushMes.Extras.Contains("OffLine")) + { + //haveToSignOut = true; + //寮哄埗涓嬬嚎 + UserInfo.Current.LastTime = DateTime.MinValue; + UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚 + UserInfo.Current.SaveUserInfo(); + HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices)); + } + else + { + HDLCommon.Current.AdjustPushMessage(pushMes); + } + } + } + else + { + HDLCommon.Current.AdjustPushMessage(pushMes); + } + + } + } + catch + { + //HDLCommon.Current.ShowAlert("catch2222"); + } + } + + ///// <summary> + ///// 閫�鍑虹櫥褰曟爣璁� + ///// </summary> + //bool haveToSignOut; + /// <summary> + /// 鍚姩APP 澶勭悊閫氱煡 + /// </summary> + /// <param name="launchOptions"></param> + void DealWithPushMes(NSDictionary launchOptions) + { + //haveToSignOut = false; if (launchOptions != null) { // check for a remote notification if (launchOptions.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey)) { + NSDictionary userInfo = launchOptions[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary; - NSDictionary remoteNotification = launchOptions[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary; - if (remoteNotification != null) + if (userInfo != null) { - //UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; + //HandleNotificationMessageUserInfo(userInfo, true); + } } } - if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0)) - { - var notificationSettings = UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, null); - application.RegisterUserNotificationSettings(notificationSettings); - application.RegisterForRemoteNotifications(); - } - else - { - //==== register for remote notifications and get the device token - // set what kind of notification types we want - UIRemoteNotificationType notificationTypes = UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge; - // register for remote notifications - UIApplication.SharedApplication.RegisterForRemoteNotificationTypes(notificationTypes); - } - - if (UIApplication.SharedApplication.ApplicationIconBadgeNumber > 0) - { - //RemoteInfo.Current.ReadMsgList(true); - } - - //Harpy.Harpy.SharedInstance.PresentingViewController = this.Window.RootViewController; - //Harpy.Harpy.SharedInstance.WeakDelegate = this; - //Harpy.Harpy.SharedInstance.AlertType = Harpy.HarpyAlertType.Skip; - //Harpy.Harpy.SharedInstance.DebugEnabled = false; - //Harpy.Harpy.SharedInstance.ForceLanguageLocalization = Harpy.Constants.HarpyLanguageChineseSimplified; - Console.WriteLine("FinishedLaunching"); - return true; } + + /// <summary> + /// 杩涘叆鍚庡彴鐨勬椂闂� + /// </summary> + DateTime CloseTime = DateTime.Now; + + /// <summary> + /// 杩涘叆鍚庡彴澶勭悊鏃堕棿 + /// BusSocketStop + /// </summary> + void BusSocketStop() + { + //SharedMethod.SharedMethod.IsBackground = true; + CloseTime = DateTime.Now; + MainPage.IsEnterBackground = true; + //杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵�� + HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false; + HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop(); + + } + + + /// <summary> + /// 鍥炲埌鍓嶅彴锛屽鐞嗕簨浠� + /// </summary> + void BusSocketStart() + { + if (CloseTime.AddSeconds(10) < DateTime.Now) + { + //鍚庡彴瓒呰繃10s灏辨柇寮�MQTT閲嶈繛 + //if (HDL_ON.DriverLayer.Control.Ins.IsRemote) + { + HDL_ON.DAL.Mqtt.MqttClient.DisConnectRemote("closeTime", false); + } + } + + MainPage.IsEnterBackground = false; + HDL_ON.DriverLayer.UdpSocket._BusSocket.Start(); + new AppUnlockPage().LoadPage(); + UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; + HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway(); + } + } + } -- Gitblit v1.8.0