2017-07-12 11:08:30 +08:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
using HslCommunication.Enthernet;
|
|
|
|
|
|
using HslCommunication.BasicFramework;
|
|
|
|
|
|
using CommonLibrary;
|
|
|
|
|
|
|
|
|
|
|
|
namespace ClientsLibrary
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2017-09-03 11:29:48 +08:00
|
|
|
|
|
|
|
|
|
|
/***********************************************************************************
|
|
|
|
|
|
*
|
|
|
|
|
|
* 说明:用来存储客户端全局的变量数据,好在任何界面都可以直达数据
|
|
|
|
|
|
*
|
|
|
|
|
|
*
|
|
|
|
|
|
***********************************************************************************/
|
|
|
|
|
|
|
2017-07-12 11:08:30 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2017-09-15 22:41:53 +08:00
|
|
|
|
/// 一个通用的用户客户端类, 包含了一些静态的资源
|
2017-07-12 11:08:30 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class UserClient
|
|
|
|
|
|
{
|
2017-09-15 22:41:53 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 客户端需要进行本地存储的信息日志
|
|
|
|
|
|
/// </summary>
|
2017-07-12 11:08:30 +08:00
|
|
|
|
public static JsonSettings JsonSettings = new JsonSettings();
|
2017-09-15 22:41:53 +08:00
|
|
|
|
|
2017-09-03 11:29:48 +08:00
|
|
|
|
|
2017-07-12 11:08:30 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 本软件的当前版本,用来验证更新的关键依据
|
|
|
|
|
|
/// </summary>
|
2017-09-14 22:14:08 +08:00
|
|
|
|
public static SystemVersion CurrentVersion { get; } = new SystemVersion("1.0.0.170914");
|
2017-09-15 22:41:53 +08:00
|
|
|
|
|
2017-09-03 11:29:48 +08:00
|
|
|
|
|
2017-07-12 11:08:30 +08:00
|
|
|
|
/// <summary>
|
2017-09-03 11:29:48 +08:00
|
|
|
|
/// 服务器的IP地址,默认为127.0.0.1,可用于单机调试,云服务器端:117.48.203.204
|
2017-07-12 11:08:30 +08:00
|
|
|
|
/// </summary>
|
2017-09-16 13:29:33 +08:00
|
|
|
|
public static string ServerIp { get; } = "117.48.203.204";//用于测试的云服务器地址
|
2017-09-15 22:41:53 +08:00
|
|
|
|
|
2017-09-03 11:29:48 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 系统的分厂信息
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static List<string> SystemFactories { get; set; } = new List<string>();
|
2017-09-15 22:41:53 +08:00
|
|
|
|
|
2017-09-03 11:29:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
2017-07-12 11:08:30 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 所有版本更新信息的对象
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static List<VersionInfo> HistoryVersions { get; } = new List<VersionInfo>
|
|
|
|
|
|
{
|
2017-09-15 22:41:53 +08:00
|
|
|
|
// 写入所有的历史版本信息,这样就能在更新日志的界面查看到信息
|
2017-07-12 11:08:30 +08:00
|
|
|
|
new VersionInfo()
|
|
|
|
|
|
{
|
|
|
|
|
|
VersionNum=new SystemVersion("1.0.0"),
|
|
|
|
|
|
ReleaseDate=new DateTime(2017,1,1),//该版本发布的日期
|
2017-09-03 11:29:48 +08:00
|
|
|
|
UpdateDetails=new StringBuilder(
|
|
|
|
|
|
"1.本系统第一版本正式发布使用。"+Environment.NewLine+
|
2017-07-12 11:08:30 +08:00
|
|
|
|
"2.提供了多客户端用时在线的功能。"+Environment.NewLine+
|
|
|
|
|
|
"3.需要用户自行添加"),
|
|
|
|
|
|
},
|
|
|
|
|
|
};
|
2017-09-15 22:41:53 +08:00
|
|
|
|
|
2017-07-12 11:08:30 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 设置或获取系统的公告
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static string Announcement { get; set; } = "";
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 当前系统的登录账户
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static UserAccount UserAccount { get; set; } = new UserAccount();
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 服务器的时间,该时间与服务器同步,每隔10秒钟,防止客户端串改单机时间,可以作为各种时间条件判定
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static DateTime DateTimeServer { get; set; } = DateTime.Now;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用于访问服务器数据的网络对象类,必须修改这个端口参数,否则运行失败
|
|
|
|
|
|
/// </summary>
|
2017-09-02 22:35:02 +08:00
|
|
|
|
public static NetSimplifyClient Net_simplify_client = new NetSimplifyClient(
|
2017-07-12 11:08:30 +08:00
|
|
|
|
new System.Net.IPEndPoint(System.Net.IPAddress.Parse(ServerIp),
|
|
|
|
|
|
CommonLibrary.CommonLibrary.Port_Second_Net))
|
|
|
|
|
|
{
|
|
|
|
|
|
KeyToken = CommonHeadCode.KeyToken,
|
|
|
|
|
|
ConnectTimeout = 5000,
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用于使用udp向服务器进行发送即时可丢失数据的对象
|
|
|
|
|
|
/// </summary>
|
2017-09-02 22:35:02 +08:00
|
|
|
|
public static NetUdpClient Net_Udp_Client = new NetUdpClient(
|
2017-07-12 11:08:30 +08:00
|
|
|
|
new System.Net.IPEndPoint(System.Net.IPAddress.Parse(ServerIp),
|
|
|
|
|
|
CommonLibrary.CommonLibrary.Port_Udp_Server))
|
|
|
|
|
|
{
|
|
|
|
|
|
KeyToken = CommonHeadCode.KeyToken,
|
|
|
|
|
|
};
|
2017-07-12 13:13:43 +08:00
|
|
|
|
|
2017-09-13 21:08:18 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 客户端的日志纪录对象
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static HslCommunication.LogNet.ILogNet LogNet { get; set; }
|
2017-07-12 13:13:43 +08:00
|
|
|
|
|
2017-09-03 11:29:48 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用来处理客户端发生的未捕获的异常,将通过网络组件发送至服务器存储,用于更好的跟踪错误
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
|
/// <param name="e"></param>
|
2017-07-12 13:13:43 +08:00
|
|
|
|
public static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (e.ExceptionObject is Exception ex)
|
|
|
|
|
|
{
|
2017-09-15 22:41:53 +08:00
|
|
|
|
// 使用TCP方法传送会服务器
|
2017-09-02 22:35:02 +08:00
|
|
|
|
string info = HslCommunication.LogNet.LogNetManagment.GetSaveStringFromException(null, ex);
|
|
|
|
|
|
Net_simplify_client.ReadFromServer(CommonHeadCode.SimplifyHeadCode.异常消息, info);
|
2017-07-12 13:13:43 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2017-07-12 11:08:30 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|