From 026ed1573ad8b9ba28f0e2c0bf0c9cd85f1dd2ed Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 02 十二月 2020 16:32:00 +0800
Subject: [PATCH] 2020-12-02 1.增加子账号设备分享。 2.房间删除时间优化。3.消息中心接口对接。4.版本检测更新接口对接。

---
 HDL_ON/Common/HDLCommon.cs |  107 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 74 insertions(+), 33 deletions(-)

diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index df996d7..d947849 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -78,24 +78,43 @@
             {
                 try
                 {
-                    var requestObj = new ForceUpdateObj()
-                    {
-                        LanguageType = Utlis.GetPostLanguageType()
-                    };
-#if __IOS__
-                    requestObj.DeviceType = PhoneDeviceType.IOS.ToString();
-#endif
-                    var requestJson = HttpUtil.GetSignRequestJson(requestObj);
-                    var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson);
+                    var revertObj = new HttpServerRequest().CheckAppVersion();
                     if (revertObj.Code == StateCode.SUCCESS)
                     {
-                        var mForceUpdateInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ForceUpdateInfo>(revertObj.Data.ToString());
-                        if (mForceUpdateInfo != null)
+                        if (revertObj.Data != null)
                         {
-                            Application.RunOnMainThread(() =>
+                            var appVersionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionRes>(revertObj.Data.ToString());
+                            if (appVersionRes != null)
                             {
-                                ShowForceUpdateDialog(mForceUpdateInfo);
-                            });
+
+                                var mForceUpdateInfo = new UpdateDialogInfo()
+                                {
+                                    UpdateType = appVersionRes.isEnforce ? 2 : 1,
+                                    NewVersion = appVersionRes.version,
+                                    NewVersionUrl = appVersionRes.androidUrl
+                                };
+#if __IOS__
+                                mForceUpdateInfo.NewVersionUrl = appVersionRes.iosUrl;
+#endif
+                                //瑙f瀽鏇存柊鍐呭璇︽儏
+                                var reasonStrJson = GetReasonStrJson(appVersionRes.updateDescription);
+                                if (reasonStrJson != null)
+                                {
+                                    if (Language.CurrentLanguage == "Chinese")
+                                    {
+                                        mForceUpdateInfo.ReasonStr = reasonStrJson.Chinese;
+                                    }
+                                    else
+                                    {
+                                        mForceUpdateInfo.ReasonStr = reasonStrJson.English;
+                                    }
+                                }
+
+                                Application.RunOnMainThread(() =>
+                                {
+                                    ShowForceUpdateDialog(mForceUpdateInfo);
+                                });
+                            }
                         }
                     }
                     else
@@ -117,65 +136,87 @@
         }
 
         /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="jsonStr"></param>
+        /// <returns></returns>
+        public ReasonStrJson GetReasonStrJson(string jsonStr)
+        {
+            try
+            {
+                if (!string.IsNullOrEmpty(jsonStr))
+                {
+                    return Newtonsoft.Json.JsonConvert.DeserializeObject<ReasonStrJson>(jsonStr);
+                }
+                return null;
+            }
+            catch
+            {
+                return null;
+            }
+        }
+
+        /// <summary>
         /// 鎻愮ず寮哄埗鏇存柊Dialog
         /// 鐐瑰嚮纭璺宠浆娴忚鍣�
         /// </summary>
-        public void ShowForceUpdateDialog(ForceUpdateInfo mForceUpdateInfo)
+        public void ShowForceUpdateDialog(UpdateDialogInfo mUpdateDialogInfo)
         {
             // 1.1 娌℃湁鏇存柊 杩斿洖
-            if (mForceUpdateInfo.UpdateType == 0) return;
+            if (mUpdateDialogInfo.UpdateType == 0) return;
             // 1.2 鏈夋柊鐗堟湰浣嗘槸蹇界暐杩� 杩斿洖
-            if (mForceUpdateInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mForceUpdateInfo.NewVersion)) return;
+            if (mUpdateDialogInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return;
             // 2.1 鏈夋柊鐗堟湰娌℃湁蹇界暐杩� 鎻愮ず鏇存柊
-            if (mForceUpdateInfo.UpdateType == 1)
+            if (mUpdateDialogInfo.UpdateType == 1)
             {
                 Action okAction = () =>
                 {
-                    if (string.IsNullOrEmpty(mForceUpdateInfo.NewVersionUrl)) return;
+                    if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl)) return;
 
-                    HDLUtils.OpenUrl(mForceUpdateInfo.NewVersionUrl);
+                    HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl);
                 };
 
                 Action cancelAction = () =>
                 {
-                    //UserInfo.Current.IgnoreUpdateVersion = mForceUpdateInfo.NewVersion;
-                    //UserInfo.Current.SaveUserInfo();
+                    UserInfo.Current.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion;
+                    UserInfo.Current.SaveUserInfo();
                 };
 
                 //1鎻愮ず鏇存柊
-                var dialog =  new UpdateTipDialog();
-                var tipStr = Language.StringByID(StringId.VersionNumber) + mForceUpdateInfo.NewVersion;
-                dialog.ShowUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mForceUpdateInfo.ReasonStr, okAction, cancelAction);
+                var dialog = new UpdateTipDialog();
+                var tipStr = Language.StringByID(StringId.VersionNumber) + mUpdateDialogInfo.NewVersion;
+                dialog.ShowUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mUpdateDialogInfo.ReasonStr, okAction, cancelAction);
 
             }
-            else if (mForceUpdateInfo.UpdateType == 2) //2.2 闇�瑕佸己鍒舵洿鏂�
+            else if (mUpdateDialogInfo.UpdateType == 2) //2.2 闇�瑕佸己鍒舵洿鏂�
             {
                 //2寮哄埗鏇存柊
                 //"1.鍙戠幇鏂扮増鏈珹pp,褰撳墠鐗堟湰宸插仠鐢�,椹笂鏇存柊!\n2.璇蜂笅杞藉拰瀹夎鏂扮増鏈�!....."
                 Action okAction = () =>
                 {
-                    if (string.IsNullOrEmpty(mForceUpdateInfo.NewVersionUrl)) {
+                    if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl))
+                    {
                         Utlis.ShowTip(Language.StringByID(StringId.DataExceptionPleaseTryAgain));
                         return;
                     };
 
-                    HDLUtils.OpenUrl(mForceUpdateInfo.NewVersionUrl);
+                    HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl);
                 };
-               
+
                 //1鎻愮ず鏇存柊
                 var dialog = new UpdateTipDialog();
-                var tipStr = Language.StringByID(StringId.VersionNumber) + mForceUpdateInfo.NewVersion;
-                dialog.ShowForcedUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mForceUpdateInfo.ReasonStr, okAction);
+                var tipStr = Language.StringByID(StringId.VersionNumber) + mUpdateDialogInfo.NewVersion;
+                dialog.ShowForcedUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mUpdateDialogInfo.ReasonStr, okAction);
             }
             else //3. 鍙渶鎻愮ず
             {
                 //3鎻愮ず閫氱煡
                 Action okAction = () =>
                 {
-                   
+
                 };
                 var dialog = new UpdateTipDialog();
-                dialog.ShowTipDialog(Language.StringByID(StringId.Tip), mForceUpdateInfo.ReasonStr, okAction);
+                dialog.ShowTipDialog(Language.StringByID(StringId.Tip), mUpdateDialogInfo.ReasonStr, okAction);
             }
         }
 

--
Gitblit v1.8.0