From a5ba89efa83d0a4afd0d25dbeba5989e4944b5b8 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 24 十一月 2020 18:57:56 +0800
Subject: [PATCH] 20201124;mqtt代码整理备份

---
 HDL_ON/Common/HDLCommon.cs |  405 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 277 insertions(+), 128 deletions(-)

diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index 95bf73c..0bd5640 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -2,30 +2,35 @@
 using Shared;
 using HDL_ON;
 using HDL_ON.UI.CSS;
+using HDL_ON.DAL.Server;
 
 namespace HDL_ON
 {
+    /// <summary>
+    /// HDLCommon
+    /// 鏆傛椂娌$敤
+    /// </summary>
     public class HDLCommon
     {
-		#region 鈻� 鍙橀噺澹版槑___________________________
-		/// <summary>
-		/// 閫氱敤鏂规硶
-		/// </summary>
-		private static HDLCommon m_Current = null;
-		/// <summary>
-		/// 閫氱敤鏂规硶
-		/// </summary>
-		public static HDLCommon Current
-		{
-			get
-			{
-				if (m_Current == null)
-				{
-					m_Current = new HDLCommon();
-				}
-				return m_Current;
-			}
-		}
+        #region 鈻� 鍙橀噺澹版槑___________________________
+        /// <summary>
+        /// 閫氱敤鏂规硶
+        /// </summary>
+        private static HDLCommon m_Current = null;
+        /// <summary>
+        /// 閫氱敤鏂规硶
+        /// </summary>
+        public static HDLCommon Current
+        {
+            get
+            {
+                if (m_Current == null)
+                {
+                    m_Current = new HDLCommon();
+                }
+                return m_Current;
+            }
+        }
         #endregion
 
         #region 鈻� Alter寮圭獥鎻愮ず_______________________
@@ -46,7 +51,8 @@
         public void ShowActionAlert(string mes, Action okAction)
         {
             Alert alert = new Alert("", mes, Language.StringByID(StringId.Cancel), Language.StringByID(StringId.Confirm));
-            alert.ResultEventHandler += (sender2, e2) => {
+            alert.ResultEventHandler += (sender2, e2) =>
+            {
                 if (e2)
                 {
                     okAction?.Invoke();
@@ -58,136 +64,279 @@
         #endregion
 
         #region 鈻� 閫氱敤Dialog_______________________
-        /// <summary>
-        /// 鍔犺浇鎻愮ずDialog
-        /// </summary>
-        /// <param name="titleId"></param>
-        /// <param name="msgId"></param>
-        /// <param name="callBackAction"></param>
-        void ShowConfirmDialogBase(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm)
-        {
-            Dialog dialog = new Dialog()
-            {
-                BackgroundColor = CSS_Color.DialogTransparentColor1,
-            };
 
-            FrameLayout contentView = new FrameLayout()
+        #endregion
+
+        #region 妫�娴嬫洿鏂�
+        /// <summary>
+        /// 妫�娴嬫洿鏂扮嚎绋�
+        /// </summary>
+        public void CheckIfNeedForceUpdate()
+        {
+            //            //return;
+            System.Threading.Tasks.Task.Run(() =>
+            {
+                try
+                {
+                    var requestObj = new ForceUpdateObj()
+                    {
+
+
+                    };
+#if Android
+                    requestObj.DeviceType = 1;
+#endif
+                    var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
+                    var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson);
+                    if (revertObj.Code == StateCode.SUCCESS)
+                    {
+                        var mForceUpdateInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ForceUpdateInfo>(revertObj.Data.ToString());
+                        if (mForceUpdateInfo != null)
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                ShowForceUpdateDialog(mForceUpdateInfo);
+                            });
+                        }
+                    }
+                    else
+                    {
+                        Utlis.WriteLine("璇锋眰澶辫触");
+                    }
+                }
+                catch (Exception ex)
+                {
+                    //Shared.Utlis.WriteLine (ex.ToString ());
+                }
+                finally
+                {
+
+                }
+
+            });
+
+
+            //ForceUpdateInfo mForceUpdateInfo = new ForceUpdateInfo () {
+            //    IsNeedForceUpdate = true,
+            //    AndroidUrl = "https://shouji.baidu.com/software/26667787.html",
+            //    AndroidUrl_En = "https://shouji.baidu.com/software/26667787.html",
+            //    IosUrl = "https://apps.apple.com/cn/app/hdl-on/id1029839624",
+            //    ReasonStr = "1.鍙戠幇鏂扮増鏈珹pp,褰撳墠鐗堟湰宸插仠鐢�,椹笂鏇存柊!\n2.璇蜂笅杞藉拰瀹夎鏂扮増鏈�!",
+            //    ReasonStr_En = "1. Discover the new version of the App, the current version is disabled, update now! \n2. Please download and install the new version!"
+            //};
+
+            //ShowForceUpdateDialog (mForceUpdateInfo);
+        }
+
+        /// <summary>
+        /// 鎻愮ず寮哄埗鏇存柊Dialog
+        /// 鐐瑰嚮纭璺宠浆娴忚鍣�
+        /// </summary>
+        public void ShowForceUpdateDialog(ForceUpdateInfo mForceUpdateInfo)
+        {
+
+            //if (!mForceUpdateInfo.IsNeedForceUpdate) return;
+
+            if (mForceUpdateInfo.UpdateType == 0) return;
+
+            if (mForceUpdateInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mForceUpdateInfo.NewVersion)) return;
+
+            Dialog dialog = new Dialog();
+
+            FrameLayout dialogBodyView = new FrameLayout()
             {
                 Gravity = Gravity.Center,
-                Width = Application.GetRealWidth(270),
-                Height = Application.GetRealHeight(140),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-                BorderColor = 0x00000000,
+                Width = Application.GetRealWidth(500),
+                Height = Application.GetRealHeight(500),
+                BackgroundColor = 0xFF000000,
+                Radius = (uint)Application.GetRealWidth(10),
+                //BorderColor = SkinStyle.Current.Transparent,
                 BorderWidth = 0,
-                Radius = (uint)Application.GetMinRealAverage(10),
             };
-            dialog.AddChidren(contentView);
+            dialog.AddChidren(dialogBodyView);
 
             Button btnTitle = new Button()
             {
-                Y = Application.GetRealHeight(16),
-                Height = Application.GetRealHeight(30),
-                TextColor = CSS_Color.MainColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
+                Height = Application.GetRealHeight(80),
+                BackgroundColor = 0x00000000,
                 TextAlignment = TextAlignment.Center,
-                IsBold = true,
-                TextID = titleId,
+                TextID = StringId.Tip,
+                TextColor = 0xFFFFFFFF
             };
-            contentView.AddChidren(btnTitle);
+            dialogBodyView.AddChidren(btnTitle);
 
-            Button btnMsg = new Button()
+
+            FrameLayout centerView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(80),
+                Height = Application.GetRealHeight(340),
+                BackgroundColor = 0xFFFFFFFF,
+            };
+            dialogBodyView.AddChidren(centerView);
+
+            Button btnMessage = new Button()
             {
                 Gravity = Gravity.CenterHorizontal,
-                Height = Application.GetRealHeight(25),
-                Y = btnTitle.Bottom,
-                Width = Application.GetRealHeight(200),
-                TextAlignment = TextAlignment.Center,
-                TextColor = CSS_Color.TextualColor,
-                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                TextID = msgId,
+                Y = Application.GetRealHeight(20),
+                Width = Application.GetRealWidth(400),
+                //Height = Application.GetRealHeight (300),
+                //Text = mForceUpdateInfo.ReasonStr,
+                TextAlignment = TextAlignment.TopLeft,
+                //TextColor = SkinStyle.Current.TextColor,
+                IsMoreLines = true
             };
-            contentView.AddChidren(btnMsg);
+            centerView.AddChidren(btnMessage);
 
-            Button btnLine = new Button()
-            {
-                Y = Application.GetRealHeight(96),
-                Height = Application.GetRealHeight(1),
-                Width = Application.GetRealWidth(270 / 2),
-                BackgroundColor = CSS_Color.DividingLineColor,
-            };
-            contentView.AddChidren(btnLine);
 
-            Button btnCancel = new Button()
+            FrameLayout bottomView = new FrameLayout()
             {
-                Y = btnLine.Bottom,
-                Width = Application.GetRealWidth(135),
-                Height = Application.GetRealHeight(43),
-                TextAlignment = TextAlignment.Center,
-                TextColor = CSS_Color.TextualColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = cancelID,
-            };
-            contentView.AddChidren(btnCancel);
+                Y = Application.GetRealHeight(420),
+                Height = Application.GetRealHeight(80),
+                BackgroundColor = 0xFFFFFFFF,
 
-            Button btnConfirm = new Button()
-            {
-                X = btnCancel.Right,
-                Y = btnLine.Y,
-                Width = Application.GetRealWidth(135),
-                Height = Application.GetRealHeight(45),
-                TextAlignment = TextAlignment.Center,
-                //TextColor = CSS_Color.TextualColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.MainBackgroundColor,
-                BackgroundColor = CSS_Color.MainColor,
-                TextID = confirmID,
             };
-            contentView.AddChidren(btnConfirm);
-            //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
-            int mRectCornerID = HDLUtils.RectCornerBottomRight;
-            btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
+            dialogBodyView.AddChidren(bottomView);
+
+            var mAndroidUrl = mForceUpdateInfo.AndroidUrl;
+            if (Language.CurrentLanguage == "Chinese")
+            {
+                btnMessage.Text = mForceUpdateInfo.ReasonStr;
+
+            }
+            else
+            {
+                btnMessage.Text = mForceUpdateInfo.ReasonStr_En;
+                mAndroidUrl = mForceUpdateInfo.AndroidUrl_En;
+            }
+
+
+            if (mForceUpdateInfo.UpdateType == 1)
+            {
+                #region 鎻愮ず鏇存柊
+                Button btnNext = new Button()
+                {
+                    Width = Application.GetRealWidth(249),
+                    TextID = StringId.Ignore,
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = 0xFFFFFFFF,
+                    BackgroundColor = 0xFF000000,
+                    //Text = "蹇界暐"
+                };
+                bottomView.AddChidren(btnNext);
+                btnNext.MouseUpEventHandler += (sender2, e2) =>
+                {
+                    //UserConfig.Instance.IfIgnoreUpdate = true;
+                    UserInfo.Current.IgnoreUpdateVersion = mForceUpdateInfo.NewVersion;
+                    UserInfo.Current.SaveUserInfo();
+                    dialog.Close();
+                };
+
+                Button btnSave = new Button()
+                {
+                    X = btnNext.Right + 1,
+                    Width = Application.GetRealWidth(250),
+                    TextID = StringId.Update,
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = 0xFFFFFFFF,
+                    BackgroundColor = 0xFF000000,
+                    //Text = "鏇存柊"
+                };
+                bottomView.AddChidren(btnSave);
+
+                btnSave.MouseUpEventHandler += (sender2, e2) =>
+                {
+                    dialog.Close();
+                    try
+                    {
+
+#if __IOS__
+                        HDLUtils.OpenUrl(mForceUpdateInfo.IosUrl);
+                        //UIApplication.SharedApplication.OpenUrl (new Foundation.NSUrl ("https://apps.apple.com/cn/app/hdl-on/id1029839624"));
+
+#elif Android
+                        HDLUtils.OpenUrl(mAndroidUrl);
+                        SharedMethod.SharedMethod.OpenUrl (mAndroidUrl);
+                    //SharedMethod.SharedMethod.OpenUrl ("https://shouji.baidu.com/software/26667787.html");
+
+#endif
+                    }
+                    catch
+                    {
+                        //璺宠浆涓嬭浇鍦板潃澶辫触
+                        Utlis.WriteLine("open url error");
+                    }
+                };
+
+                #endregion
+
+            }
+            else if (mForceUpdateInfo.UpdateType == 2)
+            {
+                #region 寮哄埗鏇存柊
+                Button btnSave = new Button()
+                {
+                    Width = Application.GetRealWidth(500),
+                    TextID = StringId.Confirm,
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = 0xFFFFFFFF,
+                    BackgroundColor = 0xFF000000,
+                };
+                bottomView.AddChidren(btnSave);
+
+                //var mAndroidUrl = mForceUpdateInfo.AndroidUrl;
+                //if (Language.CurrentLanguage == "Chinese") {
+                //    btnMessage.Text = mForceUpdateInfo.ReasonStr;
+
+                //} else {
+                //    btnMessage.Text = mForceUpdateInfo.ReasonStr_En;
+                //    mAndroidUrl = mForceUpdateInfo.AndroidUrl_En;
+                //}
+
+                btnSave.MouseUpEventHandler += (sender2, e2) =>
+                {
+                    try
+                    {
+
+#if __IOS__
+                        HDLUtils.OpenUrl(mForceUpdateInfo.IosUrl);
+                        //UIApplication.SharedApplication.OpenUrl (new Foundation.NSUrl ("https://apps.apple.com/cn/app/hdl-on/id1029839624"));
+
+#elif Android
+                    HDLUtils.OpenUrl(mAndroidUrl);
+                    //SharedMethod.SharedMethod.OpenUrl ("https://shouji.baidu.com/software/26667787.html");
+
+#endif
+                    }
+                    catch
+                    {
+                        //璺宠浆涓嬭浇鍦板潃澶辫触
+                        Utlis.WriteLine("open url error");
+                    }
+                };
+                #endregion
+            }
+            else
+            {
+                #region 鎻愮ず閫氱煡
+                Button btnSave = new Button()
+                {
+                    Width = Application.GetRealWidth(500),
+                    TextID = StringId.Close,
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = 0xFFFFFFFF,
+                    BackgroundColor = 0xFF000000,
+                };
+                bottomView.AddChidren(btnSave);
+
+                btnSave.MouseUpEventHandler += (sender2, e2) =>
+                {
+                    dialog.Close();
+                };
+                #endregion
+            }
             dialog.Show();
-            btnCancel.MouseUpEventHandler += (sender, e) =>
-            {
-                dialog.Close();
-                cancelAction?.Invoke();
-            };
-         
-            btnConfirm.MouseUpEventHandler += (sender, e) =>
-            {
-                dialog.Close();
-                okAction?.Invoke();
-            };
 
-        }
-
-        /// <summary>
-        /// 鍔犺浇鎻愮ずDialog
-        /// </summary>
-        /// <param name="titleId"></param>
-        /// <param name="msgId"></param>
-        /// <param name="callBackAction"></param>
-        public void ShowConfirmDialog(int titleId, int msgId, Action okAction, Action cancelAction = null)
-        {
-            ShowConfirmDialogBase(titleId, msgId, okAction, cancelAction);
-        }
-
-        /// <summary>
-        /// 鍔犺浇鎻愮ずDialog
-        /// 鍙互鑷畾涔夋寜閽枃瀛�
-        /// </summary>
-        /// <param name="titleId"></param>
-        /// <param name="msgId"></param>
-        /// <param name="okAction"></param>
-        /// <param name="cancelAction"></param>
-        /// <param name="cancelID"></param>
-        /// <param name="confirmID"></param>
-        public void ShowConfirmDialog(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID, int confirmID)
-        {
-            ShowConfirmDialogBase(titleId, msgId, okAction, cancelAction, cancelID, confirmID);
         }
         #endregion
-
-
     }
 }

--
Gitblit v1.8.0