HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -1,10 +1,9 @@
using System;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using HDL_ON.DAL.Mqtt;
using HDL_ON.DAL.Net;
using HDL_ON.Entity;
using Newtonsoft.Json.Linq;
using Shared;
@@ -113,19 +112,16 @@
        {
            var requestJson = HttpUtil.GetSignRequestJson(new RefreshTokenObj()
            {
                refreshToken = UserInfo.Current.refreshToken,
                refreshToken = UserInfo.Current.RefreshToken,
            });
            var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Login, requestJson);
            if (revertObj.Code.ToUpper() == StateCode.SUCCESS)
            {
                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(revertObj.Data.ToString());
                 UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken;
                 UserInfo.Current.LastTime = DateTime.Now;
                 UserInfo.Current.SaveUserInfo();
                UserInfo.Current.refreshToken = revertData.refreshToken;
                UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken;
                UserInfo.Current.RefreshToken = revertData.refreshToken;
                UserInfo.Current.LastTime = DateTime.Now;
                UserInfo.Current.SaveUserInfo();
                return true;
            }
            return false;
@@ -464,7 +460,7 @@
        /// </summary>
        public string GetHomePager(HomeTypeEnum homeType = HomeTypeEnum.ALL)
        {
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetHomeListObj() { homeType = homeType.ToString() });
            var requestJson = HttpUtil.GetSignRequestJson(new GetHomeListObj() { homeType = homeType.ToString() });
            var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Gethomepager, requestJson);
            if (resultObj.Code == StateCode.SUCCESS)
            {
@@ -611,7 +607,7 @@
                requestObj.Address = editName;
            }
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Home_UpdateHome, requestJson);
        }
@@ -622,7 +618,7 @@
        {
            if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.residecenInfo.RegionID)) return;
            var nowhomeId = DB_ResidenceData.residenceData.residecenInfo.RegionID;
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeIdObj() { homeId = nowhomeId });
            var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = nowhomeId });
            var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetGatewayList, requestJson);
            if (revertObj.Code == StateCode.SUCCESS)
            {
@@ -661,7 +657,7 @@
        /// <returns></returns>
        public ResponsePackNew GetResidenceMemberAccount()
        {
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeIdObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID });
            var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID });
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_FindAll, requestJson);
        }
@@ -676,7 +672,7 @@
                childAccountId = subaccount.childAccountId,
                homeId = subaccount.homeId
            };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Delete, requestJson);
        }
@@ -688,7 +684,7 @@
        /// <returns></returns>
        public ResponsePackNew EditSubAccountNickName(string nickName, string childAccountId)
        {
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new UpdateChildNickNameObj()
            var requestJson = HttpUtil.GetSignRequestJson(new UpdateChildNickNameObj()
            {
                homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
                childAccountId = childAccountId,
@@ -705,7 +701,7 @@
        /// <returns></returns>
        public ResponsePackNew ChangeCreateSceneState(bool isAllow, string childAccountId)
        {
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new UpdateChildAllowCreateSceneObj()
            var requestJson = HttpUtil.GetSignRequestJson(new UpdateChildAllowCreateSceneObj()
            {
                homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
                childAccountId = childAccountId,
@@ -726,7 +722,7 @@
            //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d);
            //return RequestHttps($"{severAddress}/ZigbeeDataShare/GetShareDataBySubAccount", jsonString, true);
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeShareFindAll()
            var requestJson = HttpUtil.GetSignRequestJson(new HomeShareFindAll()
            {
                homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
                childAccountId = childAccountId
@@ -811,7 +807,7 @@
        /// <returns></returns>
        public ResponsePackNew DeleteShareData(ShareData shareData)
        {
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new ShareFileDownObj()
            var requestJson = HttpUtil.GetSignRequestJson(new ShareFileDownObj()
            {
                homeId = shareData.homeId,
                homeShareId = shareData.id
@@ -846,7 +842,7 @@
        {
            //添加子账号
            var requestObj = new ChildAddObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, account = subAccount, nickName = nickName };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Add, requestJson);
        }
@@ -893,7 +889,7 @@
        {
            try
            {
                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetMqttRemoteInfoObj()
                var requestJson = HttpUtil.GetSignRequestJson(new GetMqttRemoteInfoObj()
                {
                    attachClientId = attachClientId,
                    homeType = HomeTypeEnum.BUSPRO.ToString()
@@ -927,13 +923,16 @@
#if __IOS__
                deviceType = PhoneDeviceType.IOS.ToString();
#endif
                //是否生成模式
                //是否生产模式
                bool isProduce = true;
#if DEBUG
                isProduce = false;
#endif
                if (string.IsNullOrEmpty(OnAppConfig.Instance.PushDeviceToken)) return false;
                if (string.IsNullOrEmpty(OnAppConfig.Instance.PushDeviceToken)) {
                    Utlis.WriteLine("PushDeviceToken 为空");
                    return false;
                }
                var mAddpushinfoObj = new AddpushinfoObj()
                {
@@ -941,9 +940,10 @@
                    deviceName = OnAppConfig.Instance.PhoneName,
                    deviceType = deviceType,
                    produce = isProduce,
                };
                var mAddpushinfoJson = Newtonsoft.Json.JsonConvert.SerializeObject(mAddpushinfoObj);
                //var mAddpushinfoJson = HttpUtil.GetSignRequestJson(mAddpushinfoObj);
                var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_AddToken, mAddpushinfoJson);
                if (revertObj.Code == StateCode.SUCCESS)
                {
@@ -954,14 +954,15 @@
                        {
                            OnAppConfig.Instance.PushId = pushId;
                            OnAppConfig.Instance.SaveUserConfig();
                            return true;
                        }
                    }
                    Utlis.WriteLine("AddToken 成功");
                }
                else
                {
                    Utlis.WriteLine("AddToken 失败");
                    //Utlis.WriteLine("AddToken 失败");
                }
                return false;
            }
@@ -971,13 +972,14 @@
            }
        }
        /// <summary>
        /// 查询推送信息列表
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew PushSerivceGetpushmessagelist()
        public ResponsePackNew PushSerivceGetPushmessagelist()
        {
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetMessageListObj()
            var requestJson = HttpUtil.GetSignRequestJson(new GetMessageListObj()
            {
                pushId = OnAppConfig.Instance.PushId
            });
@@ -992,7 +994,7 @@
        {
            if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId)) return false;
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushIdObj()
            var requestJson = HttpUtil.GetSignRequestJson(new PushIdObj()
            {
                pushId = OnAppConfig.Instance.PushId
            });
@@ -1018,7 +1020,7 @@
            if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId)) return false;
            try
            {
                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushIdObj() {
                var requestJson = HttpUtil.GetSignRequestJson(new PushIdObj() {
                    pushId = OnAppConfig.Instance.PushId
                });
               
@@ -1050,7 +1052,7 @@
            try
            {
                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushIdObj()
                var requestJson = HttpUtil.GetSignRequestJson(new PushIdObj()
                {
                    pushId = OnAppConfig.Instance.PushId
                });
@@ -1082,7 +1084,7 @@
            try
            {
                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushMsgIdObj()
                var requestJson = HttpUtil.GetSignRequestJson(new PushMsgIdObj()
                {
                    msgId = msgId
                });
@@ -1115,7 +1117,7 @@
            try
            {
                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushMsgIdObj()
                var requestJson = HttpUtil.GetSignRequestJson(new PushMsgIdObj()
                {
                    msgId = msgId
                });
@@ -1136,6 +1138,47 @@
                return false;
            }
        }
        /// <summary>
        /// 注册推送
        /// </summary>
        public void RegisteredPush()
        {
            new System.Threading.Thread(() =>
            {
                var success = PushSerivceAddPushInfo();
                if (success)
                {
                    Utlis.WriteLine("推送注册成功");
                }
                else
                {
                    Utlis.WriteLine("推送注册失败");
                }
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// 注销推送
        /// </summary>
        public void SignOutPush()
        {
            new System.Threading.Thread(() =>
            {
                var success = PushSerivceSignOut();
                if (success)
                {
                    Utlis.WriteLine("推送注销成功");
                }
                else
                {
                    Utlis.WriteLine("推送注销失败");
                }
            })
            { IsBackground = true }.Start();
        }
        #endregion
        #region 检测更新
@@ -1152,7 +1195,7 @@
#if __IOS__
            requestObj.DeviceType = PhoneDeviceType.IOS.ToString();
#endif
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson);
        }
@@ -1169,7 +1212,7 @@
#if __IOS__
            requestObj.DeviceType = PhoneDeviceType.IOS.ToString();
#endif
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetAppVersion, requestJson);
        }
@@ -1242,52 +1285,6 @@
        #endregion
        #region mqtt远程连接(旧)
        /// <summary>
        /// 请求Mqtt数据
        /// </summary>
        /// <param name="dataStringJson">请求的参数.</param>
        public ResponsePack RequestMqttInfo(string dataStringJson)
        {
            ResponsePack revertObj = null;
            var webClient = new WebClient();
            #region
            webClient.Headers.Add("CONTENT-TYPE", "application/json");
            var url = "https://global.hdlcontrol.com/ProposedProductionApi/EmqMqtt/GetConnMqttInfo";
            byte[] bytes = null;
            try
            {
                bytes = webClient.UploadData(url, Encoding.UTF8.GetBytes(dataStringJson));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                revertObj = new ResponsePack() { StateCode = "Net_Error" };
            }
            string responseString = null;
            if (bytes != null)
            {
                responseString = Encoding.UTF8.GetString(bytes);
            }
            if (responseString != null)
            {
                try
                {
                    revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(responseString);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }
            return revertObj;
            #endregion
        }
        #endregion
        #region 备份部分
        ///// <summary>
@@ -1762,38 +1759,6 @@
        #endregion
        #region mqtt
        /// <summary>
        /// 获取MQTT远程连接信息接口
        /// </summary>
        public MqttInfo GetMqttRemoteInfo(string attachClientId)
        {
            try
            {
                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetMqttRemoteInfoObj()
                {
                    attachClientId = attachClientId,
                    homeType = HomeTypeEnum.BUSPRO.ToString()
                });
                var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetMqttRemoteInfo, requestJson, DB_ResidenceData.residenceData.residecenInfo.regionUrl);
                if (revertObj.Code == StateCode.SUCCESS)
                {
                    return Newtonsoft.Json.JsonConvert.DeserializeObject<MqttInfo>(revertObj.Data.ToString());
                }
                else
                {
                    Utlis.WriteLine("GetMqttRemoteInfo error");
                    return null;
                }
            }
            catch
            {
                return null;
            }
        }
        #endregion
    }
}
}