From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Home.Ios/AppDelegate.cs | 191 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 148 insertions(+), 43 deletions(-) diff --git a/ZigbeeApp/Home.Ios/AppDelegate.cs b/ZigbeeApp/Home.Ios/AppDelegate.cs old mode 100755 new mode 100644 index d9396e2..964d407 --- a/ZigbeeApp/Home.Ios/AppDelegate.cs +++ b/ZigbeeApp/Home.Ios/AppDelegate.cs @@ -23,17 +23,21 @@ internal static UINavigationController rootViewController; + public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { - //base.FinishedLaunching(application, launchOptions); + Shared.Application.IsGpsEnable = false; + Shared.Application.IsMusicEnable = false; + base.FinishedLaunching(application, launchOptions); Shared.Application.FontSize = 12; + Shared.Application.IsUsePingFang = true; Window = new UIWindow(UIScreen.MainScreen.Bounds); rootViewController = new UINavigationController(new GateWay.Ios.MainViewController()) { NavigationBarHidden = true }; Window.RootViewController = rootViewController; Window.MakeKeyAndVisible(); Shared.IOS.TBL.WXApi.RegisterApp("wx2ec8f53f6fa36e82", "https://hdlcontrol.com/ZigbeeApp/"); - + Console.WriteLine("FinishedLaunching"); DeviceTokenAction += (deviceToken) => { Shared.Common.Config.Instance.RegistrationID = deviceToken; @@ -50,26 +54,42 @@ NSString key_hiddenJson = new NSString("HiddenJson"); if (userInfo.ContainsKey(key_hiddenJson)) { - NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; - if (hiddenJsonDic != null) + var hiddenJson = userInfo["HiddenJson"].ToString(); + if (!string.IsNullOrEmpty(hiddenJson)) { - NSString key_Offline = new NSString("Offline"); - if (hiddenJsonDic.ContainsKey(key_Offline)) + if (hiddenJson.Contains("cmtID")) { - string signOut = hiddenJsonDic["Offline"].ToString(); + + ///鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹� + // VideoMethod(hiddenJson); + } + else + { - if (signOut == "0") + NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; + if (hiddenJsonDic != null) { - //涓嶄笅绾� - } - else - { - //鏍囪涓嬬嚎 - haveToSignOut = true; + NSString key_Offline = new NSString("Offline"); + if (hiddenJsonDic.ContainsKey(key_Offline)) + { + string signOut = hiddenJsonDic["Offline"].ToString(); + + if (signOut == "0") + { + //涓嶄笅绾� + } + else + { + //鏍囪涓嬬嚎 + haveToSignOut = true; + } + } + } } - } + + } } @@ -86,36 +106,53 @@ } public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler) { + Console.WriteLine("DidReceiveRemoteNotification"); if (userInfo == null) { return; } Console.WriteLine(userInfo); - if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background) + if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background)// { NSString key_hiddenJson = new NSString("HiddenJson"); if (userInfo.ContainsKey(key_hiddenJson)) { - NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; - if (hiddenJsonDic == null) + var hiddenJson = userInfo["HiddenJson"].ToString(); + if (string.IsNullOrEmpty(hiddenJson)) { return; } - NSString key_Offline = new NSString("Offline"); - if (hiddenJsonDic.ContainsKey(key_Offline)) - { - string signOut = hiddenJsonDic["Offline"].ToString(); - if (signOut == "0") + if (hiddenJson.Contains("cmtID")) + { + + ///鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹� + VideoMethod(hiddenJson); + } + else + { + + NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; + if (hiddenJsonDic == null) { - //涓嶄笅绾� + return; } - else + NSString key_Offline = new NSString("Offline"); + if (hiddenJsonDic.ContainsKey(key_Offline)) { - //寮哄埗涓嬬嚎 - CommonPage.Instance.SingOut(); - CommonPage.Instance.ShowErrorInfoAlert(Shared.R.MyInternationalizationString.YouHaveBeenSignOut); + string signOut = hiddenJsonDic["Offline"].ToString(); + + if (signOut == "0") + { + //涓嶄笅绾� + } + else + { + //寮哄埗涓嬬嚎 + CommonPage.Instance.SingOut(); + CommonPage.Instance.ShowErrorInfoAlert(Shared.R.MyInternationalizationString.uHadBeenLoginAndOffLine); + } } } } @@ -125,30 +162,82 @@ NSString key_hiddenJson = new NSString("HiddenJson"); if (userInfo.ContainsKey(key_hiddenJson)) { - NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; - if (hiddenJsonDic == null) - { + + var hiddenJson = userInfo["HiddenJson"].ToString(); + if (string.IsNullOrEmpty(hiddenJson)) { return; } - NSString key_Offline = new NSString("Offline"); - if (hiddenJsonDic.ContainsKey(key_Offline)) - { - string signOut = hiddenJsonDic["Offline"].ToString(); - if (signOut == "0") + if (hiddenJson.Contains("cmtID")) + { + ///鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹� + VideoMethod(hiddenJson); + } + else + { + + NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; + if (hiddenJsonDic == null) { - //涓嶄笅绾� + return; } - else + NSString key_Offline = new NSString("Offline"); + if (hiddenJsonDic.ContainsKey(key_Offline)) { - //鏍囪涓嬬嚎 - haveToSignOut = true; + string signOut = hiddenJsonDic["Offline"].ToString(); + + if (signOut == "0") + { + //涓嶄笅绾� + } + else + { + //鏍囪涓嬬嚎 + haveToSignOut = true; + } } } } } completionHandler(UIBackgroundFetchResult.NewData); + } + /// <summary> + /// ios閫氱煡鏍忕偣鍑绘墦寮�鍙瀵硅鐨勬柟娉� + /// </summary> + /// <param name="hiddenJson">浜戠鎺ㄨ繃鏉ョ殑鏁版嵁</param> + private void VideoMethod(string hiddenJson) + { + + var json = Newtonsoft.Json.Linq.JObject.Parse(hiddenJson); + if (json == null) + { + return; + } + GateWay.Ios.ESVideoInfo eSVideoInfo = new GateWay.Ios.ESVideoInfo(); + if (json["uuid"].ToString().Contains(",")) + { + var uuid = json["uuid"].ToString().Split(','); + eSVideoInfo.ESVideoUUID = uuid[0]; + } + else + { + eSVideoInfo.ESVideoUUID = json["uuid"].ToString(); + } + + eSVideoInfo.DeviceName = Language.StringByID(Shared.R.MyInternationalizationString.theOutdoorUnit); + eSVideoInfo.ESRoomID = int.Parse(json["roomno"].ToString()); + if (!string.IsNullOrEmpty(json["unitno"].ToString())) + { + string str = json["unitno"].ToString(); + string str1 = str.Substring(0, 2).TrimStart('0'); + string str2 = str.Substring(2, 2).TrimStart('0'); + eSVideoInfo.RoomName = str1 + Language.StringByID(Shared.R.MyInternationalizationString.dong) + str2 + Language.StringByID(Shared.R.MyInternationalizationString.unit); + } + GateWay.Ios.ESVideo.ShowESvideoVideoIntercom(eSVideoInfo); + + //var url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/VideoIntercom/Answer"; + //var dd=await Shared.Phone.Device.Logic.Send.HttpWebRequest(url, json.ToString(), "POST", 3, true); } public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo) @@ -205,7 +294,7 @@ { //寮哄埗涓嬬嚎 CommonPage.Instance.SingOut(); - CommonPage.Instance.ShowErrorInfoAlert(Shared.R.MyInternationalizationString.YouHaveBeenSignOut); + CommonPage.Instance.ShowErrorInfoAlert(Shared.R.MyInternationalizationString.uHadBeenLoginAndOffLine); } //妫�鏌ヨ繛鎺ヨ繙绋� //浠g爜 @@ -273,11 +362,27 @@ public static class QRCode { static ZXing.Mobile.MobileBarcodeScanner scanner; - public static async System.Threading.Tasks.Task ScanQRcode(Action<string> action, string topText = "", string bottomText = "", string cancel = "Cancel") + public static async System.Threading.Tasks.Task ScanQRcode(Action<string> action, string cancel = "鍙栨秷", string flashText = "闂厜鐏�", string titleText = "浜岀淮鐮佹壂鎻�") { if (scanner == null) { - scanner = new ZXing.Mobile.MobileBarcodeScanner(Home.IOS.AppDelegate.rootViewController) { FlashButtonText = "", TopText = topText, BottomText = bottomText, CancelButtonText = cancel }; + var mZXingOverlayView = new Home.IOS.ZXingOverlayView(cancel, flashText, titleText); + scanner = new ZXing.Mobile.MobileBarcodeScanner(Home.IOS.AppDelegate.rootViewController) { FlashButtonText = flashText, TopText = titleText, BottomText = "", CancelButtonText = cancel }; + scanner.UseCustomOverlay = true; + + scanner.CustomOverlay = mZXingOverlayView; + var bOn = false; + mZXingOverlayView.OnCancel += () => { + + scanner?.Cancel(); + }; + + mZXingOverlayView.OnTorch += () => + { + bOn = !bOn; + scanner?.Torch(bOn); + }; + } var result = await scanner.Scan(); -- Gitblit v1.8.0