xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -1004,7 +1004,15 @@
                    deviceName = OnAppConfig.Instance.PhoneName,
                    deviceType = deviceType,
                    produce = isProduce,
                };
                mAddpushinfoObj.languageType = Utlis.GetPostLanguageType();
#if DEBUG
                //List<string> communityCodes = new List<string>();
                //communityCodes.Add("");
                //mAddpushinfoObj.communityCodes = communityCodes;
#endif
                //var mAddpushinfoJson = Newtonsoft.Json.JsonConvert.SerializeObject(mAddpushinfoObj);
                var mAddpushinfoJson = HttpUtil.GetSignRequestJson(mAddpushinfoObj);
@@ -1041,7 +1049,7 @@
        /// <summary>
        /// 查询推送信息列表
        /// </summary>
        /// <param name="queryType">0全部 1分享与功能 2报警类 3系统信息</param>
        /// <param name="queryType">0全部 1分享与功能 2报警类 3系统信息 4物业通知</param>
        /// <returns></returns>
        public ResponsePackNew PushSerivceGetPushmessagelist(int queryType = 0)
        {
@@ -1059,14 +1067,18 @@
            {
                pushType = PushType.Prompt.ToString();
            }
            else if (queryType == 4)
            {
                pushType = PushType.Notice.ToString();
            }
            var requestJson = HttpUtil.GetSignRequestJson(new GetMessageListObj()
            {
                pushId = OnAppConfig.Instance.PushId,
                pushType = pushType,
                homeId = DB_ResidenceData.Instance.CurrentRegion.id,
            });
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_Getpushmessagelist, requestJson);
            //2021-08-28 改为分页查询
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_Getpushmessagelist_Paging, requestJson);
        }
        /// <summary>
@@ -1194,16 +1206,13 @@
        /// </summary>
        /// <param name="msgId"></param>
        /// <returns></returns>
        public bool PushSerivceDeleteMessage(string msgId)
        public bool PushSerivceDeleteMessage(PushMsgIdObj mPushMsgIdObj)
        {
            if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId)) return false;
            if (mPushMsgIdObj == null) return false;
            try
            {
                var requestJson = HttpUtil.GetSignRequestJson(new PushMsgIdObj()
                {
                    msgId = msgId
                });
                var requestJson = HttpUtil.GetSignRequestJson(mPushMsgIdObj);
                var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_Deletepushinfo, requestJson);
                if (revertObj.Code == StateCode.SUCCESS)
@@ -1262,6 +1271,18 @@
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// 获取物业公告详情
        /// </summary>
        /// <param name="noticeId"></param>
        /// <returns></returns>
        public ResponsePackNew GetPropertyNoticeDetails(string noticeId)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("noticeId", noticeId);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_GetNoticeInfo, requestJson);
        }
        #endregion
        #region 检测更新
@@ -1282,13 +1303,13 @@
        #endregion
#endregion
        #region 获取天气部分
#region 获取天气部分
        /// <summary>
        /// 获取指定经纬度的城市信息
        /// 获取指定经纬度的城市信息天气信息
        /// </summary>
        public void GetCityInfo(string lon, string lat)
        public void GetCityWeatherInfo(string lon, string lat)
        {
            System.Threading.Tasks.Task.Run(() =>
            {
@@ -1351,11 +1372,64 @@
                });
            });
        }
        ///// <summary>
        ///// 获取指定经纬度的城市信息
        ///// </summary>
        ///// <param name="lon"></param>
        ///// <param name="lat"></param>
        //public void GetCityInfo()
        //{
        //    if (DB_ResidenceData.Instance.CurrentRegion.longitude == 0 && DB_ResidenceData.Instance.CurrentRegion.latitude == 0)
        //    {
        //        return;
        //    }
        //    string lon = DB_ResidenceData.Instance.CurrentRegion.longitude.ToString();
        //    string lat = DB_ResidenceData.Instance.CurrentRegion.latitude.ToString();
        //    System.Threading.Tasks.Task.Run(() =>
        //    {
        //        while (true)
        //        {
        //            var webClient = new WebClient();
        //            string url = $"https://developer.hdlcontrol.com/Weather/Weather/FindCity/?lon={lon}&lat={lat}";
        //            string responseString = null;
        //            try
        //            {
        //                responseString = Encoding.UTF8.GetString(webClient.DownloadData(url));
        //            }
        //            catch (Exception ex)
        //            {
        //                MainPage.Log(ex.Message);
        //            }
        #endregion
        //            if (responseString != null)
        //            {
        //                try
        //                {
        //                    var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(responseString);
        //                    JObject jt = Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(revertObj.ResponseData.ToString());
        //                    DB_ResidenceData.cityInfo.location = jt.GetValue("Location").ToString();
        //                    DB_ResidenceData.cityInfo.province = jt.GetValue("Province").ToString();
        //                    DB_ResidenceData.cityInfo.country = jt.GetValue("Country").ToString();
        //                    DB_ResidenceData.cityInfo.timeZone = jt.GetValue("TimeZone").ToString();
        //                    DB_ResidenceData.Instance.SaveResidenceData();
        //                    return;
        //                }
        //                catch (Exception ex)
        //                {
        //                    MainPage.Log($"get weather error : {ex.Message}");
        //                }
        //            }
        //        }
        //    });
        //}
        #region 备份部分
#endregion
#region 备份部分
        ///// <summary>
        ///// 获取住宅备份列表
        ///// </summary>
@@ -1401,11 +1475,11 @@
                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(d);
                var revertObj = RequestHttps("https://developer.hdlcontrol.com/api/UserBackupList", requestJson, true);
                var jt = Newtonsoft.Json.JsonConvert.DeserializeObject<List<JObject>>(revertObj.ResponseData.ToString());
                #region 恢复房间数据
#region 恢复房间数据
                GetBackupRoom(jt,loading);
                #endregion
#endregion
               
                Application.RunOnMainThread(() => {
                    loading.Hide();
@@ -1826,10 +1900,10 @@
        }
        */
        #endregion
#endregion
        #region Kaede --设备功能——————————————————————————————————
#region Kaede --设备功能——————————————————————————————————
        /// <summary>
        /// 获取设备列表
        /// </summary>
@@ -1890,13 +1964,15 @@
        /// <param name="productPlatform"></param>
        /// <param name="productBrand"></param>
        /// <returns></returns>
        public ResponsePackNew IndependentRegister3TyDevcie(string spk,string extDevId,string deviceName)
        public ResponsePackNew IndependentRegister3TyDevcie(string spk,string extDevId,string deviceName,string pairCode = "")
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("spk", spk);
            d.Add("extDevId", extDevId);
            d.Add("name", deviceName);
            d.Add("code", pairCode);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_IndependentRegister3TyDevcie, requestJson);
@@ -2059,9 +2135,9 @@
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectDevice, requestJson);
        }
        #endregion
#endregion
        #region Kaede --场景功能--------------------------
#region Kaede --场景功能--------------------------
        /// <summary>
        /// 获取场景列表
        /// 房间ID可空,默认查询住宅下所有房间
@@ -2193,9 +2269,9 @@
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectScene, requestJson).Code;
        }
        #endregion
#endregion
        #region Kaede --房间功能--------------------------
#region Kaede --房间功能--------------------------
        /// <summary>
        /// 获取房间列表
        /// </summary>
@@ -2270,10 +2346,10 @@
            return pack;
        }
        #endregion
#endregion
        #region Kaede -- 安防接口____________________________
#region Kaede -- 安防接口____________________________
        /// <summary>
        /// 获取安防列表
        /// </summary>
@@ -2375,6 +2451,7 @@
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("securitys", securityStates);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            MainPage.Log($"api安防控制:{requestJson}");
            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_StatusSet, requestJson);
            return pack;
        }
@@ -2436,10 +2513,10 @@
            return pack;
        }
        #endregion
#endregion
        #region Kaede --第三方品牌功能--------------------------
#region Kaede --第三方品牌功能--------------------------
        /// <summary>
        /// 获取第三方品牌列表
        /// </summary>
@@ -2464,9 +2541,9 @@
            return pack;
        }
        #endregion
#endregion
        #region ■ 萤石云SDK相关接口_________________________
#region ■ 萤石云SDK相关接口_________________________
        /// <summary>
        /// 河东获取萤石云子账号token的接口
        /// 2021-07-07 新方案接口调整对接
@@ -2633,5 +2710,64 @@
        }
        #endregion
        /// <summary>
        /// 绑定source面板
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew BindSourcePanel(string qrString)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("content", qrString);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_BindSourcePanel, requestJson);
        }
        /// <summary>
        /// 人脸录入
        /// </summary>
        /// <param name="imageBytes"></param>
        /// <returns></returns>
        public ResponsePackNew FaceSetting(string imageBytes)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("userFace", @"data:image/jpg;base64,"+imageBytes);
            d.Add("houseId", DB_ResidenceData.Instance.CurrentRegion.id);
            //MainPage.Log(imageBytes);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_InputUserFace, requestJson);
        }
        /// <summary>
        /// 修改住户人脸关闭状态
        /// 1:开启状态 2:关闭状态
        /// 3:清除人脸数据
        /// </summary>
        public ResponsePackNew EditFaceFunction(int status)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("houseId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("faceClose", status);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_SwitchFaceFunction, requestJson);
        }
        /// <summary>
        /// 获取住户详情
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew GetCustomerInfo()
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("houseId", DB_ResidenceData.Instance.CurrentRegion.id);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetCustomerInfo, requestJson);
        }
    }
}