wjc
2022-03-18 d44d009da78f96fe50e6dc7c1883e79ffb1aff58
HDL_ON/Entity/Function/Function.cs
@@ -112,11 +112,30 @@
        public string GetAttrState(string key)
        {
            var attrState = attributes.Find((s) => s.key == key.ToString());
            if (attrState == null || string.IsNullOrEmpty(attrState.state))
            if (attrState == null)
            {
                return "0";
            }
            if (string.IsNullOrEmpty(attrState.state))
            {
                return GetOriginalState(key);
            }
            return attrState.state;
        }
        /// <summary>
        /// 获取初始状态
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public string GetOriginalState(string key)
        {
            var originalState = status.Find((s) => s.key == key.ToString());
            if (originalState == null || string.IsNullOrEmpty(originalState.value))
            {
                return "0";
            }
            return originalState.value;
        }
        /// <summary>
        /// 设置属性状态
@@ -556,6 +575,13 @@
                SaveFunctionFile();
                if (pack.Code == StateCode.SUCCESS)
                {
                    if (UI.RoomPage.bodyView != null)
                    {
                        Application.RunOnMainThread(() =>
                        {
                            UI.RoomPage.bodyView.ReLoadPage();
                        });
                    }
                }
                else
                {
@@ -701,6 +727,20 @@
            sendDataObj.objects.Add(acd);
            return sendDataObj;
        }
        public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId,string extStr)
        {
            var sendDataObj = new AlinkDoorlockObj();
            sendDataObj.id = Control.Ins.msg_id.ToString();
            sendDataObj.time_stamp = Utlis.GetTimestamp();
            var acd = new AlinkDoorlockStatus();
            acd.sid = sid;
            acd.user_id = extStr;
            acd.ext_str = extStr;
            sendDataObj.objects.Add(acd);
            return sendDataObj;
        }
        /// <summary>
        /// 获取Api控制数据
        /// </summary>
@@ -755,6 +795,24 @@
        public string id = "";
    }
    /// <summary>
    /// 门锁通讯数据
    /// </summary>
    public class AlinkDoorlockObj
    {
        public List<AlinkDoorlockStatus> objects = new List<AlinkDoorlockStatus>();
        public string time_stamp = "";
        public string id = "";
    }
    public class AlinkDoorlockStatus
    {
        public string sid;
        public string user_id;
        public string ext_str;
    }
    /// <summary>
    /// 本地状态读取
    /// A协议状态读取格式对象
    /// </summary>