CrabtreeOn,印度客户定制APP,迁移2.0平台版本
wxr
2022-11-01 dc14dbad8e3a55b57cadddba40c3f437e5e80fc5
Crabtree/SmartHome/HDL/Common/HttpUtil/HttpServerRequest.cs
@@ -31,7 +31,6 @@
        }
        #endregion
        #region ■ 通用请求接口_______________________
        /// <summary>
        /// 根椐用户账号获取注册区域 免登录 // 检测账号是否注册也用这个接口
@@ -67,7 +66,7 @@
        }
        #endregion
        #region 注册、登录部分
        #region * 注册、登录部分___________________________
        /// <summary>
        /// 通用 发送验证码方法
        /// </summary>
@@ -151,7 +150,7 @@
                requestObj.memberEmail = account;
            }
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_Register, requestJson);
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_Register, requestJson, "", "", HttpUtil.TIME_OUT_LONG);
        }
        /// <summary>
@@ -222,7 +221,7 @@
        #endregion
        #region 个人信息部分
        #region * 个人信息部分___________________________
        ///// <summary>
        ///// 获取用户信息
        ///// </summary>
@@ -237,7 +236,7 @@
        //        MainPage.LoginUser.userEmailInfo = info.memberEmail;
        //        MainPage.LoginUser.userMobileInfo = info.memberPhone;
        //        MainPage.LoginUser.userName = info.memberName;
        //        if (!string.IsNullOrEmpty(info.memberPhonePrefix))
        //        {
        //            MainPage.LoginUser.areaCode = info.memberPhonePrefix;
@@ -291,6 +290,26 @@
                memberName = userName
            });
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson);
        }
        /// <summary>
        /// 标记2.0平台数据
        /// </summary>
        /// <returns></returns>
        public bool Mark (string newHomeId)
        {
            Dictionary<string, object> dic = new Dictionary<string, object> ();
            dic.Add ("homeId", newHomeId);
            dic.Add ("mark", true);
            var requestJson = HttpUtil.GetSignRequestJson (dic);
            var revertObj = HttpUtil.RequestHttpsPost (NewAPI.API_Post_Mark, requestJson);
            if (revertObj != null) {
                if (revertObj.Code == "0") {
                        UserConfig.Instance.CurrentRegion.indiaIsAsyncDeviceMark = true;
                        return true;
                }
            }
            return false;
        }
        ///// <summary>
@@ -358,15 +377,15 @@
        #endregion
        #region 住宅部分
        ///// <summary>
        ///// 获取住宅列表
        ///// </summary>
        //public ResponsePackNew GetHomeList (HomeTypeEnum homeType = HomeTypeEnum.BUSPRO)
        //{
        //    var requestJson = HttpUtil.GetSignRequestJson (new GetHomeListObj () { homeType = homeType.ToString () });
        //    return HttpUtil.RequestHttpsPost (NewAPI.API_POST_Gethomepager, requestJson);
        //}
        #region * 住宅部分___________________________
        /// <summary>
        /// 获取住宅列表
        /// </summary>
        public ResponsePackNew GetHomeList (HomeTypeEnum homeType = HomeTypeEnum.BUSPRO)
        {
            var requestJson = HttpUtil.GetSignRequestJson (new GetHomeListObj () { homeType = homeType.ToString () });
            return HttpUtil.RequestHttpsPost (NewAPI.API_POST_Gethomepager, requestJson);
        }
        /// <summary>
        /// 获取住宅列表
        /// </summary>
@@ -427,6 +446,9 @@
                isRemoteControl = mHome.isRemoteControl,
                isBindGateway = mHome.isBindGateway,
                regionUrl = mHome.regionUrl,
                debugStaffUserId = mHome.debugStaffUserId,
                debugPerm = mHome.debugPerm,
                indiaIsAsyncDeviceMark = mHome.indiaIsAsyncDeviceMark
            };
        }
@@ -483,6 +505,7 @@
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_Home_Delete, requestJson);
        }
        #region 网关相关
        /// <summary>
        /// 绑定网关
        /// </summary>
@@ -535,6 +558,7 @@
                return "";
            }
        }
        /// <summary>
        /// 获取网关信息
        /// </summary>
@@ -558,9 +582,9 @@
            }
            return revertObj.Code;
        }
        #endregion
        #region 子账号相关
        /// <summary>
        /// 获取住宅下的成员账号
        /// </summary>
@@ -569,6 +593,21 @@
        {
            var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = UserConfig.Instance.CurrentRegion.Id });
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_FindAll, requestJson);
        }
        /// <summary>
        /// 绑定子账号到住宅下
        /// </summary>
        /// <param name="subAccount"></param>
        /// <param name="nickName"></param>
        /// <returns></returns>
        public ResponsePackNew BindResidenceMemberAccount (string subAccount, string nickName)
        {
            //添加子账号
            var requestObj = new ChildAddObj () { homeId = UserConfig.Instance.CurrentRegion.Id, account = subAccount, nickName = nickName };
            var requestJson = HttpUtil.GetSignRequestJson (requestObj);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_Child_Add, requestJson);
        }
        /// <summary>
@@ -603,6 +642,7 @@
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson);
        }
        /// <summary>
        /// 修改子账号创建场景权限
        /// </summary>
@@ -619,6 +659,54 @@
            });
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson);
        }
        #endregion
        #region 调试人员管理
        /// <summary>
        /// 添加调试人员
        /// </summary>
        /// <param name="account">添加调试人员账号</param>
        /// <returns></returns>
        public ResponsePackNew AddDebugStaff (string account)
        {
            Dictionary<string, object> d = new Dictionary<string, object> ();
            d.Add ("homeId", UserConfig.Instance.CurrentRegion.Id);
            d.Add ("account", account);
            var requestJson = HttpUtil.GetSignRequestJson (d);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_DebugStaff_ADD, requestJson);
        }
        /// <summary>
        /// 删除调试人员
        /// </summary>
        /// <param name="account">添加调试人员账号</param>
        /// <returns></returns>
        public ResponsePackNew DelDebugStaff ()
        {
            Dictionary<string, object> d = new Dictionary<string, object> ();
            d.Add ("homeId", UserConfig.Instance.CurrentRegion.Id);
            var requestJson = HttpUtil.GetSignRequestJson (d);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_DebugStaff_DELETE, requestJson);
        }
        /// <summary>
        /// 添加调试人员
        /// </summary>
        /// <param name="account">添加调试人员账号</param>
        /// <returns></returns>
        public ResponsePackNew UpdateDebugPerm (bool debugPerm)
        {
            Dictionary<string, object> d = new Dictionary<string, object> ();
            d.Add ("homeId", UserConfig.Instance.CurrentRegion.Id);
            d.Add ("debugPerm", debugPerm);
            var requestJson = HttpUtil.GetSignRequestJson (d);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_DebugStaff_UPDATE, requestJson);
        }
        #endregion
        #region 新数据分享
        /// <summary>
@@ -662,23 +750,92 @@
        }
        #endregion
        /// <summary>
        /// 绑定子账号到住宅下
        /// </summary>
        /// <param name="subAccount"></param>
        /// <param name="nickName"></param>
        /// <returns></returns>
        public ResponsePackNew BindResidenceMemberAccount(string subAccount, string nickName)
        {
            //添加子账号
            var requestObj = new ChildAddObj() { homeId = UserConfig.Instance.CurrentRegion.Id, account = subAccount, nickName = nickName };
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Add, requestJson);
        #endregion
        #region * 备份相关部分___________________________
        /// <summary>
        /// 创建备份文件夹
        /// </summary>
        /// <param name="folderName"></param>
        /// <returns></returns>
        public ResponsePackNew GetHomeDataBackupList ()
        {
            var requestObj = new HomeIdObj () {
                homeId = UserConfig.Instance.CurrentRegion.Id,
            };
            var requestJson = HttpUtil.GetSignRequestJson (requestObj);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_Folder_FindAll, requestJson);
        }
        /// <summary>
        /// 创建备份文件夹
        /// </summary>
        /// <param name="folderName"></param>
        /// <returns></returns>
        public ResponsePackNew CreateBackupFolder (string folderName)
        {
            var requestObj = new BackupFolderCreateObj () {
                backupClassify = BackupClassify.USER_DEFINED_BACKUP.ToString (),
                backupDataType = BackupDataType.HDL_ON.ToString (),
                homeId = UserConfig.Instance.CurrentRegion.Id,
                folderName = folderName,
            };
            var requestJson = HttpUtil.GetSignRequestJson (requestObj);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_Folder_Create, requestJson);
        }
        /// <summary>
        /// 修改备份文件夹名字
        /// </summary>
        /// <param name="newName"></param>
        /// <param name="mBackupFile"></param>
        /// <returns></returns>
        public ResponsePackNew UpdateBackupFolderName (string newName, BackupListNameInfoRes mBackupFile)
        {
            var requestObj = new UpdateBackupObj () {
                folderId = mBackupFile.id,
                homeId = mBackupFile.homeId,
                folderName = newName,
            };
            var requestJson = HttpUtil.GetSignRequestJson (requestObj);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_Folder_Update, requestJson);
        }
        /// <summary>
        /// 删除备份文件夹
        /// </summary>
        /// <param name="folderId"></param>
        /// <returns></returns>
        public ResponsePackNew DeleteBackupFolder (string folderId)
        {
            var requestObj = new BackupFolderIdObj () {
                homeId = UserConfig.Instance.CurrentRegion.Id,
                folderId = folderId,
            };
            var requestJson = HttpUtil.GetSignRequestJson (requestObj);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_Folder_Delete, requestJson);
        }
        /// <summary>
        /// 获取备份文件夹所有文件列表
        /// </summary>
        /// <param name="folderId"></param>
        /// <returns></returns>
        public ResponsePackNew GetBackupFolderAllFileList (string folderId)
        {
            var requestObj = new BackupFolderIdObj () {
                homeId = UserConfig.Instance.CurrentRegion.Id,
                folderId = folderId,
            };
            var requestJson = HttpUtil.GetSignRequestJson (requestObj);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_File_FindAll, requestJson);
        }
        #endregion
        #region * Mqtt___________________________
        /// <summary>
        /// 获取MQTT远程连接信息接口
        /// </summary>
@@ -698,7 +855,7 @@
                }
                else
                {
                    Utlis.WriteLine("GetMqttRemoteInfo error");
                    Utlis.WriteLine("GetMqttRemoteInfo error Code:" + revertObj.Code);
                    return null;
                }
            }
@@ -707,9 +864,9 @@
                return null;
            }
        }
        #endregion
        #region 获取天气部分
        #region * 获取天气部分___________________________
        /// <summary>
        /// 获取指定经纬度的城市信息
        /// </summary>
@@ -766,6 +923,106 @@
        #endregion
        #region * 上传设备列表___________________________
        /// <summary>
        /// 上传Oid列表
        /// </summary>
        /// <param name="mOids"></param>
        /// <returns></returns>
        public ResponsePackNew UploadDeviceOidList (Oids mOids)
        {
            var requestJson = HttpUtil.GetSignRequestJson (mOids);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_Device_Oid_Add, requestJson);
        }
        /// <summary>
        /// 上传Sid列表
        /// </summary>
        /// <param name="mSids"></param>
        /// <returns></returns>
        public ResponsePackNew UploadDeviceSidList (Sids mSids)
        {
            var requestJson = HttpUtil.GetSignRequestJson (mSids);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.API_POST_Device_Sid_Add, requestJson);
        }
        /// <summary>
        /// 获取设备列
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew GetDeviceList ()
        {
            var requestJson = HttpUtil.GetSignRequestJson (new HomeIdObj {
                homeId = UserConfig.Instance.CurrentRegion.Id,
            });
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.Api_Post_GetDevcieList, requestJson);
        }
        #endregion
        #region 音箱语言控制相关___________________________
        /// <summary>
        /// 获取已授权的音箱列表
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew GetSpeakerList ()
        {
            var requestJson = HttpUtil.GetSignRequestJson (new GetSpeakerObj {
                homeId = UserConfig.Instance.CurrentRegion.Id,
            });
            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", UserConfig.Instance.CurrentRegion.Id);
            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
        //#region Kaede --设备功能——————————————————————————————————
        ///// <summary>
@@ -928,24 +1185,23 @@
        //#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", UserConfig.Instance.CurrentRegion.RegionID);
        //    if (roomId != null)
        //    {
        //        d.Add("roomId", roomId);
        //    }
        /// <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", UserConfig.Instance.CurrentRegion.Id);
            if (roomId != null) {
                d.Add ("roomId", roomId);
            }
        //    var requestJson = HttpUtil.GetSignRequestJson(d);
        //    return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneList, requestJson);
        //}
            var requestJson = HttpUtil.GetSignRequestJson (d);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.Api_Post_GetSecneList, requestJson);
        }
        ///// <summary>
        ///// 获取场景详情
        ///// </summary>
@@ -977,34 +1233,57 @@
        ///// <summary>
        ///// 添加场景
        ///// </summary>
        ///// <param name="sceneList"></param>
        ///// <returns></returns>
        //public ResponsePackNew AddScene(Scene scene)
        //public ResponsePackNew AddScene (List<HDLLinkScene> sceneList)
        //{
        //    Dictionary<string, object> d = new Dictionary<string, object>();
        //    d.Add("homeId", UserConfig.Instance.CurrentRegion.RegionID);
        //    d.Add("scenes", new List<Scene>() { scene });
        //    Dictionary<string, object> d = new Dictionary<string, object> ();
        //    d.Add ("homeId", UserConfig.Instance.CurrentRegion.Id);
        //    d.Add ("scenes", sceneList);
        //    var requestJson = HttpUtil.GetSignRequestJson(d);
        //    var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_AddSecne, requestJson);
        //    var requestJson = HttpUtil.GetSignRequestJson (d);
        //    var pack = HttpUtil.RequestHttpsPostFroHome (NewAPI.Api_Post_AddSecne, requestJson);
        //    Utlis.WriteLine($"{pack.Data}");
        //    Utlis.WriteLine ($"{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", UserConfig.Instance.CurrentRegion.RegionID);
        //    d.Add("scenes", new List<Scene>() { scene });
        //    var requestJson = HttpUtil.GetSignRequestJson(d);
        //    return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditSecne, requestJson);
        //}
        /// <summary>
        /// 全量同步场景
        /// </summary>
        /// <param name="sceneList"></param>
        /// <returns></returns>
        public ResponsePackNew SecneSyncList (List<HDLLinkScene> sceneList)
        {
            Dictionary<string, object> d = new Dictionary<string, object> ();
            d.Add ("homeId", UserConfig.Instance.CurrentRegion.Id);
            d.Add ("scenes", sceneList);
            var requestJson = HttpUtil.GetSignRequestJson (d);
            var pack = HttpUtil.RequestHttpsPostFroHome (NewAPI.Api_Post_Secne_SyncList, requestJson);
            Utlis.WriteLine ($"{pack.Data}");
            return pack;
        }
        /// <summary>
        /// 更新场景
        /// </summary>
        /// <param name="sceneList"></param>
        /// <returns></returns>
        public ResponsePackNew EditScene (List<HDLLinkScene> sceneList)
        {
            Dictionary<string, object> d = new Dictionary<string, object> ();
            d.Add ("homeId", UserConfig.Instance.CurrentRegion.Id);
            d.Add ("scenes", sceneList);
            var requestJson = HttpUtil.GetSignRequestJson (d);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.Api_Post_EditSecne, requestJson);
        }
        ///// <summary>
        ///// 删除场景
        ///// </summary>
@@ -1078,7 +1357,7 @@
        //    d.Add("pageSize", "1000");
        //    var requestJson = HttpUtil.GetSignRequestJson(d);
        //    var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetRoomList, requestJson);
        //    return pack;
        //}
        ///// <summary>
@@ -1137,5 +1416,23 @@
        //}
        //#endregion
        /// <summary>
        /// 修改设备备注
        /// </summary>
        /// <param name="deviceId"></param>
        /// <param name="homeId"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public ResponsePackNew EditDeviceName (string deviceId,string homeId,string name)
        {
            var d = new Dictionary<string, object> ();
            d.Add ("deviceId", deviceId);
            d.Add ("homeId", homeId);
            d.Add ("name", name);
            var requestJson = HttpUtil.GetSignRequestJson (d);
            var pack = HttpUtil.RequestHttpsPostFroHome (NewAPI.Api_Post_EditDeviceName, requestJson);
            return pack;
        }
    }
}