| | |
| | | using System.IO; |
| | | using System.Net;
|
| | | using System.Text; |
| | | using HDL_ON.DAL.Net; |
| | | using HDL_ON.Entity; |
| | | using Newtonsoft.Json.Linq; |
| | | using Shared; |
| | |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(new RefreshTokenObj() |
| | | { |
| | | refreshToken = MainPage.LoginUser.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()); |
| | | MainPage.LoginUser.loginTokenString = revertData.headerPrefix + revertData.accessToken; |
| | | MainPage.LoginUser.lastTime = DateTime.Now; |
| | | MainPage.LoginUser.SaveUserInfo(); |
| | | UserInfo.Current.loginTokenString = revertData.headerPrefix + revertData.accessToken; |
| | | UserInfo.Current.lastTime = DateTime.Now; |
| | | UserInfo.Current.SaveUserInfo(); |
| | | return true; |
| | | } |
| | | return false; |
| | |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_ForgetPwd, requestJson); |
| | | } |
| | | |
| | | |
| | | |
| | | ///// <summary> |
| | | ///// 获取登录验证码 |
| | | ///// </summary> |
| | | //public ResponsePack GetLoginVerCode(string account) |
| | | //{ |
| | | |
| | | // string jsonString = "{" +
|
| | | // "\"Account\":" + "\"" + account + "\"" + "," + |
| | | // "\"AreaCode\":" + "86" + |
| | | // "}"; |
| | | // return RequestHttps($"{severAddress}/ZigbeeUsers/LoginSendVerCode", jsonString, false); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 验证验证码 |
| | | /// </summary> |
| | | /// <param name="account"></param> |
| | | /// <param name="code"></param> |
| | | /// <param name="verifyType">验证类型</param> |
| | | /// <param name="account">验证账号</param> |
| | | /// <param name="code">验证码</param> |
| | | /// <param name="isPhone">是否手机</param> |
| | | /// <param name="verifySuccessFail">验证通过后,验证码是否失效</param> |
| | | /// <returns></returns> |
| | | public ResponsePackNew ValidatorCode(VerifyType verifyType, string account, string code, bool isPhone) |
| | | public ResponsePackNew ValidatorCode(VerifyType verifyType, string account, string code, bool isPhone, bool verifySuccessFail = true) |
| | | { |
| | | var requestObj = new VerifyCodeCheckObj() { verifyCode = code, verifyType = (int)verifyType }; |
| | | var requestObj = new VerifyCodeCheckObj() { verifyCode = code, verifyType = (int)verifyType , verifySuccessFail = verifySuccessFail }; |
| | | if (isPhone) |
| | | { |
| | | //手机 |
| | |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Verification_Check, requestJson); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 重设密码 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePack ResetPassword(string account, string password, string rePassword, int countryIndex) |
| | | { |
| | | string jsonString = "{" +
|
| | | "\"Account\":" + "\"" + account + "\"" + "," + |
| | | "\"Password\":" + "\"" + password + "\"" + "," + |
| | | "\"AgainPassword\":" + "\"" + rePassword + "\"" + "," + |
| | | "\"AreaCode\":" + countryIndex + |
| | | "}"; |
| | | return RequestHttps($"{severAddress}/ZigbeeUsers/ResetPassword", jsonString, false); |
| | | } |
| | | #endregion |
| | | |
| | | #region 个人信息部分 |
| | |
| | | /// 获取用户信息 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public void GetUserInfo() |
| | | public void GetUserInfo(bool bGetHeadImage = true) |
| | | { |
| | | var requestJson = HttpUtil.GetSignRequestJson(new NullObj()); |
| | | var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_GetMemberInfo, requestJson); |
| | | if (resultObj.Code == StateCode.SUCCESS) |
| | | { |
| | | var info = Newtonsoft.Json.JsonConvert.DeserializeObject<MemberInfoRes>(resultObj.Data.ToString()); |
| | | MainPage.LoginUser.userEmailInfo = info.memberEmail; |
| | | MainPage.LoginUser.userMobileInfo = info.memberPhone; |
| | | MainPage.LoginUser.userName = info.memberName; |
| | | |
| | | var headImageBytes = DownHeadImage(); |
| | | if (headImageBytes != null) |
| | | UserInfo.Current.userEmailInfo = info.memberEmail; |
| | | UserInfo.Current.userMobileInfo = info.memberPhone; |
| | | UserInfo.Current.userName = info.memberName; |
| | | UserInfo.Current.areaCode = info.memberPhonePrefix; |
| | | //是否需要获取头像 |
| | | if (bGetHeadImage) |
| | | { |
| | | MainPage.LoginUser.headImagePageBytes = headImageBytes; |
| | | FileStream fs = null; |
| | | try |
| | | var headImageBytes = DownHeadImage(); |
| | | if (headImageBytes != null) |
| | | { |
| | | MainPage.LoginUser.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(); |
| | | MainPage.LoginUser.headImagePagePath = filePath; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"download headImage error : {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | if (fs != null) |
| | | UserInfo.Current.headImagePageBytes = headImageBytes; |
| | | FileStream fs = null; |
| | | try |
| | | { |
| | | fs.Close(); |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | MainPage.LoginUser.SaveUserInfo(); |
| | | UserInfo.Current.SaveUserInfo(); |
| | | MainPage.Log("获取用户信息成功。"); |
| | | } |
| | | |
| | |
| | | //{ |
| | | // var dataStr = JObject.FromObject(revertObj.ResponseData); |
| | | // //"DistributedMark": "96439601-fd26-4768-8440-1d9dfa32c109", < !--帐号Id-- > |
| | | // MainPage.LoginUser.userEmailInfo = dataStr.GetValue("Email").ToString(); |
| | | // MainPage.LoginUser.userMobileInfo = dataStr.GetValue("Phone").ToString(); |
| | | // UserInfo.Current.userEmailInfo = dataStr.GetValue("Email").ToString(); |
| | | // UserInfo.Current.userMobileInfo = dataStr.GetValue("Phone").ToString(); |
| | | // FileStream fs = null; |
| | | // try |
| | | // { |
| | |
| | | // { |
| | | // var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(headImageString); |
| | | // var headImageBytes = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]>(jsonString); |
| | | // MainPage.LoginUser.headImagePageBytes = headImageBytes; |
| | | // 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(); |
| | | // MainPage.LoginUser.headImagePagePath = filePath; |
| | | // UserInfo.Current.headImagePagePath = filePath; |
| | | // } |
| | | // } |
| | | // catch (Exception ex) |
| | |
| | | // } |
| | | // // "GesturePwd": null, < !--手势密码-- > |
| | | // // "StringPwd": null , < !--字符串密码-- > |
| | | // MainPage.LoginUser.userName = dataStr.GetValue("UserName").ToString(); |
| | | // UserInfo.Current.userName = dataStr.GetValue("UserName").ToString(); |
| | | |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // }); |
| | | |
| | | // MainPage.LoginUser.SaveUserInfo(); |
| | | // UserInfo.Current.SaveUserInfo(); |
| | | // MainPage.Log("获取用户信息成功。"); |
| | | //} |
| | | |
| | |
| | | else |
| | | { |
| | | //邮箱 |
| | | requestObj.memberMail = account; |
| | | requestObj.memberEmail = account; |
| | | } |
| | | var requestJson = HttpUtil.GetSignRequestJson(requestObj); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson).Code; |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_BindWithAccount, requestJson).Code; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 解绑手机或者邮箱 |
| | | /// </summary> |
| | | /// <param name="isPhone"></param> |
| | | /// <returns></returns> |
| | | public string UnBindAccount(bool isPhone) |
| | | { |
| | | var requestObj = new UnBindAccountObj() { unBindLabel = isPhone ? "PHONE": "EMAIL" }; |
| | | var requestJson = HttpUtil.GetSignRequestJson(requestObj); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UnbindWithAccount, requestJson).Code; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 住宅部分 |
| | |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetHomeListObj() { homeType = homeType.ToString() }); |
| | | var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Gethomepager, requestJson); |
| | | if(resultObj.Code == StateCode.SUCCESS) |
| | | if (resultObj.Code == StateCode.SUCCESS) |
| | | { |
| | | var homeList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoResNew>>(resultObj.Data.ToString()); |
| | | if (homeList == null || homeList.Count == 0) { |
| | | if (homeList == null || homeList.Count == 0) |
| | | { |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | | MainPage.LoginUser.regionList = new List<RegionInfoRes>(); |
| | | |
| | | UserInfo.Current.regionList = new List<RegionInfoRes>(); |
| | | |
| | | foreach (var mHome in homeList) |
| | | { |
| | | var home = new RegionInfoRes() |
| | |
| | | { |
| | | continue; |
| | | } |
| | | MainPage.LoginUser.regionList.Add(home); |
| | | if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.CurReginID)) |
| | | { |
| | | DB_ResidenceData.residenceData.CurReginID = MainPage.LoginUser.regionList[0].RegionID; |
| | | } |
| | | 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(); |
| | | MainPage.LoginUser.SaveUserInfo(); |
| | | UserInfo.Current.SaveUserInfo(); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | return resultObj.Code; |
| | |
| | | // "\"RequestVersion\":" + "\"" + MainPage.VersionString + "\"" + "," + |
| | | // "\"RequestSource\":" + "\"" + "2" + "\"" + "," + |
| | | // "\"HomeType\":" + "\"" + "1" + "\"" + "," + |
| | | // "\"LoginAccessToken\":" + "\"" + MainPage.LoginUser.loginTokenString + "\"" + |
| | | // "\"LoginAccessToken\":" + "\"" + UserInfo.Current.loginTokenString + "\"" + |
| | | // "}"; |
| | | //var responsePack = RequestHttps($"{severAddress}/App/GetHomePager", jsonString, false); |
| | | |
| | |
| | | // // } |
| | | // // ] |
| | | // //}} |
| | | // MainPage.LoginUser.regionList = new List<RegionInfoRes>(); |
| | | // UserInfo.Current.regionList = new List<RegionInfoRes>(); |
| | | // foreach (var jsonData in dataStr.GetValue("PageData")) |
| | | // { |
| | | // var homeJsonStr = JObject.FromObject(jsonData); |
| | |
| | | // { |
| | | // continue; |
| | | // } |
| | | // MainPage.LoginUser.regionList.Add(home); |
| | | // UserInfo.Current.regionList.Add(home); |
| | | // if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.CurReginID)) |
| | | // { |
| | | // DB_ResidenceData.residenceData.CurReginID = MainPage.LoginUser.regionList[0].RegionID; |
| | | // DB_ResidenceData.residenceData.CurReginID = UserInfo.Current.regionList[0].RegionID; |
| | | // } |
| | | // } |
| | | // DB_ResidenceData.residenceData.SaveResidenceData(); |
| | | // MainPage.LoginUser.SaveUserInfo(); |
| | | // UserInfo.Current.SaveUserInfo(); |
| | | // } |
| | | //} |
| | | //return responsePack.StateCode; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 编辑住宅信息 |
| | | /// </summary> |
| | | /// <param name="editId">0 修改住宅名字、1 修改住宅地址</param> |
| | | /// <param name="editName"></param> |
| | | /// <returns></returns> |
| | | public ResponsePack EditResidenceInfo() |
| | | public ResponsePackNew EditResidenceInfo(int editId, string editName) |
| | | { |
| | | //创建字典 |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | //添加元素 |
| | | d.Add("RequestVersion", MainPage.VersionString); |
| | | d.Add("RequestSource", "2"); |
| | | d.Add("LoginAccessToken", MainPage.LoginUser.loginTokenString); |
| | | d.Add("HomeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | d.Add("HomeType", 1); |
| | | d.Add("Name", DB_ResidenceData.residenceData.residecenInfo.Name); |
| | | d.Add("Address", DB_ResidenceData.residenceData.residecenInfo.Address); |
| | | //添加完成以后把字典类中数据格式化为json字符串 |
| | | //将对象转为json字符串 |
| | | var requestObj = new AddOrUpdateHomeObj() |
| | | { |
| | | homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, |
| | | }; |
| | | |
| | | string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps($"{severAddress}/App/EditHome", jsonString, false); |
| | | if(editId == 0) |
| | | { |
| | | requestObj.homeName = editName; |
| | | } |
| | | else if(editId == 1) |
| | | { |
| | | requestObj.Address = editName; |
| | | } |
| | | |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Home_UpdateHome, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取刷新当前住宅网关接口 |
| | | /// </summary> |
| | | public void 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) |
| | | { |
| | | var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGatewayInfo>>(revertObj.Data.ToString()); |
| | | if (nowhomeId == DB_ResidenceData.residenceData.residecenInfo.RegionID) |
| | | { |
| | | if(mHomeGatewayRes != null) |
| | | { |
| | | if (mHomeGatewayRes.Count > 0) |
| | | { |
| | | DB_ResidenceData.residenceData.residenceGatewayMAC = mHomeGatewayRes[0].mac; |
| | | } |
| | | else |
| | | { |
| | | DB_ResidenceData.residenceData.residenceGatewayMAC = ""; |
| | | |
| | | } |
| | | DB_ResidenceData.residenceData.SaveResidenceData(); |
| | | } |
| | | |
| | | if (mHomeGatewayRes != null) |
| | | { |
| | | //Utlis.WriteLine ("获得当前住宅网关个数:" + mHomeGatewayRes.content.Count); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //提示错误 |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <returns></returns> |
| | | public ResponsePackNew GetResidenceMemberAccount() |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeIdObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID }); |
| | | return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Child_FindAll, requestJson, null, DB_ResidenceData.residenceData.residecenInfo.regionUrl); |
| | | var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID }); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_FindAll, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除住宅下的成员账号 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePack DeleteResidenceMemberAccount(string memberAccount) |
| | | public ResponsePackNew DeleteResidenceMemberAccount(ResidenceMemberInfo subaccount) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("SubAccount", memberAccount); |
| | | d.Add("HouseDistributedMark", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps($"{severAddress}/ZigbeeUsers/DeletedSubAccount", jsonString, true); |
| | | var requestObj = new ChildDeleteObj() |
| | | { |
| | | childAccountId = subaccount.childAccountId, |
| | | homeId = subaccount.homeId |
| | | }; |
| | | var requestJson = HttpUtil.GetSignRequestJson(requestObj); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Delete, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <param name="nickName"></param> |
| | | /// <param name="subAccountGuid"></param> |
| | | /// <returns></returns> |
| | | public ResponsePack EditSubAccountNickName(string nickName, string subAccountGuid) |
| | | public ResponsePackNew EditSubAccountNickName(string nickName, string childAccountId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("SubAccountGuid", subAccountGuid); |
| | | d.Add("NickName", nickName); |
| | | string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps($"{severAddress}/ZigbeeUsers/EditSubAccountNickName", jsonString, true); |
| | | var requestJson = HttpUtil.GetSignRequestJson(new UpdateChildNickNameObj() |
| | | { |
| | | homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, |
| | | childAccountId = childAccountId, |
| | | nickName = nickName, |
| | | }); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 修改子账号创建场景权限 |
| | |
| | | /// <param name="nickName"></param> |
| | | /// <param name="subAccountGuid"></param> |
| | | /// <returns></returns> |
| | | public ResponsePack ChangeCreateSceneState(string homeGuid, string subAccountGuid) |
| | | public ResponsePackNew ChangeCreateSceneState(bool isAllow, string childAccountId) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("SubAccountGuid", subAccountGuid); |
| | | d.Add("HomeGuid", homeGuid); |
| | | string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps($"{severAddress}/ZigbeeUsers/ChangeCreateSceneState", jsonString, true); |
| | | var requestJson = HttpUtil.GetSignRequestJson(new UpdateChildAllowCreateSceneObj() |
| | | { |
| | | homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, |
| | | childAccountId = childAccountId, |
| | | isAllowCreateScene = isAllow, |
| | | }); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取住宅下子账号的共享数据列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePack GetShareDataByMemberAccount(string memberId) |
| | | 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); |
| | | //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 = 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 ResponsePack GetShareData(string memberId, string hId) |
| | | 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); |
| | | //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 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 ResponsePack AddShareData(ShareData shareData) |
| | | 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); |
| | | //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 ResponsePack EditShareData(ShareData shareData) |
| | | public ResponsePackNew EditShareData(ShareData 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); |
| | | 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 ResponsePack DeleteShareData(ShareData shareData) |
| | | public ResponsePackNew DeleteShareData(ShareData shareData) |
| | | { |
| | | 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); |
| | | 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 ResponsePack DeleteCurrentResidenceSharedData(ShareData shareData) |
| | | { |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add("SubAccountDistributedMark", shareData.SubAccountDistributedMark); |
| | | d.Add("HouseDistributedMark", shareData.HouseDistributedMark); |
| | | string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps($"{severAddress}/ZigbeeDataShare/DeleteShareData", jsonString, true); |
| | | } |
| | | ///// <summary> |
| | | ///// 删除子账号当前住宅的所有共享数据 |
| | | ///// </summary> |
| | | ///// <returns></returns> |
| | | //public ResponsePack DeleteCurrentResidenceSharedData(ShareData shareData) |
| | | //{ |
| | | // Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | // d.Add("SubAccountDistributedMark", shareData.SubAccountDistributedMark); |
| | | // d.Add("HouseDistributedMark", shareData.HouseDistributedMark); |
| | | // string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | // return RequestHttps($"{severAddress}/ZigbeeDataShare/DeleteShareData", jsonString, true); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 绑定子账号到住宅下 |
| | |
| | | /// <param name="subAccount"></param> |
| | | /// <param name="nickName"></param> |
| | | /// <returns></returns> |
| | | public ResponsePack BindResidenceMemberAccount(string subAccount, string nickName) |
| | | public ResponsePackNew BindResidenceMemberAccount(string subAccount, string nickName) |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("SubAccount", subAccount); |
| | | d.Add("HouseDistributedMark", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | d.Add("Nickname", nickName); |
| | | d.Add("IsAllowRemoteCtrl", true); |
| | | //添加子账号 |
| | | var requestObj = new ChildAddObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, account = subAccount, nickName = nickName }; |
| | | var requestJson = HttpUtil.GetSignRequestJson(requestObj); |
| | | return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Add, requestJson); |
| | | |
| | | string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps($"{severAddress}/ZigbeeUsers/BindSubAccount", jsonString, true); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取住宅下的成员账号 |
| | | /// 获取住宅下的成员账号信息 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public ResponsePack GetResidenceMemberAccountInfo(string account) |
| | |
| | | string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); |
| | | return RequestHttps($"{severAddress}/ZigbeeUsers/GetSubAccountInfo", jsonString, true); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 获取MQTT远程连接信息接口 |
| | | /// </summary> |
| | | public MqttInfo GetMqttRemoteInfo(string attachClientId) |
| | | { |
| | | try |
| | | { |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetMqttRemoteInfoObj() |
| | | { |
| | | attachClientId = attachClientId, |
| | | homeType = HomeTypeEnum.BUSPRO.ToString() |
| | | }); |
| | | var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetMqttRemoteInfo, requestJson, DB_ResidenceData.residenceData.residecenInfo.regionUrl); |
| | | if (revertObj.Code == StateCode.SUCCESS) |
| | | { |
| | | return Newtonsoft.Json.JsonConvert.DeserializeObject<MqttInfo>(revertObj.Data.ToString()); |
| | | } |
| | | else |
| | | { |
| | | Utlis.WriteLine("GetMqttRemoteInfo error"); |
| | | return null; |
| | | } |
| | | } |
| | | catch |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | #region 推送 |
| | | // /// <summary> |
| | | // /// 提交推送需要的关键标识信息 |
| | | // /// </summary> |
| | | // public bool PushserivceAddPushInfo() |
| | | // { |
| | | // try |
| | | // { |
| | | // string DeviceType = "Android"; |
| | | //#if __IOS__ |
| | | // DeviceType = "Iphone"; |
| | | //#endif |
| | | // //是否生成模式 |
| | | // bool isProduce = true; |
| | | //#if DEBUG |
| | | // isProduce = false; |
| | | //#endif |
| | | |
| | | // if (string.IsNullOrEmpty(UserConfig.Instance.tokenID)) return false; |
| | | |
| | | // var mAddpushinfoObj = new AddpushinfoObj() |
| | | // { |
| | | // pushid = UserConfig.Instance.tokenID, |
| | | // deviceName = UserConfig.Instance.phoneName, |
| | | // deviceType = DeviceType, |
| | | // produce = isProduce, |
| | | |
| | | // }; |
| | | // var mAddpushinfoJson = Newtonsoft.Json.JsonConvert.SerializeObject(mAddpushinfoObj); |
| | | // var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Pushserivce_Addpushinfo, mAddpushinfoJson); |
| | | // if (revertObj.Code == StateCode.SUCCESS) |
| | | // { |
| | | // if (revertObj.Data != null) |
| | | // { |
| | | // var pushId = revertObj.Data.ToString(); |
| | | // if (!string.IsNullOrEmpty(pushId)) |
| | | // { |
| | | // UserConfig.Instance.PushId = pushId; |
| | | // UserConfig.Instance.SaveUserConfig(); |
| | | // return true; |
| | | // } |
| | | // } |
| | | // Utlis.WriteLine("Addpushinfo 成功"); |
| | | // } |
| | | // else |
| | | // { |
| | | // Utlis.WriteLine("Addpushinfo 失败"); |
| | | // } |
| | | |
| | | // return false; |
| | | // } |
| | | // catch |
| | | // { |
| | | // return false; |
| | | // } |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// 查询推送信息列表 |
| | | // /// </summary> |
| | | // /// <returns></returns> |
| | | // public ResponsePackNew PushserivceGetpushmessagelist() |
| | | // { |
| | | // var urlSegmentDic = HttpUtil.GetBaseQueryDictionary(); |
| | | // urlSegmentDic.Add("pushId", UserConfig.Instance.PushId); |
| | | // return HttpUtil.RequestHttpsGet(NewAPI.API_GET_Pushserivce_Getpushmessagelist, null, urlSegmentDic); |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// 清空消息记录 |
| | | // /// </summary> |
| | | // /// <returns></returns> |
| | | // public bool PushserivceClearmessagelist() |
| | | // { |
| | | // if (string.IsNullOrEmpty(UserConfig.Instance.PushId)) return false; |
| | | |
| | | // var urlSegmentDic = new Dictionary<string, object>(); |
| | | // urlSegmentDic.Add("pushId", UserConfig.Instance.PushId); |
| | | // var revertObj = HttpUtil.RequestHttpsDelete(NewAPI.API_DELETE_Pushserivce_Clearmessagelist, null, null, urlSegmentDic); |
| | | // if (revertObj.Code.ToUpper() == HttpUtil.SUCCESS_CODE) |
| | | // { |
| | | // return true; |
| | | // } |
| | | // else |
| | | // { |
| | | |
| | | // } |
| | | // return false; |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// 退出登录,清空推送标识 |
| | | // /// </summary> |
| | | // /// <returns></returns> |
| | | // public bool PushserivceSignOut() |
| | | // { |
| | | // if (string.IsNullOrEmpty(UserConfig.Instance.PushId)) return false; |
| | | // try |
| | | // { |
| | | // var urlSegmentDic = new Dictionary<string, object>(); |
| | | // urlSegmentDic.Add("pushId", UserConfig.Instance.PushId); |
| | | // var revertObj = HttpUtil.RequestHttpsDelete(NewAPI.API_DELETE_Pushserivce_Deletepushinfo, null, null, urlSegmentDic); |
| | | // if (revertObj.Code.ToUpper() == HttpUtil.SUCCESS_CODE) |
| | | // { |
| | | // return true; |
| | | // } |
| | | // else |
| | | // { |
| | | |
| | | // } |
| | | // return false; |
| | | // } |
| | | // catch |
| | | // { |
| | | // return false; |
| | | // } |
| | | // } |
| | | |
| | | #endregion |
| | | |
| | |
| | | } |
| | | return backupList; |
| | | } |
| | | |
| | | /* 2020-09-01 弃用 恢复旧数据功能在bus软件上实现 |
| | | /// <summary> |
| | | /// 获取备份文件列表 |
| | |
| | | */ |
| | | |
| | | #endregion |
| | | |
| | | |
| | | } |
| | | } |