JLChen
2021-11-30 efad979b6fae76fb37a4de7e94e6bac0a85cb72c
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -51,7 +51,7 @@
            d.Add("type", qType);
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("deviceId",  deviceId );
            d.Add("key",  "value" );
            d.Add("key",  deviceKey );
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_EnvironmentalSensorHistoricalData, requestJson);
@@ -74,8 +74,20 @@
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_ArmSensorHistoricalData, requestJson);
        }
        /// <summary>
        /// 读取最近一个月的数据
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew GetLastMonthHistory(string deviceId,string key)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("deviceId", deviceId);
            d.Add("key", key);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_SensorLastMonthHistoricalData, requestJson);
        }
        #endregion
@@ -470,7 +482,7 @@
        /// <summary>
        /// 获取住宅列表
        /// </summary>
        public string GetHomePager(HomeTypeEnum homeType = HomeTypeEnum.ALL)
        public string GetHomePager(HomeTypeEnum homeType = HomeTypeEnum.ALL,string homeId = "")
        {
            var requestJson = HttpUtil.GetSignRequestJson(new GetHomeListObj() { homeType = homeType.ToString() });
            var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Gethomepager, requestJson);
@@ -485,28 +497,17 @@
                {
                    foreach (var home in homeList)
                    {
                        //var home = new RegionInfoRes()
                        //{
                        //    RegionID = mHome.Id,
                        //    Name = mHome.homeName,
                        //    IsOthreShare = mHome.IsOtherShare,
                        //    accountType = mHome.accountType,
                        //    isRemoteControl = mHome.isRemoteControl,
                        //    isBindGateway = mHome.isBindGateway,
                        //    longitude = mHome.longitude,
                        //    latitude = mHome.latitude,
                        //    deliverstatus = mHome.deliverstatus,
                        //    homeType = mHome.homeType,
                        //    regionUrl = mHome.regionUrl,
                        //    emqUrl = mHome.emqUrl,
                        //    homeRegionName = mHome.homeRegionName,
                        //    homeRegionId = mHome.homeRegionId,
                        //    Address = mHome.homeAddress,
                        //    isAllowCreateScene = mHome.isAllowCreateScene,
                        //};
                        if (home.isBindGateway)
                        {
                            UserInfo.Current.regionList.Add(home);
                            //新绑定的住宅,直接切换到新住宅
                            if (!string.IsNullOrEmpty(homeId))
                            {
                                if (homeId.Contains(home.id))
                                {
                                    DB_ResidenceData.Instance.CurrentRegion = home;
                                }
                            }
                        }
                    }
                    if(UserInfo.Current.regionList.Count== 0)
@@ -726,6 +727,24 @@
            return result != null && result.Code == StateCode.SUCCESS;
        }
        /// <summary>
        /// 管理员权限迁移
        /// </summary>
        /// <param name="i_childAccountId">成员账号id</param>
        /// <returns></returns>
        public bool AdminAuthorityMigration(string i_childAccountId)
        {
            var pra2 = new
            {
                homeId = DB_ResidenceData.Instance.CurrentRegion.id,
                childAccountId = i_childAccountId
            };
            var requestJson = HttpUtil.GetSignRequestJson(pra2);
            var result = HttpUtil.RequestHttpsPost(NewAPI.API_Post_AdminAuthorityMigration, requestJson);
            return result != null && result.Code == StateCode.SUCCESS;
        }
        #region 新数据分享
        /// <summary>
        /// 添加分享
@@ -915,8 +934,9 @@
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("debugPerm", debugPerm);
            string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_Post_Home_UpdateDebugPerm, jsonString);
            var jsonString = HttpUtil.GetSignRequestJson(d,d);
            var pack = HttpUtil.RequestHttpsPost(NewAPI.API_Post_Home_UpdateDebugPerm, jsonString);
            return pack;
        }
@@ -984,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);
@@ -1021,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)
        {
@@ -1039,13 +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
                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>
@@ -1173,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)
@@ -1241,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 检测更新
@@ -1261,9 +1303,9 @@
        #endregion
#endregion
        #region 获取天气部分
#region 获取天气部分
        /// <summary>
        /// 获取指定经纬度的城市信息
        /// </summary>
@@ -1308,6 +1350,9 @@
                            MainPage.cityInfo.pm25 = jt.GetValue("Air_Quality").ToString();
                            MainPage.cityInfo.windLevel = jt.GetValue("WindLevel").ToString();
                            MainPage.cityInfo.weather = jt.GetValue("Weather").ToString();
                            MainPage.cityInfo.lowestTemperature = jt.GetValue("lowestTemperature").ToString();
                            MainPage.cityInfo.highestTemperature = jt.GetValue("highestTemperature").ToString();
                            break;
                        }
                        catch (Exception ex)
@@ -1328,10 +1373,10 @@
            });
        }
        #endregion
#endregion
        #region 备份部分
#region 备份部分
        ///// <summary>
        ///// 获取住宅备份列表
        ///// </summary>
@@ -1377,11 +1422,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();
@@ -1802,10 +1847,10 @@
        }
        */
        #endregion
#endregion
        #region Kaede --设备功能——————————————————————————————————
#region Kaede --设备功能——————————————————————————————————
        /// <summary>
        /// 获取设备列表
        /// </summary>
@@ -1835,7 +1880,10 @@
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("productPlatform", productPlatform);
            d.Add("productBrand", productBrand);
            d.Add("networkConfig", true);
            if (productBrand != "MegaHealth")
            {
                d.Add("networkConfig", true);
            }
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieList, requestJson);
@@ -1854,10 +1902,31 @@
            d.Add("productBrand", productBrand);
            d.Add("networkConfig", true);
            
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Get3tyBrandDevcieList, requestJson);
        }
        /// <summary>
        /// 注册第三方设备
        /// </summary>
        /// <param name="productPlatform"></param>
        /// <param name="productBrand"></param>
        /// <returns></returns>
        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);
        }
        /// <summary>
        /// 获取设备详情
@@ -1913,7 +1982,7 @@
            d.Add("actions", actionObjs);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            MainPage.Log($"{requestJson}");
            MainPage.Log($"api功能控制:{requestJson}");
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_ControlDevice, requestJson);
        }
        /// <summary>
@@ -2013,9 +2082,9 @@
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectDevice, requestJson);
        }
        #endregion
#endregion
        #region Kaede --场景功能--------------------------
#region Kaede --场景功能--------------------------
        /// <summary>
        /// 获取场景列表
        /// 房间ID可空,默认查询住宅下所有房间
@@ -2147,9 +2216,9 @@
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectScene, requestJson).Code;
        }
        #endregion
#endregion
        #region Kaede --房间功能--------------------------
#region Kaede --房间功能--------------------------
        /// <summary>
        /// 获取房间列表
        /// </summary>
@@ -2224,10 +2293,10 @@
            return pack;
        }
        #endregion
#endregion
        #region Kaede -- 安防接口____________________________
#region Kaede -- 安防接口____________________________
        /// <summary>
        /// 获取安防列表
        /// </summary>
@@ -2329,6 +2398,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;
        }
@@ -2390,10 +2460,10 @@
            return pack;
        }
        #endregion
#endregion
        #region Kaede --第三方品牌功能--------------------------
#region Kaede --第三方品牌功能--------------------------
        /// <summary>
        /// 获取第三方品牌列表
        /// </summary>
@@ -2418,24 +2488,27 @@
            return pack;
        }
        #endregion
#endregion
        #region ■ 萤石云SDK相关接口_________________________
#region ■ 萤石云SDK相关接口_________________________
        /// <summary>
        /// 河东获取萤石云子账号token的接口
        /// 2021-07-07 新方案接口调整对接
        /// </summary>
        public ResponsePackNew EZGetChildToken()
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("platform", "1");
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_EZ_GetChildToken, requestJson);
        }
        #endregion
#endregion
        #region ■ 可视对讲_________________________
#region ■ 可视对讲_________________________
        /// <summary>
        /// 检查住宅是否绑定丰林,并获取门口机列表
        /// 检查住宅是否绑定丰林
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew CheckFlVideo()
@@ -2446,9 +2519,9 @@
            var pack = HttpUtil.RequestHttpsPostFroHome( NewAPI.API_POST_FL_Check, requestJson);
            return pack;
        }
        #endregion
#endregion
        #region ■ 门锁相关____________________________
#region ■ 门锁相关____________________________
        /// <summary>
        /// 获取门锁历史记录(按日期降序)
@@ -2517,8 +2590,8 @@
            return listSortLog;
        }
        #endregion
        #region ■ 音箱语言控制相关_________________________
#endregion
#region ■ 音箱语言控制相关_________________________
        /// <summary>
        /// 获取已授权的音箱列表
        /// </summary>
@@ -2582,7 +2655,54 @@
            var requestJson = HttpUtil.GetSignRequestJson(updateSpeakerDeviceListObj);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_DeviceList_Update, requestJson);
        }
        #endregion
#endregion
        /// <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);
        }
    }
}