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<UserConfig> (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<int> (){
|
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;
|
|
/// <summary>
|
/// 存放不用调光功能的调光设备
|
/// </summary>
|
public List<string> UnEnableDimmingLight = new List<string> ();
|
|
/// <summary>
|
/// 插座开关列表
|
/// </summary>
|
public List<string> SocketList = new List<string> ();
|
|
/// <summary>
|
/// 手机appID
|
/// </summary>
|
public string tokenID = string.Empty;
|
|
/// <summary>
|
/// 手机别名
|
/// </summary>
|
public string phoneName = string.Empty;
|
|
/// <summary>
|
/// 用户界面进入时是否显示的是全局场景界面
|
/// </summary>
|
public bool SceneOfGloba = false;
|
|
/// <summary>
|
/// 保存远程连接的网络设备文件名
|
/// </summary>
|
public string RemoteModeFile = string.Empty;
|
|
/// <summary>
|
/// 是否展开房间灯光列表
|
/// </summary>
|
public bool ShowRoomLightList = true;
|
|
/// <summary>
|
/// 是否展开房间窗帘列表
|
/// </summary>
|
public bool ShowRoomCurtainList = true;
|
|
/// <summary>
|
/// 隐藏没有场景的房间
|
/// </summary>
|
public bool HideInvalidRoomScene = false;
|
|
public bool ShowFunctionBackground = true;
|
|
//要显示的设备类型先在这里加进文本选择
|
public List<int> DeviceTypes = null;
|
|
public List<int> HideDeviceTypes = new List<int> ();
|
|
public Dictionary<string, int> SkinVision = new Dictionary<string, int> ();
|
public Dictionary<string, int> DowlaodSkinVision = new Dictionary<string, int> ();
|
/// <summary>
|
/// 当前使用的皮肤
|
/// </summary>
|
public string CurrentSkinName {
|
get {
|
string skinPath = "Phone";
|
if (SkinCode == 0) {
|
skinPath = "Phone";
|
} else if (SkinCode == 1) {
|
skinPath = "Phone2";
|
}
|
return skinPath;
|
}
|
}
|
|
/// <summary>
|
/// 安防密码
|
/// </summary>
|
public string ArmPW = "85521566";
|
|
|
/// <summary>
|
/// 是否显示场景列表
|
/// </summary>
|
public bool ShowAlternativeScene = true;
|
|
//门锁密码保存
|
public Dictionary<string, string> RemoteDoorLockPasswordList = new Dictionary<string, string> ();
|
|
public string CountryCode = "CN";
|
|
public int SkinCode = 0;
|
|
public string SetLanguage = "";
|
|
/// <summary>
|
/// 商店当前的版本
|
/// </summary>
|
public string StoreVersion = "";
|
|
/// <summary>
|
/// 是否为商店最新版本
|
/// </summary>
|
public bool IsAppStoreVersionNewer = true;
|
/// <summary>
|
/// 是否需要更新,更新的类型是什么
|
/// </summary>
|
//public SimpleControl.Phone.UpdateVersionType UpdateVersionType = 0;
|
|
public List<RegionInfoRes> HomeLists = new List<RegionInfoRes> ();
|
|
public RegionInfoRes CurrentRegion = new RegionInfoRes ();
|
[Newtonsoft.Json.JsonIgnore]
|
public string GatewayMAC {
|
get {
|
return CurrentRegion.MAC;
|
}
|
}
|
|
public List<string> RometoUserInfoKeys = new List<string> ();
|
|
//public static List<string> LocalFiles = IO.FileUtils.ReadFiles ();
|
|
/// <summary>
|
/// 记录最后一次触发的场景
|
/// </summary>
|
public string CurScene = string.Empty;
|
|
/// <summary>
|
/// 主页是否设置了传感器
|
/// </summary>
|
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;
|
}
|
}
|