mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/DAL/Server/HttpUtil.cs
@@ -6,6 +6,7 @@
using System.Text;
using HDL_ON.Entity;
using RestSharp;
using Shared;
namespace HDL_ON.DAL.Server
{
@@ -18,7 +19,18 @@
        /// 公共域名就近解析
        /// </summary>
        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
        public const string APP_KEY = "HDL-HOME-APP";
        public const string SECRET_KEY = "CPL345bn28gHnvi9G4tYbq3cTYkiHC";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
        //public const string APP_KEY = "HDL-HOME-APP-TEST";
        //public const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
        //public const string GlobalRequestHttpsHost = "http://59.41.255.150:7777";//mmmm
        //const string APP_KEY = "CPEVRLRT";
        //const string SECRET_KEY = "CPEVRLSJCPEVRLSZ";
        /// <summary>
        /// RegionMark
        /// </summary>
@@ -26,7 +38,7 @@
        /// <summary>
        /// 请求超时时间
        /// </summary>
        public const int TIME_OUT = 15;
        public const int TIME_OUT = 10;
        /// <summary>
        /// 特殊接口请求超时时间
        /// </summary>
@@ -39,7 +51,6 @@
        #endregion
        #region **********网络请求封装**********
        /// <summary>
        ///  Get  请求服务器方法
        /// </summary>
@@ -149,7 +160,12 @@
            if(MainPage.NoLoginMode)
            {
                return new ResponsePackNew() { Code = "0" };
                return new ResponsePackNew() { Code = "0" ,Data = "" };
            }
            if (!Common.ApiUtlis.Ins.hadInternet)
            {
                MainPage.Log("没有外网,直接退出请求");
                return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR, message = Language.StringByID(StringId.FailedRequestServer) };
            }
            #region HttpWebRequest
            try
@@ -167,6 +183,7 @@
                RestRequest request = new RestRequest(method);
                request.Timeout = mTimeout * 1000;
                request.AddHeader("content-type", "application/json");
                request.AddHeader("language", Language.CurrentLanguage == "Chinese" ? "cn" : "en");//增加语言标识 wxr 2023-03-22 17:03:34
                if (string.IsNullOrEmpty(replaceToken))
                {
@@ -179,6 +196,7 @@
                {
                    request.AddHeader("Authorization", replaceToken); 
                }
           
                if (bodyParameterJson != null)
                {
@@ -200,8 +218,13 @@
                        request.AddUrlSegment(data.Key, data.Value.ToString());
                    }
                }
                IRestResponse response = client.Execute(request);
                MainPage.Log("发送:"+ requestFullUrl, response.Request.Body?.Value.ToString());
                if(apiPath == NewAPI.API_POST_Login)
                {
                    var ddd = Newtonsoft.Json.JsonConvert.SerializeObject(response);
                    //Console.WriteLine(ddd);
                }
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    try
@@ -219,7 +242,7 @@
                            revertObj.Data = "";
                        }
                        //*****一些判空处理*****************
                        HDL_ON.Utlis.WriteLine("接收", requestFullUrl, response.Content);
                        return revertObj;
                    }
                    catch (Exception ex)
@@ -230,15 +253,27 @@
                }
                else
                {
                    HDL_ON.Utlis.WriteLine(response.Content);
                    return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR };
                    HDL_ON.Utlis.WriteLine($"接口异常:{requestFullUrl} \r\n"+response.Content);
                    if(response.Content!= null)
                    {
                        try
                        {
                            var pack = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(response.Content);
                            if (pack != null)
                            {
                                return pack;
                            }
                        }
                        catch { }
                    }
                    return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR, message = Language.StringByID(StringId.FailedRequestServer) };
                }
            }
            catch (Exception ex)
            {
                HDL_ON.Utlis.WriteLine(ex.Message);
                return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR };
                return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR ,message = Language.StringByID(StringId.FailedRequestServer) };
            }
            #endregion
@@ -282,7 +317,7 @@
        /// 刷新  Token
        /// </summary>
        /// <returns></returns>
        static bool RefreshToken()
        static bool RefreshToken(bool canRefresh = true)
        {
            try
            {
@@ -295,15 +330,16 @@
                {
                    var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(revertObj.Data.ToString());
                    UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken;
                    UserInfo.Current.AccessToken = revertData.accessToken;
                    UserInfo.Current.RefreshToken = revertData.refreshToken;
                    UserInfo.Current.LastTime = DateTime.Now;
                    UserInfo.Current.SaveUserInfo();
                    return true;
#if __IOS__
                    var sdm = new SiriKit.SceneDateManager();
                    sdm.AccessToken = UserInfo.Current.LoginTokenString;
                    sdm.RefreshToken = UserInfo.Current.RefreshToken;
#endif
                    return true;
                }
                else if (revertObj.Code == StateCode.PasswrodError)
                {
@@ -472,14 +508,14 @@
                else
                {
                    HDL_ON.Utlis.WriteLine(response.Content);
                    return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR };
                    return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR, message = Language.StringByID(StringId.FailedRequestServer) };
                }
            }
            catch (Exception ex)
            {
                HDL_ON.Utlis.WriteLine(ex.Message);
                return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR };
                return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR, message = Language.StringByID(StringId.FailedRequestServer) };
            }
            #endregion
@@ -517,17 +553,9 @@
        }
        #endregion
#endregion
        #region **********签名校验**********
        /// <summary>
        ///
        /// </summary>
        const string APP_KEY = "HDL-HOME-APP-TEST";
        /// <summary>
        ///
        /// </summary>
        const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
        /// <summary>
        /// 获取当前时间戳值