星火微课系统客户端
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

ProductVerification.xaml.cs 6.1KB

11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
1 ano atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. using Common.system;
  2. using System;
  3. using System.IO;
  4. using System.Text;
  5. using System.Windows;
  6. using XHWK.Model;
  7. using XHWK.WKTool.DAL;
  8. namespace XHWK.WKTool
  9. {
  10. /// <summary>
  11. /// ProductVerification.xaml 的交互逻辑
  12. /// 本地解密 解密成功 日期在有效期内 ,判断当天是否调用添加历史接口,没有则调用
  13. /// 解密失败 或解密获取的时间 过期 , 跳到输入code 激活界面
  14. /// </summary>
  15. public partial class ProductVerification
  16. {
  17. private readonly XhApi _registerController = new XhApi();
  18. private int _serverReturnCode;
  19. public ProductVerification()
  20. {
  21. InitializeComponent();
  22. WindowStartupLocation = WindowStartupLocation.CenterScreen;
  23. Topmost = true;
  24. App.BackgroundWorkerHelper.RunWorkerAsync(InvokeActivationDecryptServering, InvokeActivationDecryptServerCompate);
  25. }
  26. /// <summary>
  27. /// 激活信息--验证签名是否过期-调用
  28. /// </summary>
  29. /// <returns></returns>
  30. private object InvokeActivationDecryptServering()
  31. {
  32. return App.ServerMsg;
  33. }
  34. /// <summary>
  35. /// 激活信息--验证签名是否过期-返回结果
  36. /// </summary>
  37. /// <returns></returns>
  38. public void InvokeActivationDecryptServerCompate(object obj)
  39. {
  40. //解析
  41. try
  42. {
  43. App.Signature = System.IO.File.ReadAllText(App.DataPath + "signature.txt", Encoding.Default);
  44. string decrypt = DataProvider.TripleDesDecrypt(App.Signature, App.secretKey);
  45. decrypt = decrypt.Replace("\u0001", "").Replace("\u0007", "").Trim();
  46. ModelSignatures msgBean = JsonHelper.JsonToObj<ModelSignatures>(decrypt);
  47. long currentTimeTimestamp = DataProvider.TimestampTotalSeconds(); //当前时间 时间戳
  48. if (msgBean.endtime > currentTimeTimestamp) //条件成立 解析成功 code 在有效期内
  49. {
  50. if (File.Exists(App.DataPath + "signatureTime.txt"))
  51. {
  52. string signatureTime = System.IO.File.ReadAllText(App.DataPath + "signatureTime.txt", Encoding.Default);
  53. string currentTime = DateTime.Now.ToLongDateString(); //当前时间
  54. if (signatureTime != currentTime)
  55. {
  56. App.BackgroundWorkerHelper.RunWorkerAsync(InvokeActivationAddHistoryServering, InvokeActivationAddHistoryServerCompate);
  57. }
  58. }
  59. Dispatcher.Invoke(
  60. () =>
  61. {
  62. Hide();
  63. CreateWin win = new CreateWin();
  64. win.Show();
  65. Close();
  66. }
  67. );
  68. }
  69. else //时间失效
  70. {
  71. Dispatcher.Invoke(
  72. () =>
  73. {
  74. Hide();
  75. KeyVerification wins = new KeyVerification { Topmost = true };
  76. wins.ShowDialog();
  77. Close();
  78. }
  79. );
  80. }
  81. }
  82. catch (Exception ex) //解析失败 输code
  83. {
  84. LogHelper.Logerror.Error("ProductVerification(解析失败)" + ex.Message, ex);
  85. Dispatcher.Invoke(
  86. () =>
  87. {
  88. Hide();
  89. KeyVerification wins = new KeyVerification { Topmost = true };
  90. wins.ShowDialog();
  91. Close();
  92. }
  93. );
  94. }
  95. }
  96. /// <summary>
  97. /// 激活信息--添加激活历史-调用
  98. /// </summary>
  99. /// <returns></returns>
  100. private object InvokeActivationAddHistoryServering()
  101. {
  102. _serverReturnCode = _registerController.ActivationAddHistory();
  103. return App.ServerMsg;
  104. }
  105. /// <summary>
  106. /// 激活信息--添加激活历史-返回结果
  107. /// </summary>
  108. /// <returns></returns>
  109. public void InvokeActivationAddHistoryServerCompate(object obj)
  110. {
  111. if (!Directory.Exists(App.DataPath))
  112. {
  113. Directory.CreateDirectory(App.DataPath);
  114. }
  115. string applicationData = App.DataPath + "signatureTime.txt";
  116. string currentTime = DateTime.Now.ToLongDateString(); //当前时间
  117. System.IO.File.WriteAllText(
  118. applicationData,
  119. currentTime,
  120. Encoding.Default
  121. ); //存放签名验证日期
  122. }
  123. /// <summary>
  124. /// 关闭弹窗
  125. /// </summary>
  126. /// <param name="sender"></param>
  127. /// <param name="e"></param>
  128. private void CloseClick(object sender, RoutedEventArgs e)
  129. {
  130. CloseAction();
  131. }
  132. /// <summary>
  133. /// 退出程序
  134. /// </summary>
  135. private void CloseAction()
  136. {
  137. Dispatcher.Invoke(
  138. () =>
  139. {
  140. Application.Current.Shutdown();
  141. }
  142. );
  143. }
  144. ~ProductVerification()
  145. {
  146. //Console.WriteLine("{0}被销毁", this);
  147. Dispose(false);
  148. }
  149. public void Dispose()
  150. {
  151. //Console.WriteLine("{0}被手动销毁", this);
  152. Dispose(true);
  153. GC.SuppressFinalize(this);
  154. }
  155. private bool _disposed;
  156. protected void Dispose(bool disposing)
  157. {
  158. //Console.WriteLine("{0}被自动销毁", this);
  159. if (!_disposed)
  160. {
  161. if (disposing)
  162. {
  163. //托管资源释放
  164. }
  165. //非托管资源释放
  166. // ...
  167. }
  168. _disposed = true;
  169. }
  170. }
  171. }