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