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