using System; using System.Collections.Generic; using Shared.SimpleControl; namespace Shared { [System.Serializable] public class UserConfig { static string configFile = "UserConfig"; static UserConfig instance; public static UserConfig Instance { get { if (instance == null) { try { var userConfigBytes = IO.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 { }; } else { instance = temp; } } catch { } } instance.DeviceTypes = new List (){ SimpleControl.R.MyInternationalizationString.AC, SimpleControl.R.MyInternationalizationString.Lights, SimpleControl.R.MyInternationalizationString.Curtain, SimpleControl.R.MyInternationalizationString.Scenes, SimpleControl.R.MyInternationalizationString.FoolHeat, //SimpleControl.R.MyInternationalizationString.Monitor, //SimpleControl.R.MyInternationalizationString.Security, SimpleControl.R.MyInternationalizationString.TV, //SimpleControl.R.MyInternationalizationString.Music, SimpleControl.R.MyInternationalizationString.ElectricalControl, //SimpleControl.R.MyInternationalizationString.Fan, //SimpleControl.R.MyInternationalizationString.DoorLock, //SimpleControl.R.MyInternationalizationString.UniversalDevice, SimpleControl.R.MyInternationalizationString.Environmental, //SimpleControl.R.MyInternationalizationString.FreshAir, }; return instance; } } byte [] GetUserConfigBytes () { return CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (this)); } public void RefreshUserConfig () { instance = null; SaveUserConfig (); } public void SaveUserConfig () { IO.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 ArmPW = "85521566"; /// /// 是否显示场景列表 /// public bool ShowAlternativeScene = true; //门锁密码保存 public Dictionary RemoteDoorLockPasswordList = new Dictionary (); public string CountryCode = "CN"; public string SetLanguage = ""; public DateTime TipUpdataVersion = DateTime.MinValue; 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 string CurScene = string.Empty; } public class HomePageSensor { public byte SubnetID; public byte DeviceID; public byte LoopID; public string Name; public double values; } }