| | |
| | | using System;
|
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Net;
|
| | | using System.Net; |
| | | using System.Text; |
| | | using HDL_ON.DAL.Net; |
| | | using HDL_ON.Entity; |
| | | using Newtonsoft.Json.Linq; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.DAL.Server |
| | | { |
| | |
| | | { |
| | | } |
| | | |
| | | #region kaede ___________传感器历史数据__________________ |
| | | /// <summary> |
| | | /// 获取传感器历史数据 |
| | | /// </summary> |
| | | /// <param name="subnetId"></param> |
| | | /// <param name="deviceId"></param> |
| | | /// <param name="bigClass"></param> |
| | | /// <param name="minClass"></param> |
| | | /// <param name="queryType"></param> |
| | | /// <param name="loopId"></param> |
| | | /// <param name="nowMonth"></param> |
| | | /// <param name="mac"></param> |
| | | /// <param name="qType">时间查询类型:hour=近24小时、week=近一周、month = 近一月 </param> |
| | | /// <param name="deviceId">设备ID</param> |
| | | /// <param name="deviceKey">功能查询类型:pm25</param> |
| | | /// <returns></returns> |
| | | public ResponsePack GetSensorHistory(int subnetId, int deviceId, int bigClass, int minClass, int queryType, int loopId, int nowMonth, string mac) |
| | | public ResponsePackNew GetSensorHistory(string qType, string deviceId,string deviceKey) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("SubnetID", subnetId); |
| | | d.Add("DeviceID", deviceId); |
| | | d.Add("LargeType", bigClass); |
| | | d.Add("SmallType", minClass); |
| | | d.Add("QueryType", queryType); |
| | | d.Add("loopId", loopId); |
| | | d.Add("NowMonth", nowMonth); |
| | | d.Add("MAC", DB_ResidenceData.residenceData.residenceGatewayMAC); |
| | | d.Add("LocalTimeZone", 8); |
| | | var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps("https://developer.hdlcontrol.com/api/GetSensorPushHistory", jsonString, true); |
| | | d.Add("type", qType); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceId", deviceId ); |
| | | d.Add("key", "value" ); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_EnvironmentalSensorHistoricalData, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 获取安防传感器历史数据 |
| | | /// </summary> |
| | | /// <param name="deviceId">设备ID</param> |
| | | /// <param name="pageSize">页面大小</param> |
| | | /// <param name="pageNo">页号</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetArmSensorHistory( string deviceId,string pageSize, string pageNo) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceId", deviceId); |
| | | d.Add("pageSize", pageSize); |
| | | d.Add("pageNo", pageNo); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_ArmSensorHistoricalData, requestJson); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | | //public string GetRequestResultMsg(string resultCode) |
| | | //{ |
| | |
| | | public ResponsePackNew GetRegionByAccount(string account) |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(new RegionByAccountObj() { account = account }); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetRegionByAccount, requestJson); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetRegionByAccount, requestJson, HttpUtil.GlobalRequestHttpsHost); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 刷新Token |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public bool RefreshToken() |
| | | public string RefreshToken() |
| | | { |
| | | 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.LoginTokenString = revertData.headerPrefix + revertData.accessToken; |
| | | UserInfo.Current.RefreshToken = revertData.refreshToken; |
| | | UserInfo.Current.LastTime = DateTime.Now; |
| | | UserInfo.Current.SaveUserInfo(); |
| | | return true; |
| | | } |
| | | return false; |
| | | return revertObj.Code; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 绑定调试人员提交的住宅,一个住宅只能绑定一次 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew BindingResidence(string strUrl) |
| | | { |
| | | try |
| | | { |
| | | if (strUrl.Contains("app/home/deliver") == false) |
| | | { |
| | | //非法的URL 返回一个自定义的状态码 |
| | | return new ResponsePackNew() { Code = "-100" }; |
| | | } |
| | | var client = new RestSharp.RestClient(strUrl); |
| | | |
| | | var request = new RestSharp.RestRequest(RestSharp.Method.GET); |
| | | request.Timeout = 5 * 1000; |
| | | request.AddHeader("content-type", "application/json"); |
| | | request.AddHeader("Authorization", UserInfo.Current.LoginTokenString); |
| | | |
| | | var response = client.Execute(request); |
| | | if (response.StatusCode == HttpStatusCode.OK) |
| | | { |
| | | return Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(response.Content); |
| | | } |
| | | else |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | catch |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | #region 注册、登录部分 |
| | | /// <summary> |
| | | /// 获取请求提交的语言参数 |
| | | /// </summary> |
| | | public string GetPostLanguageType() |
| | | { |
| | | return Language.CurrentLanguage == "Chinese" ? LanguageTypeEnum.CHINESE.ToString() : LanguageTypeEnum.ENGLISH.ToString(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 通用 发送验证码方法 |
| | |
| | | var requestObj = new VerifyCodeSendObj() |
| | | { |
| | | verifyType = (int)verifyType, |
| | | languageType = GetPostLanguageType() |
| | | languageType = Utlis.GetPostLanguageType() |
| | | }; |
| | | // 是否是手机 |
| | | if (isPhone) |
| | |
| | | /// <returns></returns> |
| | | public ResponsePackNew ValidataCodeAndRegister(string account, string password, string code, bool isPhone = false) |
| | | { |
| | | var requestObj = new RegisterObj() { loginPwd = password, verifyCode = code, memberName = account }; |
| | | var requestObj = new RegisterObj() { loginPwd = password, verifyCode = code};//, memberName = account |
| | | if (isPhone) |
| | | { |
| | | requestObj.memberPhone = account; |
| | |
| | | /// 获取用户信息 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public void GetUserInfo(bool bGetHeadImage = true) |
| | | public string GetUserInfo(bool bGetHeadImage = true) |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(new NullObj()); |
| | | var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_GetMemberInfo, requestJson); |
| | |
| | | UserInfo.Current.userEmailInfo = info.memberEmail; |
| | | UserInfo.Current.userMobileInfo = info.memberPhone; |
| | | UserInfo.Current.userName = info.memberName; |
| | | UserInfo.Current.areaCode = info.memberPhonePrefix; |
| | | |
| | | if (!string.IsNullOrEmpty(info.memberPhonePrefix)) |
| | | { |
| | | UserInfo.Current.areaCode = info.memberPhonePrefix; |
| | | } |
| | | //是否需要获取头像 |
| | | if (bGetHeadImage) |
| | | { |
| | | var headImageBytes = DownHeadImage(); |
| | | if (headImageBytes != null && headImageBytes.Length > 0) |
| | | //2020-12-15 修改头像方案 |
| | | if (!string.IsNullOrEmpty(info.memberHeadIcon)) |
| | | { |
| | | UserInfo.Current.headImagePageBytes = headImageBytes; |
| | | FileStream fs = null; |
| | | try |
| | | { |
| | | UserInfo.Current.headImagePageBytes = headImageBytes; |
| | | var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/", "headImage.png"); |
| | | fs = new FileStream(filePath, FileMode.Create, FileAccess.Write); |
| | | fs.Write(headImageBytes, 0, headImageBytes.Length); |
| | | fs.Flush(); |
| | | UserInfo.Current.headImagePagePath = filePath; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"download headImage error : {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | if (fs != null) |
| | | { |
| | | fs.Close(); |
| | | } |
| | | } |
| | | var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(info.memberHeadIcon); |
| | | |
| | | if (headImageBytes != null && headImageBytes.Length > 0) |
| | | { |
| | | UserInfo.Current.headImagePagePath = info.memberHeadIcon; |
| | | //UserInfo.Current.headImagePagePath = imageKey; |
| | | } |
| | | } |
| | | } |
| | | |
| | | UserInfo.Current.SaveUserInfo(); |
| | | MainPage.Log("获取用户信息成功。"); |
| | | } |
| | | |
| | | |
| | | // Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | //var revertObj = RequestHttps($"{severAddress}/ZigbeeUsers/GetAccountInfo", requestJson, true); |
| | | |
| | | //if (revertObj.StateCode.ToUpper() == StateCode.SUCCESS) |
| | | //{ |
| | | // var dataStr = JObject.FromObject(revertObj.ResponseData); |
| | | // //"DistributedMark": "96439601-fd26-4768-8440-1d9dfa32c109", < !--帐号Id-- > |
| | | // UserInfo.Current.userEmailInfo = dataStr.GetValue("Email").ToString(); |
| | | // UserInfo.Current.userMobileInfo = dataStr.GetValue("Phone").ToString(); |
| | | // FileStream fs = null; |
| | | // try |
| | | // { |
| | | // var headImageString = dataStr.GetValue("HeadImage").ToString(); |
| | | // if (!string.IsNullOrEmpty(headImageString)) |
| | | // { |
| | | // var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(headImageString); |
| | | // var headImageBytes = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]>(jsonString); |
| | | // UserInfo.Current.headImagePageBytes = headImageBytes; |
| | | // var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/", "headImage.png"); |
| | | // fs = new FileStream(filePath, FileMode.Create, FileAccess.Write); |
| | | // fs.Write(headImageBytes, 0, headImageBytes.Length); |
| | | // fs.Flush(); |
| | | // UserInfo.Current.headImagePagePath = filePath; |
| | | // } |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // MainPage.Log($"download headImage error : {ex.Message}"); |
| | | // } |
| | | // finally |
| | | // { |
| | | // if (fs != null) |
| | | // { |
| | | // fs.Close(); |
| | | // } |
| | | // } |
| | | // // "GesturePwd": null, < !--手势密码-- > |
| | | // // "StringPwd": null , < !--字符串密码-- > |
| | | // UserInfo.Current.userName = dataStr.GetValue("UserName").ToString(); |
| | | |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // }); |
| | | |
| | | // UserInfo.Current.SaveUserInfo(); |
| | | // MainPage.Log("获取用户信息成功。"); |
| | | //} |
| | | |
| | | return resultObj.Code; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 下载用户头像 |
| | | /// 获取用户头像 |
| | | /// </summary> |
| | | public byte[] DownHeadImage() |
| | | /// <param name="userId"></param> |
| | | public void GetUserHeadImageByKey(string imageKey) |
| | | { |
| | | return HttpUtil.RequestHttpsDownload(NewAPI.API_POST_Head_Down, null); |
| | | var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(imageKey); |
| | | |
| | | if (headImageBytes != null && headImageBytes.Length > 0) |
| | | { |
| | | //UserInfo.Current.headImagePageBytes = headImageBytes; |
| | | UserInfo.Current.headImagePagePath = imageKey; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新用户头像 |
| | | /// </summary> |
| | | /// <param name="vs"></param> |
| | | /// <returns></returns> |
| | | public string UpdataUserHeadImage(string fileName) |
| | | { |
| | | FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); |
| | | byte[] bytes = new byte[fs.Length]; |
| | | fs.Read(bytes, 0, bytes.Length); |
| | | var revertObj = HttpUtil.RequestHttpsUpload(RestSharp.Method.POST, NewAPI.API_POST_Head_Upload, bytes); |
| | | return revertObj.Code; |
| | | } |
| | | ///// <summary> |
| | | ///// 更新用户头像 |
| | | ///// </summary> |
| | | ///// <param name="userName"></param> |
| | | ///// <returns></returns> |
| | | //public ResponsePackNew UpdateMemberHeadIcon(string memberHeadIcon) |
| | | //{ |
| | | // var requestJson = HttpUtil.GetSignRequestJson(new UpdateMemberHeadIconRes() |
| | | // { |
| | | // memberHeadIcon = memberHeadIcon |
| | | // }); |
| | | // return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson); |
| | | //} |
| | | |
| | | ///// <summary> |
| | | ///// 更新用户头像 |
| | | ///// </summary> |
| | | ///// <param name="vs"></param> |
| | | ///// <returns></returns> |
| | | //public string UpdataUserHeadImage(string fileName) |
| | | //{ |
| | | // byte[] bytes = Shared.IO.FileUtils.ReadFile(fileName); |
| | | // var revertObj = HttpUtil.RequestHttpsUpload(RestSharp.Method.POST, NewAPI.API_POST_Head_Upload, bytes); |
| | | // return revertObj.Code; |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 更改绑定账户的邮箱或者手机号 |
| | |
| | | /// </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) |
| | | { |
| | | var homeList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoResNew>>(resultObj.Data.ToString()); |
| | | UserInfo.Current.regionList = new List<RegionInfoRes>(); |
| | | var homeList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>>(resultObj.Data.ToString()); |
| | | if (homeList == null || homeList.Count == 0) |
| | | { |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | | UserInfo.Current.regionList = new List<RegionInfoRes>(); |
| | | |
| | | foreach (var mHome in homeList) |
| | | foreach (var home in homeList) |
| | | { |
| | | var home = new RegionInfoRes() |
| | | //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) |
| | | { |
| | | RegionID = mHome.Id, |
| | | Name = mHome.homeName, |
| | | IsOthreShare = mHome.IsOtherShare, |
| | | accountType = mHome.accountType, |
| | | isRemoteControl = mHome.isRemoteControl, |
| | | 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, |
| | | }; |
| | | if (home.IsOthreShare) |
| | | { |
| | | continue; |
| | | UserInfo.Current.regionList.Add(home); |
| | | } |
| | | UserInfo.Current.regionList.Add(home); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.CurReginID)) |
| | | if(UserInfo.Current.regionList.Count== 0) |
| | | { |
| | | DB_ResidenceData.residenceData.CurReginID = UserInfo.Current.regionList[0].RegionID; |
| | | return "null"; |
| | | } |
| | | DB_ResidenceData.residenceData.SaveResidenceData(); |
| | | UserInfo.Current.SaveUserInfo(); |
| | | //-------如果账号是首次登录 |
| | | if (DB_ResidenceData.Instance.CurrentRegion == null || string.IsNullOrEmpty(DB_ResidenceData.Instance.CurrentRegion.id)) |
| | | { |
| | | //刷新当前住宅 |
| | | DB_ResidenceData.Instance.CurrentRegion = UserInfo.Current.regionList[0]; |
| | | DB_ResidenceData.Instance.SaveResidenceData(); |
| | | UserInfo.Current.SaveUserInfo(); |
| | | //刷新一次住宅网关 |
| | | GetHomeGatewayList(); |
| | | } |
| | | else |
| | | { |
| | | //住宅被删除 |
| | | var findHome = UserInfo.Current.regionList.Find((obj) => obj.id == DB_ResidenceData.Instance.CurrentRegion.id); |
| | | if (findHome == null) |
| | | { |
| | | Shared.Application.RunOnMainThread(() => |
| | | { |
| | | DB_ResidenceData.Instance.CurrentRegion = UserInfo.Current.regionList[0]; |
| | | GetHomeGatewayList(); |
| | | DB_ResidenceData.Instance.SaveResidenceData(); |
| | | UserInfo.Current.SaveUserInfo(); |
| | | Action action = () => |
| | | { |
| | | MainPage.GoUserPage(true); |
| | | }; |
| | | new UI.PublicAssmebly().TipMsg(StringId.Tip, StringId.ResidenceDeletedSwitchToAnotherResidence, action); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | //刷新当前住宅 |
| | | DB_ResidenceData.Instance.CurrentRegion = findHome; |
| | | DB_ResidenceData.Instance.SaveResidenceData(); |
| | | UserInfo.Current.SaveUserInfo(); |
| | | //刷新一次住宅网关 |
| | | GetHomeGatewayList(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | return resultObj.Code; |
| | | |
| | | //string jsonString = "{" +
|
| | | // "\"RequestVersion\":" + "\"" + MainPage.VersionString + "\"" + "," + |
| | | // "\"RequestSource\":" + "\"" + "2" + "\"" + "," + |
| | | // "\"HomeType\":" + "\"" + "1" + "\"" + "," + |
| | | // "\"LoginAccessToken\":" + "\"" + UserInfo.Current.loginTokenString + "\"" + |
| | | // "}"; |
| | | //var responsePack = RequestHttps($"{severAddress}/App/GetHomePager", jsonString, false); |
| | | |
| | | //if (responsePack.StateCode.ToUpper() == StateCode.SUCCESS_CODE) |
| | | //{ |
| | | // var dataStr = JObject.FromObject(responsePack.ResponseData); |
| | | // //没有住宅 |
| | | // if (dataStr.GetValue("PageData").ToString() == "[]") |
| | | // { |
| | | |
| | | // } |
| | | // else |
| | | // { |
| | | // //{ |
| | | // // { |
| | | // // "Id": "1107487", |
| | | // // "HomeStatus": 2, |
| | | // // "UserGuid": "22980", |
| | | // // "Name": "啊", |
| | | // // "Address": null, |
| | | // // "Longitude": 0.0, |
| | | // // "Latitude": 0.0, |
| | | // // "RegionName": null, |
| | | // // "Company": null, |
| | | // // "ContactPerson": null, |
| | | // // "ContactPersonPhone": null, |
| | | // // "Remarks": null, |
| | | // // "ChangeDate": null, |
| | | // // "AccountType": 0, |
| | | // // "CreatedOnUtc": "2020-05-27T06:52:03", |
| | | // // "IsOthreShare": false, |
| | | // // "MainUserDistributedMark": null, |
| | | // // "HomeGateways": [ |
| | | // // { |
| | | // // "GatewayUniqueId": "4E47323347591243" |
| | | // // } |
| | | // // ] |
| | | // //}} |
| | | // UserInfo.Current.regionList = new List<RegionInfoRes>(); |
| | | // foreach (var jsonData in dataStr.GetValue("PageData")) |
| | | // { |
| | | // var homeJsonStr = JObject.FromObject(jsonData); |
| | | // var home = new RegionInfoRes() |
| | | // { |
| | | // RegionID = homeJsonStr.GetValue("Id").ToString(), |
| | | // RegionName = homeJsonStr.GetValue("RegionName").ToString(), |
| | | // Name = homeJsonStr.GetValue("Name").ToString(), |
| | | // Address = homeJsonStr.GetValue("Address").ToString(), |
| | | // IsOthreShare = (bool)homeJsonStr.GetValue("IsOthreShare"), |
| | | // homeGateways = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGateways>>(homeJsonStr.GetValue("HomeGateways").ToString()), |
| | | // }; |
| | | // if (home.IsOthreShare) |
| | | // { |
| | | // continue; |
| | | // } |
| | | // UserInfo.Current.regionList.Add(home); |
| | | // if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.CurReginID)) |
| | | // { |
| | | // DB_ResidenceData.residenceData.CurReginID = UserInfo.Current.regionList[0].RegionID; |
| | | // } |
| | | // } |
| | | // DB_ResidenceData.residenceData.SaveResidenceData(); |
| | | // UserInfo.Current.SaveUserInfo(); |
| | | // } |
| | | //} |
| | | //return responsePack.StateCode; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | var requestObj = new AddOrUpdateHomeObj() |
| | | { |
| | | homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, |
| | | homeId = DB_ResidenceData.Instance.CurrentRegion.id, |
| | | }; |
| | | |
| | | if (editId == 0) |
| | |
| | | } |
| | | else if (editId == 1) |
| | | { |
| | | requestObj.Address = editName; |
| | | requestObj.homeAddress = editName; |
| | | } |
| | | |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); |
| | | var requestJson = HttpUtil.GetSignRequestJson(requestObj); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Home_UpdateHome, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取刷新当前住宅网关接口 |
| | | /// 获取刷新当前住宅的网关列表 |
| | | /// </summary> |
| | | public void GetHomeGatewayList() |
| | | public string GetHomeGatewayList() |
| | | { |
| | | 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 revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetGatewayList, requestJson); |
| | | if (revertObj.Code == StateCode.SUCCESS) |
| | | try |
| | | { |
| | | var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGatewayInfo>>(revertObj.Data.ToString()); |
| | | if (nowhomeId == DB_ResidenceData.residenceData.residecenInfo.RegionID) |
| | | if (string.IsNullOrEmpty(DB_ResidenceData.Instance.CurrentRegion.id)) return ""; |
| | | var nowhomeId = DB_ResidenceData.Instance.CurrentRegion.id; |
| | | var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = nowhomeId }); |
| | | var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetGatewayList, requestJson); |
| | | if (revertObj.Code == StateCode.SUCCESS) |
| | | { |
| | | if (mHomeGatewayRes != null) |
| | | var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGatewayInfo>>(revertObj.Data.ToString()); |
| | | if (nowhomeId == DB_ResidenceData.Instance.CurrentRegion.id) |
| | | { |
| | | if (mHomeGatewayRes.Count > 0) |
| | | if (mHomeGatewayRes != null) |
| | | { |
| | | DB_ResidenceData.residenceData.residenceGatewayMAC = mHomeGatewayRes[0].mac; |
| | | if (mHomeGatewayRes.Count > 0) |
| | | { |
| | | DB_ResidenceData.Instance.HomeGateway = mHomeGatewayRes[0]; |
| | | DriverLayer.Control.Ins.GatewayOnline_Cloud = mHomeGatewayRes[0].gatewayStatus; |
| | | DB_ResidenceData.Instance.SaveResidenceData(); |
| | | return revertObj.Code; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | DB_ResidenceData.residenceData.residenceGatewayMAC = ""; |
| | | |
| | | } |
| | | DB_ResidenceData.residenceData.SaveResidenceData(); |
| | | } |
| | | |
| | | if (mHomeGatewayRes != null) |
| | | { |
| | | //Utlis.WriteLine ("获得当前住宅网关个数:" + mHomeGatewayRes.content.Count); |
| | | //其余情况清空网关信息 |
| | | DB_ResidenceData.Instance.HomeGateway = null; |
| | | DB_ResidenceData.Instance.SaveResidenceData(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //提示错误 |
| | | } |
| | | return revertObj.Code; |
| | | } |
| | | else |
| | | catch |
| | | { |
| | | //提示错误 |
| | | return ""; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 获取网关信息 |
| | | /// </summary> |
| | | public string GetGatewayInfo() |
| | | { |
| | | if (DB_ResidenceData.Instance.HomeGateway == null) |
| | | return StateCode.NETWORK_ERROR; |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | var jsonString = HttpUtil.GetSignRequestJson(d); |
| | | var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetGatewayInfo, jsonString); |
| | | if (revertObj.Code == StateCode.SUCCESS) |
| | | { |
| | | var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<HomeGatewayInfo>(revertObj.Data.ToString()); |
| | | if (mHomeGatewayRes != null) |
| | | { |
| | | DriverLayer.Control.Ins.GatewayOnline_Cloud = mHomeGatewayRes.gatewayStatus; |
| | | } |
| | | } |
| | | return revertObj.Code; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <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.Instance.CurrentRegion.id }); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_FindAll, requestJson); |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | /// <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, |
| | | homeId = DB_ResidenceData.Instance.CurrentRegion.id, |
| | | childAccountId = childAccountId, |
| | | nickName = nickName, |
| | | }); |
| | |
| | | /// <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, |
| | | homeId = DB_ResidenceData.Instance.CurrentRegion.id, |
| | | childAccountId = childAccountId, |
| | | isAllowCreateScene = isAllow, |
| | | }); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson); |
| | | } |
| | | |
| | | #region 新数据分享 |
| | | /// <summary> |
| | | /// 获取住宅下子账号的共享数据列表 |
| | | /// 添加分享 |
| | | /// </summary> |
| | | /// <param name="addShareObj"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew AddShareData(AddShareObj addShareObj) |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(addShareObj); |
| | | |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_Add, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除分享 |
| | | /// </summary> |
| | | /// <param name="deleteShareObj"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew DeleteShareData(DeleteShareObj deleteShareObj) |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(deleteShareObj); |
| | | |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_Delete, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取分享 |
| | | /// </summary> |
| | | /// <param name="addShareObj"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetShareDataByMemberAccount(string childAccountId) |
| | | { |
| | | //Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | //d.Add("DistributedMark", memberId); |
| | | //d.Add("HouseDistributedMark", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | //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 GetShareObj() |
| | | { |
| | | homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, |
| | | childAccountId = childAccountId |
| | | homeId = DB_ResidenceData.Instance.CurrentRegion.id, |
| | | childAccountId = childAccountId, |
| | | }); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Home_Share_FindAll, requestJson); |
| | | |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_GetList, requestJson); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 下载单个分享文件 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public byte[] GetShareData(ShareData shareData) |
| | | { |
| | | //Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | //d.Add("DistributedMark", memberId); |
| | | //d.Add("HouseDistributedMark", hId); |
| | | //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | //return RequestHttps($"{severAddress}/ZigbeeDataShare/GetOneShareData", jsonString, true); |
| | | ///// <summary> |
| | | ///// 获取住宅下子账号的共享数据列表 |
| | | ///// </summary> |
| | | ///// <returns></returns> |
| | | //public ResponsePackNew GetShareDataByMemberAccount(string childAccountId) |
| | | //{ |
| | | // //Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | // //d.Add("DistributedMark", memberId); |
| | | // //d.Add("HouseDistributedMark", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | // //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | // //return RequestHttps($"{severAddress}/ZigbeeDataShare/GetShareDataBySubAccount", jsonString, true); |
| | | |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new ShareFileDownObj() |
| | | { |
| | | homeId = shareData.homeId, |
| | | homeShareId = shareData.id |
| | | }); |
| | | var replaceToken = ""; |
| | | if (DB_ResidenceData.residenceData.residecenInfo.IsOthreShare) |
| | | { |
| | | replaceToken = DB_ResidenceData.residenceData.MasterToken; |
| | | } |
| | | return HttpUtil.RequestHttpsDownload(NewAPI.API_POST_Home_Share_DownOne, requestJson, null, DB_ResidenceData.residenceData.residecenInfo.regionUrl, replaceToken); |
| | | // var requestJson = HttpUtil.GetSignRequestJson(new HomeShareFindAll() |
| | | // { |
| | | // homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, |
| | | // childAccountId = childAccountId |
| | | // }); |
| | | // return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Home_Share_FindAll, requestJson); |
| | | |
| | | } |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 增加共享数据列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew AddShareData(ShareData shareData) |
| | | { |
| | | //Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | //d.Add("ShareName", shareData.ShareName); |
| | | //d.Add("HouseDistributedMark", shareData.HouseDistributedMark); |
| | | //d.Add("ShareDataBytes", shareData.ShareDataBytes); |
| | | //d.Add("SubAccountDistributedMark", shareData.SubAccountDistributedMark); |
| | | //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | //return RequestHttps($"{severAddress}/ZigbeeDataShare/AddShareData", jsonString, true); |
| | | ///// <summary> |
| | | ///// 下载单个分享文件 |
| | | ///// </summary> |
| | | ///// <returns></returns> |
| | | //public byte[] GetShareData(ShareData shareData) |
| | | //{ |
| | | // //Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | // //d.Add("DistributedMark", memberId); |
| | | // //d.Add("HouseDistributedMark", hId); |
| | | // //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | // //return RequestHttps($"{severAddress}/ZigbeeDataShare/GetOneShareData", jsonString, true); |
| | | |
| | | var queryDic = new Dictionary<string, object>(); |
| | | queryDic.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | queryDic.Add("childAccountId", shareData.childAccountId); |
| | | queryDic.Add("fileName", shareData.fileName); |
| | | var replaceToken = ""; |
| | | if (DB_ResidenceData.residenceData.residecenInfo.IsOthreShare) |
| | | { |
| | | replaceToken = DB_ResidenceData.residenceData.MasterToken; |
| | | } |
| | | return HttpUtil.RequestHttpsUpload(RestSharp.Method.POST, NewAPI.API_POST_Home_Share_Add, shareData.ShareDataBytes, queryDic, null, DB_ResidenceData.residenceData.residecenInfo.regionUrl, replaceToken); |
| | | } |
| | | // var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new ShareFileDownObj() |
| | | // { |
| | | // homeId = shareData.homeId, |
| | | // homeShareId = shareData.id |
| | | // }); |
| | | // var replaceToken = ""; |
| | | // if (DB_ResidenceData.residenceData.residecenInfo.IsOthreShare) |
| | | // { |
| | | // replaceToken = DB_ResidenceData.residenceData.MasterToken; |
| | | // } |
| | | // return HttpUtil.RequestHttpsDownload(NewAPI.API_POST_Home_Share_DownOne, requestJson, null, DB_ResidenceData.residenceData.residecenInfo.regionUrl, replaceToken); |
| | | |
| | | /// <summary> |
| | | /// 增加共享数据 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew EditShareData(ShareData shareData) |
| | | { |
| | | return AddShareData(shareData); |
| | | //Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | //d.Add("DistributedMark", shareData.DistributedMark); |
| | | //d.Add("ShareName", shareData.ShareName); |
| | | //d.Add("HouseDistributedMark", shareData.HouseDistributedMark); |
| | | //d.Add("ShareDataBytes", shareData.ShareDataBytes); |
| | | //d.Add("SubAccountDistributedMark", shareData.SubAccountDistributedMark); |
| | | //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | //return RequestHttps($"{severAddress}/ZigbeeDataShare/EditShareData", jsonString, true); |
| | | } |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 删除共享数据 |
| | | /// </summary> |
| | | /// <param name="shareData"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew DeleteShareData(ShareData shareData) |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new ShareFileDownObj() |
| | | { |
| | | homeId = shareData.homeId, |
| | | homeShareId = shareData.id |
| | | }); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Home_Share_Delete, requestJson); |
| | | //Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | //d.Add("DistributedMark", shareData.DistributedMark); |
| | | //d.Add("HouseDistributedMark", shareData.HouseDistributedMark); |
| | | //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | //return RequestHttps($"{severAddress}/ZigbeeDataShare/DeleteShareData", jsonString, true); |
| | | } |
| | | ///// <summary> |
| | | ///// 增加共享数据列表 |
| | | ///// </summary> |
| | | ///// <returns></returns> |
| | | //public ResponsePackNew AddShareData(ShareData shareData) |
| | | //{ |
| | | // //Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | // //d.Add("ShareName", shareData.ShareName); |
| | | // //d.Add("HouseDistributedMark", shareData.HouseDistributedMark); |
| | | // //d.Add("ShareDataBytes", shareData.ShareDataBytes); |
| | | // //d.Add("SubAccountDistributedMark", shareData.SubAccountDistributedMark); |
| | | // //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | // //return RequestHttps($"{severAddress}/ZigbeeDataShare/AddShareData", jsonString, true); |
| | | |
| | | // var queryDic = new Dictionary<string, object>(); |
| | | // queryDic.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | // queryDic.Add("childAccountId", shareData.childAccountId); |
| | | // queryDic.Add("fileName", shareData.fileName); |
| | | // var replaceToken = ""; |
| | | // if (DB_ResidenceData.residenceData.residecenInfo.IsOthreShare) |
| | | // { |
| | | // replaceToken = DB_ResidenceData.residenceData.MasterToken; |
| | | // } |
| | | // return HttpUtil.RequestHttpsUpload(RestSharp.Method.POST, NewAPI.API_POST_Home_Share_Add, shareData.ShareDataBytes, queryDic, null, DB_ResidenceData.residenceData.residecenInfo.regionUrl, replaceToken); |
| | | //} |
| | | |
| | | ///// <summary> |
| | | ///// 增加共享数据 |
| | | ///// </summary> |
| | | ///// <returns></returns> |
| | | //public ResponsePackNew EditShareData(ShareData shareData) |
| | | //{ |
| | | // return AddShareData(shareData); |
| | | // //Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | // //d.Add("DistributedMark", shareData.DistributedMark); |
| | | // //d.Add("ShareName", shareData.ShareName); |
| | | // //d.Add("HouseDistributedMark", shareData.HouseDistributedMark); |
| | | // //d.Add("ShareDataBytes", shareData.ShareDataBytes); |
| | | // //d.Add("SubAccountDistributedMark", shareData.SubAccountDistributedMark); |
| | | // //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | // //return RequestHttps($"{severAddress}/ZigbeeDataShare/EditShareData", jsonString, true); |
| | | //} |
| | | |
| | | ///// <summary> |
| | | ///// 删除共享数据 |
| | | ///// </summary> |
| | | ///// <param name="shareData"></param> |
| | | ///// <returns></returns> |
| | | //public ResponsePackNew DeleteShareData(ShareData shareData) |
| | | //{ |
| | | // var requestJson = HttpUtil.GetSignRequestJson(new ShareFileDownObj() |
| | | // { |
| | | // homeId = shareData.homeId, |
| | | // homeShareId = shareData.id |
| | | // }); |
| | | // return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Home_Share_Delete, requestJson); |
| | | // //Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | // //d.Add("DistributedMark", shareData.DistributedMark); |
| | | // //d.Add("HouseDistributedMark", shareData.HouseDistributedMark); |
| | | // //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | // //return RequestHttps($"{severAddress}/ZigbeeDataShare/DeleteShareData", jsonString, true); |
| | | //} |
| | | ///// <summary> |
| | | ///// 删除子账号当前住宅的所有共享数据 |
| | | ///// </summary> |
| | |
| | | public ResponsePackNew BindResidenceMemberAccount(string subAccount, string nickName) |
| | | { |
| | | //添加子账号 |
| | | var requestObj = new ChildAddObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, account = subAccount, nickName = nickName }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); |
| | | var requestObj = new ChildAddObj() { homeId = DB_ResidenceData.Instance.CurrentRegion.id, account = subAccount, nickName = nickName }; |
| | | var requestJson = HttpUtil.GetSignRequestJson(requestObj); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Add, requestJson); |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取住宅下的成员账号信息 |
| | | /// 修改住宅调试权限 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePack GetResidenceMemberAccountInfo(string account) |
| | | public ResponsePackNew ChangeResidenceDebugPerm(bool debugPerm) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("Account", account); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("debugPerm", debugPerm); |
| | | string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps($"{severAddress}/ZigbeeUsers/GetSubAccountInfo", jsonString, true); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_Post_Home_UpdateDebugPerm, jsonString); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 下载子账号用户头像 |
| | | /// </summary> |
| | | /// <param name="subaccoun"></param> |
| | | /// <returns></returns> |
| | | public byte[] DownChildHeadImage(ResidenceMemberInfo subaccount) |
| | | { |
| | | var requestObj = new ChildBaseObj() |
| | | { |
| | | childAccountId = subaccount.childAccountId, |
| | | homeId = subaccount.homeId |
| | | }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); |
| | | var replaceToken = ""; |
| | | if (DB_ResidenceData.residenceData.residecenInfo.IsOthreShare) |
| | | { |
| | | replaceToken = DB_ResidenceData.residenceData.MasterToken; |
| | | } |
| | | return HttpUtil.RequestHttpsDownload(NewAPI.API_POST_Child_DownloadHeadImage, requestJson,null); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | #endregion |
| | | /// <summary> |
| | |
| | | { |
| | | try |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetMqttRemoteInfoObj() |
| | | var requestJson = HttpUtil.GetSignRequestJson(new GetMqttRemoteInfoObj() |
| | | { |
| | | attachClientId = attachClientId, |
| | | homeType = HomeTypeEnum.BUSPRO.ToString() |
| | | }); |
| | | var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetMqttRemoteInfo, requestJson, DB_ResidenceData.residenceData.residecenInfo.regionUrl); |
| | | var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetMqttRemoteInfo, requestJson, DB_ResidenceData.Instance.CurrentRegion.regionUrl); |
| | | if (revertObj.Code == StateCode.SUCCESS) |
| | | { |
| | | return Newtonsoft.Json.JsonConvert.DeserializeObject<MqttInfo>(revertObj.Data.ToString()); |
| | |
| | | { |
| | | try |
| | | { |
| | | //先清空推送ID,避免使用缓存的PushId为其它账号的情况,导致查询到其它账号的推送记录 |
| | | OnAppConfig.Instance.PushId = ""; |
| | | |
| | | string deviceType = PhoneDeviceType.Android.ToString(); |
| | | #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() |
| | | { |
| | |
| | | deviceName = OnAppConfig.Instance.PhoneName, |
| | | deviceType = deviceType, |
| | | produce = isProduce, |
| | | |
| | | }; |
| | | var mAddpushinfoJson = Newtonsoft.Json.JsonConvert.SerializeObject(mAddpushinfoObj); |
| | | |
| | | //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) |
| | | { |
| | |
| | | if (!string.IsNullOrEmpty(pushId)) |
| | | { |
| | | OnAppConfig.Instance.PushId = pushId; |
| | | OnAppConfig.Instance.SaveUserConfig(); |
| | | OnAppConfig.Instance.SaveConfig(); |
| | | Utlis.WriteLine("PushId: " + pushId); |
| | | |
| | | return true; |
| | | } |
| | | } |
| | | Utlis.WriteLine("AddToken 成功"); |
| | | |
| | | } |
| | | else |
| | | { |
| | | Utlis.WriteLine("AddToken 失败"); |
| | | //Utlis.WriteLine("AddToken 失败"); |
| | | } |
| | | return false; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 查询推送信息列表 |
| | | /// </summary> |
| | | /// <param name="queryType">0全部 1分享与功能 2报警类 3系统信息</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew PushSerivceGetpushmessagelist() |
| | | public ResponsePackNew PushSerivceGetPushmessagelist(int queryType = 0) |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetMessageListObj() |
| | | string pushType = null; |
| | | |
| | | if (queryType == 1) |
| | | { |
| | | pushId = OnAppConfig.Instance.PushId |
| | | pushType = PushType.Default.ToString(); |
| | | } |
| | | else if (queryType == 2) |
| | | { |
| | | pushType = PushType.Alarm.ToString(); |
| | | } |
| | | else if (queryType == 3) |
| | | { |
| | | pushType = PushType.Prompt.ToString(); |
| | | } |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(new GetMessageListObj() |
| | | { |
| | | pushId = OnAppConfig.Instance.PushId, |
| | | pushType = pushType |
| | | }); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_Getpushmessagelist, requestJson); |
| | | } |
| | |
| | | { |
| | | 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 |
| | | }); |
| | |
| | | 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 |
| | | }); |
| | | |
| | |
| | | |
| | | try |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushIdObj() |
| | | var requestJson = HttpUtil.GetSignRequestJson(new PushIdObj() |
| | | { |
| | | pushId = OnAppConfig.Instance.PushId |
| | | }); |
| | |
| | | |
| | | try |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushMsgIdObj() |
| | | var requestJson = HttpUtil.GetSignRequestJson(new PushMsgIdObj() |
| | | { |
| | | msgId = msgId |
| | | }); |
| | |
| | | |
| | | try |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushMsgIdObj() |
| | | var requestJson = HttpUtil.GetSignRequestJson(new PushMsgIdObj() |
| | | { |
| | | msgId = msgId |
| | | }); |
| | |
| | | } |
| | | else |
| | | { |
| | | |
| | | IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code); |
| | | } |
| | | return false; |
| | | } |
| | |
| | | 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 检测更新 |
| | |
| | | /// <returns></returns> |
| | | public ResponsePackNew CheckAppVersion() |
| | | { |
| | | var requestObj = new ForceUpdateObj() |
| | | var requestObj = new AppVersionCheckObj() |
| | | { |
| | | |
| | | }; |
| | | #if Android |
| | | requestObj.DeviceType = 1; |
| | | #endif |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(requestObj); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetAppVersion() |
| | | { |
| | | var requestObj = new ForceUpdateObj() |
| | | { |
| | | |
| | | }; |
| | | #if Android |
| | | requestObj.DeviceType = 1; |
| | | #endif |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetAppVersion, requestJson); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | |
| | | |
| | | #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> |
| | |
| | | #endregion |
| | | |
| | | |
| | | #region Kaede --设备功能—————————————————————————————————— |
| | | /// <summary> |
| | | /// 获取设备列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetDeviceList() |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | //d.Add("gatewayId", DB_ResidenceData.residenceData.HomeGateway.gatewayId); |
| | | //d.Add("roomId", DB_ResidenceData.residenceData.residecenInfo.RegionID);//可控参数,当需要分页获取,怎么知道分页总数 |
| | | //d.Add("searchType", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | //d.Add("pageSize", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | //d.Add("pageNo", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieList, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 获取指定第三方品牌的绑定过的设备列表 |
| | | /// </summary> |
| | | /// <param name="productPlatform"></param> |
| | | /// <param name="productBrand"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew Get3TyBrandBindDeviceList(string productPlatform, string productBrand) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("productPlatform", productPlatform); |
| | | d.Add("productBrand", productBrand); |
| | | d.Add("networkConfig", true); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieList, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 获取指定第三方品牌的设备列表 |
| | | /// </summary> |
| | | /// <param name="productPlatform"></param> |
| | | /// <param name="productBrand"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew Get3TyBrandDeviceList(string productPlatform,string productBrand) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("categoryType", 1); |
| | | d.Add("productPlatform", productPlatform); |
| | | d.Add("productBrand", productBrand); |
| | | d.Add("networkConfig", true); |
| | | |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Get3tyBrandDevcieList, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取设备详情 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetDeviceInfo(string functionId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceIds", new List<string>() { functionId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieInfoList, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取设备详情列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetDeviceInfoList(List<string> functionIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceIds", functionIds); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieInfoList, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 刷新设备状态 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew RefreshDeviceStatus(List<string> functionIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceIds", functionIds); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | MainPage.Log($"读取设备状态:{requestJson}"); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_RefreshDeviceStatus, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 控制设备 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew ControlDevice(List<ApiAlinkControlActionObj> actionObjs) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway == null ? "0" : DB_ResidenceData.Instance.HomeGateway.gatewayId);//DriverLayer.Control.Ins.GatewayId); |
| | | d.Add("actions", actionObjs); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | MainPage.Log($"{requestJson}"); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_ControlDevice, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 编辑设备信息 |
| | | /// 绑定关系、名称、收藏 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew UpdataDevcieInfo(Function function) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceId", function.deviceId); |
| | | d.Add("name", function.name); |
| | | d.Add("collect", function.collect); |
| | | d.Add("roomIds", function.roomIds); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditDevice, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 更新设备绑定房间信息 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew UpdataDevcieBindRoomInfo(Function function) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceId", function.deviceId); |
| | | d.Add("roomIds", function.roomIds); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditDevice, requestJson); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 设备绑定房间 |
| | | /// </summary> |
| | | public ResponsePackNew BindDeviceToRoom(List<string> deviceIds,List<string> roomIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceIds", deviceIds); |
| | | d.Add("roomIds", roomIds); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_BindDeviceToRoom, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 设备解绑房间 |
| | | /// </summary> |
| | | public string UnbindDeviceToRoom(string deviceId, string roomId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceIds", new List<string>() { deviceId }); |
| | | d.Add("roomIds", new List<string>() { roomId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UnbindDeviceToRoom, requestJson).Code; |
| | | } |
| | | /// <summary> |
| | | /// 设备名称修改 |
| | | /// </summary> |
| | | public string EditDeviceName(string deviceId, string deviceName) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceId", deviceId); |
| | | d.Add("name", deviceName); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditDeviceName, requestJson).Code; |
| | | } |
| | | /// <summary> |
| | | /// 收藏设备 |
| | | /// </summary> |
| | | public ResponsePackNew CollectDevice(string deviceId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceIds",new List<string>() { deviceId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CollectDevice, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 取消收藏设备 |
| | | /// </summary> |
| | | public ResponsePackNew CancelCollectDevice(string deviceId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("deviceIds", new List<string>() { deviceId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectDevice, requestJson); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region Kaede --场景功能-------------------------- |
| | | /// <summary> |
| | | /// 获取场景列表 |
| | | /// 房间ID可空,默认查询住宅下所有房间 |
| | | /// </summary> |
| | | /// <param name="roomId">房间ID</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetSceneList(string roomId = null) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | if (roomId != null) |
| | | { |
| | | d.Add("roomId", roomId); |
| | | } |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneList, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 获取场景详情 |
| | | /// </summary> |
| | | /// <param name="seceneId">场景ID</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetSceneInfo(string seceneId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("userSceneIds",new List<string>() { seceneId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneInfo, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取场景详情列表 |
| | | /// </summary> |
| | | /// <param name="seceneId">场景ID</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetSceneListInfo(List<string> seceneIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("userSceneIds", seceneIds); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneInfo, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加场景 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew AddScene(Scene scene) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("scenes", new List<Scene>() { scene }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_AddSecne, requestJson); |
| | | |
| | | MainPage.Log($"{pack.Data}"); |
| | | |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 编辑场景 |
| | | /// </summary> |
| | | /// <param name="scene"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew EditScene(Scene scene) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("scenes", new List<Scene>() { scene }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditSecne, requestJson); |
| | | } |
| | | /// <summary> |
| | | /// 删除场景 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public string DeleteScene(string userSceneId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("userSceneIds", new List<string>() { userSceneId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DeleteSecne, requestJson).Code; |
| | | } |
| | | /// <summary> |
| | | /// 执行场景 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public string ExecuteScene(string userSceneId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("userSceneIds", new List<string>() { userSceneId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_ExecuteSecne, requestJson).Code; |
| | | } |
| | | /// <summary> |
| | | /// 收藏场景 |
| | | /// </summary> |
| | | /// <param name="userSceneId"></param> |
| | | /// <returns></returns> |
| | | public string CollectScene(string userSceneId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("userSceneIds", new List<string>() { userSceneId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CollectScene, requestJson).Code; |
| | | } |
| | | /// <summary> |
| | | /// 取消收藏场景 |
| | | /// </summary> |
| | | /// <param name="userSceneId"></param> |
| | | /// <returns></returns> |
| | | public string CancelCollectScene(string userSceneId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("userSceneIds", new List<string>() { userSceneId }); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectScene, requestJson).Code; |
| | | } |
| | | #endregion |
| | | |
| | | #region Kaede --房间功能-------------------------- |
| | | /// <summary> |
| | | /// 获取房间列表 |
| | | /// </summary> |
| | | /// <param name="GetType">获取类型:ROOM\FLOOR;不输入返回全部</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetRoomList(string GetType = "All") |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | if (GetType != "All") |
| | | { |
| | | d.Add("roomType", GetType); |
| | | } |
| | | d.Add("pageSize", "1000"); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetRoomList, requestJson); |
| | | |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 添加房间\楼层 |
| | | /// 楼层也属于房间 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew AddRoom(List<SpatialInfo> rooms) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("rooms", rooms); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_AddRoom, requestJson); |
| | | //var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString()); |
| | | //if (revData != null) |
| | | //{ |
| | | // SpatialInfo.CurrentSpatial.UpdateSpatialList(revData, OptionType.Update); |
| | | //} |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 修改房间信息 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew UpdateRoom(List<SpatialInfo> rooms) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("rooms", rooms); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UpdateRoom, requestJson); |
| | | //var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString()); |
| | | //if (revData != null) |
| | | //{ |
| | | // SpatialInfo.CurrentSpatial.UpdateSpatialList(revData,OptionType.Update); |
| | | //} |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 删除房间 |
| | | /// </summary> |
| | | /// <param name="roomIds"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew DeleteRoom(List<string> roomIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("ids", roomIds); |
| | | |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DelRoom, requestJson); |
| | | return pack; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region Kaede -- 安防接口____________________________ |
| | | /// <summary> |
| | | /// 获取安防列表 |
| | | /// </summary> |
| | | public ResponsePackNew GetSecurityList() |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_List, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 获取安防详情 |
| | | /// </summary> |
| | | /// <param name="sidList">安防sid集合</param> |
| | | /// <param name="userSecurityIds">安防云端id</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetSecurityInfo(List<string> sidList, List<string> userSecurityIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | //sids userSecurityIds 不能同时为空 |
| | | d.Add("sids", sidList); |
| | | d.Add("userSecurityIds", userSecurityIds); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_Info, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 添加安防 |
| | | /// </summary> |
| | | public ResponsePackNew AddSecurity(List<SecurityAlarm> securities) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | d.Add("securitys", securities); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_Add, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 编辑安防 |
| | | /// </summary> |
| | | public ResponsePackNew EditSecurity(List<SecurityAlarm> securities) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | d.Add("securitys", securities); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_Edit, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 删除安防 |
| | | /// </summary> |
| | | /// <param name="sidList">安防sid</param> |
| | | /// <param name="userSecurityIds">安防云端id</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew DeleteSecurity(List<string> sidList, List<string> userSecurityIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | //sids userSecurityIds 不能同时为空 |
| | | d.Add("sids", sidList); |
| | | d.Add("userSecurityIds", userSecurityIds); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_Delete, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 读取安防防区状态 |
| | | /// </summary> |
| | | /// <param name="sidList">安防sid</param> |
| | | /// <param name="userSecurityIds">安防云端id</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew ReadSecurityStatus(List<string> sidList, List<string> userSecurityIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | //sids userSecurityIds 不能同时为空 |
| | | d.Add("sids", sidList); |
| | | d.Add("userSecurityIds", userSecurityIds); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_StatusRead, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 设置安防防区状态 |
| | | /// </summary> |
| | | public ResponsePackNew SetSecurityStatus(List<SecurityState> securityStates) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("securitys", securityStates); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_StatusSet, requestJson); |
| | | return pack; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 安防bypass设置 |
| | | /// </summary> |
| | | public ResponsePackNew SetSecurityBypass(List<SecurityBypass> securityBypassStates) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("securitys", securityBypassStates); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_BypassSet, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 安防bypass读取 |
| | | /// </summary> |
| | | /// <param name="sidList">安防sid</param> |
| | | /// <param name="userSecurityIds">安防云端id</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew ReadSecurityBypass(List<string> sidList, List<string> userSecurityIds) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId); |
| | | //sids userSecurityIds 不能同时为空 |
| | | d.Add("sids", sidList); |
| | | d.Add("userSecurityIds", userSecurityIds); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_BypassRead, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 查询安防所有记录 |
| | | /// </summary> |
| | | public ResponsePackNew GetSecurityLogList(string pageSize,string pageNo) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("pageSize", pageSize); |
| | | d.Add("pageNo", pageNo); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_ListSecurityLog, requestJson); |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 查询安防报警记录 |
| | | /// </summary> |
| | | public ResponsePackNew GetSecurityAlarmLogList(string pageSize, string pageNo) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | d.Add("pageSize", pageSize); |
| | | d.Add("pageNo", pageNo); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_ListAlarmLog, requestJson); |
| | | return pack; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region Kaede --第三方品牌功能-------------------------- |
| | | /// <summary> |
| | | /// 获取第三方品牌列表 |
| | | /// </summary> |
| | | public ResponsePackNew Get3tyBrandList() |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetBrandList, requestJson); |
| | | |
| | | return pack; |
| | | } |
| | | /// <summary> |
| | | /// 获取绑定的第三方品牌列表 |
| | | /// </summary> |
| | | public ResponsePackNew Get3tyBindBrandList() |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetBindBrandList, requestJson); |
| | | |
| | | return pack; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 萤石云SDK相关接口_________________________ |
| | | /// <summary> |
| | | /// 河东获取萤石云子账号token的接口 |
| | | /// </summary> |
| | | public ResponsePackNew EZGetChildToken() |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_EZ_GetChildToken, requestJson); |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region ■ 可视对讲_________________________ |
| | | /// <summary> |
| | | /// 检查住宅是否绑定丰林,并获取门口机列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew CheckFlVideo() |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | var pack = HttpUtil.RequestHttpsPostFroHome( NewAPI.API_POST_FL_Check, requestJson); |
| | | return pack; |
| | | } |
| | | #endregion |
| | | |
| | | #region ■ 音箱语言控制相关_________________________ |
| | | /// <summary> |
| | | /// 获取已授权的音箱列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetSpeakerList() |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(new GetSpeakerObj |
| | | { |
| | | homeId = DB_ResidenceData.Instance.CurrentRegion.RegionID, |
| | | }); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_List_Get, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 编辑音箱授权备注 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew UpdateSpeakerRemark(UpdateSpeakerRemarkObj remarkObj) |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(remarkObj); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_Remark_Update, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 解除音箱绑定 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew UnbindSpeaker(string tokenId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("tokenId", tokenId); |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_Unbind, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取音箱分配的设备和场景列表 |
| | | /// </summary> |
| | | /// <param name="getType">0 是查询全部 1是查询设备 2是查询场景</param> |
| | | /// <param name="tokenId"></param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetSpeakerDeviceList(int getType, string tokenId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.RegionID); |
| | | d.Add("tokenId", tokenId); |
| | | if (getType > 0) |
| | | { |
| | | d.Add("isDevice", getType == 1); |
| | | } |
| | | var requestJson = HttpUtil.GetSignRequestJson(d); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_DeviceList_Get, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新音箱控制的设备和场景目标 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePackNew UpdateSpeakerDeviceList(UpdateSpeakerDeviceListObj updateSpeakerDeviceListObj) |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(updateSpeakerDeviceListObj); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_DeviceList_Update, requestJson); |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | } |