CrabtreeOn,印度客户定制APP,迁移2.0平台版本
1
wxr
2023-03-31 d53e6af2c5f17838fa79659614b15a2a1f383399
Crabtree/SmartHome/HDL/Common/HttpUtil/HttpServerRequest.cs
@@ -150,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>
@@ -292,6 +292,26 @@
            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>
        ///// 更新用户头像
        ///// </summary>
@@ -358,14 +378,14 @@
        #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);
        //}
        /// <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>
@@ -426,6 +446,9 @@
                isRemoteControl = mHome.isRemoteControl,
                isBindGateway = mHome.isBindGateway,
                regionUrl = mHome.regionUrl,
                debugStaffUserId = mHome.debugStaffUserId,
                debugPerm = mHome.debugPerm,
                indiaIsAsyncDeviceMark = mHome.indiaIsAsyncDeviceMark
            };
        }
@@ -636,6 +659,53 @@
            });
            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 新数据分享
@@ -855,7 +925,7 @@
        #region * 上传设备列表___________________________
        /// <summary>
        ///
        /// 上传Oid列表
        /// </summary>
        /// <param name="mOids"></param>
        /// <returns></returns>
@@ -866,9 +936,9 @@
        }
        /// <summary>
        ///
        /// 上传Sid列表
        /// </summary>
        /// <param name="mOids"></param>
        /// <param name="mSids"></param>
        /// <returns></returns>
        public ResponsePackNew UploadDeviceSidList (Sids mSids)
        {
@@ -877,9 +947,8 @@
        }
        /// <summary>
        ///
        /// 获取设备列
        /// </summary>
        /// <param name="mOids"></param>
        /// <returns></returns>
        public ResponsePackNew GetDeviceList ()
        {
@@ -892,6 +961,83 @@
        #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
        /// <summary>
        /// 申请设备密钥
        /// </summary>
        /// <param name="mac"></param>
        /// <returns></returns>
        public ResponsePackNew ApplyDeviceSecret (string mac)
        {
            Dictionary<string, object> d = new Dictionary<string, object> ();
            d.Add ("supplier", "HDL");
            d.Add ("mac", mac);
            d.Add ("spk", "BUSUDPGATEWAY");
            var requestJson = HttpUtil.GetSignRequestJson (d);
            return HttpUtil.RequestHttpsPostFroHome (NewAPI.Api_Post_ApplyDeviceSecret, requestJson);
        }
        //#region Kaede --设备功能——————————————————————————————————
        ///// <summary>
@@ -1054,24 +1200,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>
@@ -1100,37 +1245,60 @@
        //    return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneInfo, requestJson);
        //}
        ///// <summary>
        ///// 添加场景
        ///// </summary>
        ///// <param name="sceneList"></param>
        ///// <returns></returns>
        //public ResponsePackNew AddScene (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_AddSecne, requestJson);
        //    Utlis.WriteLine ($"{pack.Data}");
        //    return pack;
        //}
        /// <summary>
        /// 添加场景
        /// 全量同步场景
        /// </summary>
        /// <param name="sceneList"></param>
        /// <returns></returns>
        public ResponsePackNew AddScene (List<HDLLinkScene> sceneList)
        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_AddSecne, requestJson);
            var pack = HttpUtil.RequestHttpsPostFroHome (NewAPI.Api_Post_Secne_SyncList, requestJson);
            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 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>
@@ -1263,5 +1431,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;
        }
    }
}