123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Xml;
- using System.Text;
- namespace CB.TVUCenter.Config
- {
- public class TVConfigs
- {
- private static string configPath = AppDomain.CurrentDomain.BaseDirectory + "Config\\TV.config";
- private static long _version = 0;
- private static TVConfigInfo _config = null;
- private TVConfigs() { }
- static TVConfigs()
- {
- LoadConfig();
- }
- //加载配置数据
- public static void LoadConfig()
- {
- if (!File.Exists(configPath))
- return;
- var config = new TVConfigInfo();
- XmlDocument doc = new XmlDocument();
- doc.Load(configPath);
- var root = doc.SelectSingleNode("TVConfig");
- if (null != root)
- {
- var node = root.SelectSingleNode("Debug");
- config.Debug = null == node ? false : (node.InnerText.Trim() == "1" ? true : false);
- node = root.SelectSingleNode("DecryptKey");
- config.DecryptKey = null == node ? "E03F49114203ABCD" : node.InnerText.Trim();
- node = root.SelectSingleNode("ExEncryptKey");
- config.ExEncryptKey = null == node ? "5pyA5aW955qE55S16KeG6LWw5Yq/5Zu+5Zyo5b2p5ZCn572R" : node.InnerText.Trim();
- node = root.SelectSingleNode("TrendChartEncryptKey");
- config.TrendChartEncryptKey = null == node ? "5pyA5aW955qE55S16KeG6LWw5Yq/5Zu+5Zyo5b2p5ZCn572R" : node.InnerText.Trim();
- node = root.SelectSingleNode("InitImg");
- config.InitImg = null == node ? "" : node.InnerText.Trim();
- node = root.SelectSingleNode("InitVerticalImg");
- config.InitVerticalImg = null == node ? "" : node.InnerText.Trim();
- node = root.SelectSingleNode("BackgroundImg");
- config.BackgroundImg = null == node ? "" : node.InnerText.Trim();
- node = root.SelectSingleNode("BackgroundVerticalImg");
- config.BackgroundVerticalImg = null == node ? "" : node.InnerText.Trim();
- node = root.SelectSingleNode("ClearOnlineUserTime");
- config.ClearOnlineUserTime = null == node ? 5 : CB.Common.TypeConverter.StrToInt(node.InnerText.Trim());
- node = root.SelectSingleNode("UnLockTime");
- config.UnLockTime = null == node ? 120 : CB.Common.TypeConverter.StrToInt(node.InnerText.Trim());
- node = root.SelectSingleNode("ApiCallTimes");
- config.ApiCallTimes = null == node ? 60 : CB.Common.TypeConverter.StrToInt(node.InnerText.Trim());
- node = root.SelectSingleNode("ApiCallCycle");
- config.ApiCallCycle = null == node ? 1 : CB.Common.TypeConverter.StrToInt(node.InnerText.Trim());
- node = root.SelectSingleNode("AreaVersion");
- config.AreaVersion = null == node ? 0 : CB.Common.TypeConverter.StrToInt(node.InnerText.Trim());
- node = root.SelectSingleNode("ImgVersion");
- config.ImgVersion = null == node ? 0 : CB.Common.TypeConverter.StrToInt(node.InnerText.Trim());
- node = root.SelectSingleNode("ShowByBrowser");
- config.ShowByBrowser = null == node ? true : (node.InnerText.Trim() == "1" ? true : false);
- }
- _version = File.GetLastWriteTime(configPath).Ticks;
- _config = config;
- }
- //获取配置数据
- public static TVConfigInfo GetConfig()
- {
- if (null == _config)
- {
- LoadConfig();
- return _config;
- }
- if (_version != File.GetLastWriteTime(configPath).Ticks)
- LoadConfig();
- return _config;
- }
- public static bool UpdateConfig(TVConfigInfo entity)
- {
- string str = ResetLoadConfig(entity);
- using (StreamWriter writer = new StreamWriter(configPath, false, System.Text.Encoding.UTF8, str.Length))
- {
- writer.Write(str);
- }
- return true;
- }
- private static string ResetLoadConfig(TVConfigInfo entity)
- {
- StringBuilder sb = new StringBuilder(2000);
- sb.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n");
- sb.Append("<TVConfig>\r\n");
- sb.AppendFormat("<Debug>{0}</Debug>\r\n", entity.Debug ? 1 : 0);
- sb.AppendFormat("<DecryptKey>{0}</DecryptKey>\r\n", entity.DecryptKey);
- sb.AppendFormat("<ExEncryptKey>{0}</ExEncryptKey>\r\n", entity.ExEncryptKey);
- sb.AppendFormat("<TrendChartEncryptKey>{0}</TrendChartEncryptKey>\r\n", entity.TrendChartEncryptKey);
- sb.AppendFormat(" <InitImg>{0}</InitImg>\r\n", entity.InitImg);
- sb.AppendFormat("<InitVerticalImg>{0}</InitVerticalImg>\r\n", entity.InitVerticalImg);
- sb.AppendFormat(" <HorizontalImg>{0}</HorizontalImg>\r\n", entity.BackgroundImg);
- sb.AppendFormat("<VerticalImg>{0}</VerticalImg>\r\n", entity.BackgroundVerticalImg);
- sb.AppendFormat("<ClearOnlineUserTime>{0}</ClearOnlineUserTime>\r\n", entity.ClearOnlineUserTime);
- sb.AppendFormat("<UnLockTime>{0}</UnLockTime>\r\n", entity.UnLockTime);
- sb.AppendFormat("<ApiCallTimes>{0}</ApiCallTimes>\r\n", entity.ApiCallTimes);
- sb.AppendFormat("<ApiCallCycle>{0}</ApiCallCycle>\r\n", entity.ApiCallCycle);
- sb.AppendFormat("<AreaVersion>{0}</AreaVersion>\r\n", entity.AreaVersion);
- sb.AppendFormat("<ImgVersion>{0}</ImgVersion>\r\n", entity.ImgVersion);
- sb.AppendFormat("<ShowByBrowser>{0}</ShowByBrowser>\r\n", entity.ShowByBrowser ? 1 : 0);
- sb.Append("</TVConfig>");
- return sb.ToString();
- }
- }
- }
|