using System; using System.Collections.Generic; using HDL_ON.DAL; using HDL_ON.R; namespace HDL_ON { [System.Serializable] public class UserConfig { static string configFile = "UserConfig"; static UserConfig instance; public static UserConfig Instance { get { if (instance == null) { try { var userConfigBytes = MyIO.FileUtils.ReadFile (configFile); var userConfigString = CommonPage.MyEncodingUTF8.GetString (userConfigBytes); UserConfig temp = null; if (userConfigString != null) { temp = Newtonsoft.Json.JsonConvert.DeserializeObject (userConfigString); } if (temp == null) { instance = new UserConfig { }; instance.HideDeviceTypes.Add (InternationalizationString.VideoIntercom); instance.HideDeviceTypes.Add (InternationalizationString.Thermostat); } else { instance = temp; } } catch { } } instance.DeviceTypes = new List (){ InternationalizationString.AC, InternationalizationString.Lights, InternationalizationString.Curtain, InternationalizationString.Scenes, InternationalizationString.FoolHeat, InternationalizationString.Monitor, InternationalizationString.Security, InternationalizationString.TV, InternationalizationString.Music, InternationalizationString.ElectricalControl, InternationalizationString.Fan, InternationalizationString.DoorLock, InternationalizationString.UniversalDevice, InternationalizationString.Environmental, InternationalizationString.VideoIntercom, InternationalizationString.Thermostat, //------------------------------------- }; return instance; } } byte [] GetUserConfigBytes () { return CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (this)); } public void RefreshUserConfig () { instance = null; SaveUserConfig (); } public void SaveUserConfig () { MyIO.FileUtils.WriteFileByBytes (configFile, GetUserConfigBytes ()); } public int internetStatus = 2; /// /// 存放不用调光功能的调光设备 /// public List UnEnableDimmingLight = new List (); /// /// 插座开关列表 /// public List SocketList = new List (); /// /// 手机appID /// public string tokenID = string.Empty; /// /// 手机别名 /// public string phoneName = string.Empty; /// /// 用户界面进入时是否显示的是全局场景界面 /// public bool SceneOfGloba = false; /// /// 保存远程连接的网络设备文件名 /// public string RemoteModeFile = string.Empty; /// /// 是否展开房间灯光列表 /// public bool ShowRoomLightList = true; /// /// 是否展开房间窗帘列表 /// public bool ShowRoomCurtainList = true; /// /// 隐藏没有场景的房间 /// public bool HideInvalidRoomScene = false; public bool ShowFunctionBackground = true; //要显示的设备类型先在这里加进文本选择 public List DeviceTypes = null; public List HideDeviceTypes = new List (); public Dictionary SkinVision = new Dictionary (); public Dictionary DowlaodSkinVision = new Dictionary (); /// /// 当前使用的皮肤 /// public string CurrentSkinName { get { string skinPath = "Phone"; if (SkinCode == 0) { skinPath = "Phone"; } else if (SkinCode == 1) { skinPath = "Phone2"; } return skinPath; } } /// /// 安防密码 /// public string ArmPW = "85521566"; /// /// 是否显示场景列表 /// public bool ShowAlternativeScene = true; //门锁密码保存 public Dictionary RemoteDoorLockPasswordList = new Dictionary (); public string CountryCode = "CN"; public int SkinCode = 0; public string SetLanguage = ""; /// /// 商店当前的版本 /// public string StoreVersion = ""; /// /// 是否为商店最新版本 /// public bool IsAppStoreVersionNewer = true; /// /// 是否需要更新,更新的类型是什么 /// //public SimpleControl.Phone.UpdateVersionType UpdateVersionType = 0; public List HomeLists = new List (); public RegionInfoRes CurrentRegion = new RegionInfoRes (); [Newtonsoft.Json.JsonIgnore] public string GatewayMAC { get { return CurrentRegion.MAC; } } public List RometoUserInfoKeys = new List (); //public static List LocalFiles = IO.FileUtils.ReadFiles (); /// /// 记录最后一次触发的场景 /// public string CurScene = string.Empty; /// /// 主页是否设置了传感器 /// public bool IsSetHomePageSensor = false; public HomePageSensor temp = null;// new HomePageSensor () { DeviceID = 11, LoopID = 1, Name = "temp.", SubnetID = 1 }; public HomePageSensor pm25 = null;// new HomePageSensor () { DeviceID = 1, LoopID = 1, Name = "pm25", SubnetID = 1 }; public HomePageSensor humidity = null;//new HomePageSensor () { DeviceID = 1, LoopID =2, Name = "humidity", SubnetID = 1 }; public HomePageSensor co2 = null;//new HomePageSensor () { DeviceID = 1, LoopID = 3, Name = "co2", SubnetID = 1 }; public HomePageSensor tvoc = null;//new HomePageSensor () { DeviceID = 1, LoopID = 4, Name = "tvoc", SubnetID = 1 }; public HomePageSensor formaldehyde = null;// new HomePageSensor () { DeviceID = 1, LoopID = 5, Name = "formaldehyde", SubnetID = 1 }; } public class HomePageSensor { public byte SubnetID; public byte DeviceID; public byte LoopID; public string Name; public double values; } }