ColumnConfigs.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Xml;
  5. using System.Text;
  6. using CB.Common;
  7. namespace CB.Config
  8. {
  9. public class ColumnConfigs
  10. {
  11. private static string configPath = AppDomain.CurrentDomain.BaseDirectory + "Config\\ColumnConfigs.config";
  12. private static long version = 0;
  13. private static ColumnConfigInfo config = null;
  14. private static object lockObject = new object();
  15. static ColumnConfigs()
  16. { LoadConfig(); }
  17. private ColumnConfigs() { }
  18. private static void LoadConfig()
  19. {
  20. var _config = new ColumnConfigInfo();
  21. if (File.Exists(configPath))
  22. {
  23. XmlDocument doc = new XmlDocument();
  24. doc.Load(configPath);
  25. var root = doc.SelectSingleNode("Config");
  26. if (null != root)
  27. {
  28. var node = root.SelectSingleNode("TukuFileUrl");
  29. if (null != node)
  30. _config.TukuFileUrl = node.InnerText.Trim();
  31. node = root.SelectSingleNode("TukuWebServiceUrl");
  32. if (null != node)
  33. _config.TukuWebServiceUrl = node.InnerText.Trim();
  34. node = root.SelectSingleNode("TukuDomain");
  35. if (null != node)
  36. _config.TukuDomain = node.InnerText.Trim();
  37. }
  38. version = File.GetLastWriteTime(configPath).Ticks;
  39. }
  40. config = _config;
  41. }
  42. public static ColumnConfigInfo GetConfig()
  43. {
  44. if (null == config)
  45. { LoadConfig(); }
  46. if (version != File.GetLastWriteTime(configPath).Ticks)
  47. { LoadConfig(); }
  48. return config;
  49. }
  50. /// <summary>
  51. /// 保存配置文件
  52. /// </summary>
  53. /// <param name="config"></param>
  54. /// <returns></returns>
  55. public static bool SaveConfig(ColumnConfigInfo config)
  56. {
  57. var sp = new StringBuilder(2000);
  58. sp.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n");
  59. sp.Append("<Config>\r\n");
  60. sp.Append(" <TukuFileUrl>" + config.TukuFileUrl + "</TukuFileUrl>\r\n");
  61. sp.Append(" <TukuWebServiceUrl>" + config.TukuWebServiceUrl + "</TukuWebServiceUrl>\r\n");
  62. sp.Append(" <TukuDomain>" + config.TukuDomain + "</TukuDomain>\r\n");
  63. sp.Append("</Config>");
  64. using (StreamWriter writer = new StreamWriter(configPath, false, System.Text.Encoding.UTF8, sp.Length))
  65. {
  66. writer.Write(sp.ToString());
  67. }
  68. return true;
  69. }
  70. /// <summary>
  71. /// 获取图库最新已上传文件列表
  72. /// </summary>
  73. /// <returns></returns>
  74. public static List<GalleryEntity> GetTukuFileList(int cid)
  75. {
  76. try
  77. {
  78. //TuKuWebService.tuku tk = new TuKuWebService.tuku();
  79. //tk.Url = config.TukuWebServiceUrl;
  80. //tk.Timeout = 5000;
  81. //return tk.GetFileList();
  82. WebServiceTuku.WebServiceTuku tuku = new WebServiceTuku.WebServiceTuku();
  83. string res = tuku.GetNewGallery(cid);
  84. if (!string.IsNullOrEmpty(res))
  85. {
  86. List<GalleryEntity> list = JSONUtil.ParseFormByJson<List<GalleryEntity>>(res);
  87. return list;
  88. //"galleryName": "3D联盟好彩乐第二版",
  89. //"galleryNumberNew": "29",
  90. //"galleryID": 263,
  91. //"UrlParms": "2017264_A",
  92. //"CreateTime": "2017-09-20T15:25:18.41",
  93. //"PerNumber": "257"
  94. }
  95. return null;
  96. }
  97. catch(Exception e)
  98. {
  99. Console.WriteLine(e.Message);
  100. return null;
  101. }
  102. }
  103. /// <summary>
  104. /// 获取图库最新期数
  105. /// </summary>
  106. /// <returns></returns>
  107. public static int GetTukuLatestQi()
  108. {
  109. try
  110. {
  111. //TuKuWebService.tuku tk = new TuKuWebService.tuku();
  112. //tk.Url = config.TukuWebServiceUrl;
  113. //tk.Timeout = 5000;
  114. //return tk.GetMaxQi();http://tk.55128.cn/WebServiceTuku.asmx
  115. WebServiceTuku.WebServiceTuku tuku = new WebServiceTuku.WebServiceTuku();
  116. int res = tuku.GetNewPeriodsNumber();
  117. return res;
  118. }
  119. catch (Exception e)
  120. {
  121. Console.WriteLine(e.Message);
  122. return 0;
  123. }
  124. }
  125. }
  126. }