wxr
2021-03-08 8e5ba5665861b29a4b8da0335c81d620aa891862
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
@@ -11,6 +11,8 @@
    public class PirSend
    {
        public static string pirId = "1367032976869658625";
        /// <summary>
        /// 住宅ID
        /// </summary>
@@ -32,8 +34,36 @@
            }
        }
        /// <summary>
        /// 获取设备列表
        /// </summary>
        /// <returns></returns>
        public static ResponsePackNew GetDeviceList(string spk)
        {
            var jObject = new JObject { };
            jObject.Add("homeId", HomeId);
            jObject.Add("spk", spk);
            //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 responsePackNew = RequestServerhomeId(jObject, NewAPI.Api_Post_GetDevcieList);
            return responsePackNew;
        }
        /// <summary>
        /// 获取遥控器列表
        /// </summary>
        public static ResponsePackNew ControlList(Pir pir)
        {
            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", pir.deviceId } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_List);
            return responsePackNew;
        }
        /// <summary>
        /// 遥控器添加
        /// </summary>
        /// <returns></returns>
        /// <param name="control"></param>
        /// <returns></returns>
        public static ResponsePackNew Add(Control control)
        {
@@ -41,11 +71,11 @@
            jObject.Add("homeId", HomeId);
            jObject.Add("deviceId", control.deviceId);
            jObject.Add("name", control.name);
            jObject.Add("spk", "ir.module");
            jObject.Add("spk", control.spk);
            jObject.Add("type", control.type);
            if (control.type == "library")
            if (control.type=="library")
            {
                //jObject.Add("group_id", "123");
                jObject.Add("group_id", control.group_id);
                var libraryjay = new JArray { };
                for (int i = 0; i < control.library.Count; i++)
                {
@@ -53,9 +83,43 @@
                }
                jObject.Add("library", libraryjay);
            }
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_Add);
            return responsePackNew;
        }
        /// <summary>
        ///红外码库试码
        /// </summary>
        /// <returns></returns>
        public static ResponsePackNew CodeTest(Control control)
        {
            var jObject = new JObject { };
            jObject.Add("homeId", HomeId);
            jObject.Add("deviceId", control.deviceId);
            jObject.Add("spk", control.spk);
            if (control.spk== Entity.SPK.AcStandard) {
                jObject.Add("group_id", control.group_id);
            }
            var libraryJay = new JArray { };
            for (int i = 0; i < control.library.Count; i++)
            {
                libraryJay.Add(control.library[i]);
            }
            var statusJay = new JArray { };
            for (int i = 0; i < control.status.Count; i++)
            {
                var statusJob = new JObject { };
                var job = control.status[i];
                statusJob.Add("key", job.Key);
                statusJob.Add("value", job.value);
                statusJay.Add(statusJob);
            }
            jObject.Add("library", libraryJay);
            jObject.Add("status", statusJay);
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeTest);
            return responsePackNew;
        }
        /// <summary>
        /// <summary>
        /// 红外码学习
        /// </summary>
@@ -77,7 +141,7 @@
            job.Add("value", valuejArray);
            var jArray = new JArray { };
            jArray.Add(job);
            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "attributes", jArray } };
            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", pirId }, { "attributes", jArray } };
            ResponsePackNew responsePackNew = null;
            new System.Threading.Thread(() =>
            {
@@ -113,34 +177,78 @@
            job.Add("value", valuejArray);
            var jArray = new JArray { };
            jArray.Add(job);
            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "attributes", jArray } };
            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", pirId }, { "attributes", jArray } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeRemove);
            return responsePackNew;
        }
        /// <summary>
        /// 获取逻辑
        /// 红外宝/遥控器删除
        /// </summary>
        /// <param name="listIdList">逻辑ID列表</param>
        /// <returns></returns>
        public static ResponsePackNew GetLogic(List<string> listIdList)
        public static ResponsePackNew DeleteDevice(string deviceId)
        {
            var jArray = new JArray { };
            for (int i = 0; i < listIdList.Count; i++)
            {
                jArray.Add(listIdList[i]);
            }
            var jObject = new JObject { { "userLogicIds", jArray } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Info);
            //如果是token过期则刷新token
            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
            {
                RefreshToken();
                GetLogic(listIdList);
            }
            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_DeviceDel);
            return responsePackNew;
        }
        /// <summary>
        /// 修改红外宝名称
        /// </summary>
        /// <returns></returns>
        public static ResponsePackNew DeviceRename(Pir  pir)
        {
            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", pir.deviceId }, { "name", pir.name } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_DeviceRename);
            return responsePackNew;
        }
        /// <summary>
        /// 查询红外设备类型列表/品牌列表/品牌红外码库列表
        /// </summary>
        /// <param name="frameLayout">加载log的父控件</param>
        /// <param name="action">回调函数</param>
        public static void GetDeviceTypesList(FrameLayout frameLayout, Action<ResponsePackNew> action, string id, string if_str)
        {
            DAL.Server.ResponsePackNew responsePackNew = null;
            Loading loading = new Loading();
            frameLayout.AddChidren(loading);
            loading.Start();
            new System.Threading.Thread(() =>
            {
                try
                {
                    string url = "";
                    var jObject = new JObject { };
                    if (if_str == "设备类型列表")
                    {
                        url = "/smart-footstone/app/ir/device-type/list";
                    }
                    else if (if_str == "品牌列表")
                    {
                        url = "/smart-footstone/app/ir/brand/list";
                        jObject.Add("deviceTypeId", id);
                    }
                    else if (if_str == "品牌红外码库列表")
                    {
                        url = "/smart-footstone/app/ir/code/list";
                        jObject.Add("brandId", id);
                    }
                    responsePackNew = RequestServerhomeId(jObject, url);
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        loading.Hide();
                        action(responsePackNew);
                    });
                }
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        ///请求服务器(与住宅有关:例如;homeId)