From a7e8f9ea1b9d0b9c8e9c09a8101e65c59a475465 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期四, 09 七月 2020 17:07:31 +0800 Subject: [PATCH] 2020-07-09-01 --- ZigbeeApp/Home.Ios/AppDelegate.cs | 163 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 125 insertions(+), 38 deletions(-) diff --git a/ZigbeeApp/Home.Ios/AppDelegate.cs b/ZigbeeApp/Home.Ios/AppDelegate.cs index 0e8b0ca..ee2740e 100644 --- a/ZigbeeApp/Home.Ios/AppDelegate.cs +++ b/ZigbeeApp/Home.Ios/AppDelegate.cs @@ -23,6 +23,7 @@ internal static UINavigationController rootViewController; + public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { Shared.Application.IsGpsEnable = false; @@ -36,7 +37,7 @@ Window.MakeKeyAndVisible(); Shared.IOS.TBL.WXApi.RegisterApp("wx2ec8f53f6fa36e82", "https://hdlcontrol.com/ZigbeeApp/"); - + Console.WriteLine("FinishedLaunching"); DeviceTokenAction += (deviceToken) => { Shared.Common.Config.Instance.RegistrationID = deviceToken; @@ -53,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; + } + } + } } - } + + } } @@ -89,6 +106,7 @@ } public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler) { + Console.WriteLine("DidReceiveRemoteNotification"); if (userInfo == null) { return; @@ -100,25 +118,41 @@ 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.uHadBeenLoginAndOffLine); + string signOut = hiddenJsonDic["Offline"].ToString(); + + if (signOut == "0") + { + //涓嶄笅绾� + } + else + { + //寮哄埗涓嬬嚎 + CommonPage.Instance.SingOut(); + CommonPage.Instance.ShowErrorInfoAlert(Shared.R.MyInternationalizationString.uHadBeenLoginAndOffLine); + } } } } @@ -128,24 +162,39 @@ 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; + } } } } @@ -153,6 +202,44 @@ } 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) { -- Gitblit v1.8.0