ningshuxia
2025-03-20 d1807075581920a8c94a409b11a9c88dd869be1e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
using System.Data;
using Yw.WinFrmUI;
using Yw;
 
namespace IBox.WinFrmUI
{
    public partial class IBoxFormSystemInfo : DocumentPage
    {
 
        public IBoxFormSystemInfo()
        {
            this.PageTitle.Caption = "设备信息";
            InitializeComponent();
        }
 
        private void EboxFormSystemInfo_Load(object sender, EventArgs e)
        {
            Thread.Sleep(500);
            SendText(IBoxHelper.startCode + IBoxHelper.getstoreCode + IBoxHelper.paramCode + IBoxHelper.endCode);
        }
        public event EventHandler<string> SendData;
        private void SendText(string content)
        {
            if (SendData != null)
            {
                SendData?.Invoke(null, content);
 
            }
            else
            {
                if (IBoxHelper.Ping())
                {
                    var smsg = content.Split(new string[] { IBoxHelper.paramCode, IBoxHelper.startCode }, StringSplitOptions.RemoveEmptyEntries);
                    if (smsg.Length < 2)
                    {
                        return;
                    }
                    switch (smsg[0].Trim())
                    {
                        case IBoxHelper.getstoreCode:
                            {
                                var order = IBoxHelper.HttpGet(content);
                                var result = IBoxHelper.GetContent(order);
                                if (!string.IsNullOrEmpty(result))
                                {
                                    var model = JsonHelper.Json2Object<SystemInfoViewModel>(result);
                                    BindData(model, false);
                                }
                                break;
                            }
                        default:
                            IBoxHelper.HttpGet(content);
                            break;
                    }
                }
                else
                {
                    MessageBoxHelper.ShowWarning("网络连接失败,请检查网络");
                }
            }
        }
 
        /// <summary>
        /// 绑定数据
        /// </summary>
        /// <param name="model"></param>
        /// <param name="isBlue"></param>
        public void BindData(SystemInfoViewModel model, bool isBlue)
        {
            textEdit1.Text = model.Lan0IpAddress.Replace("\n", "");
            textEdit2.Text = model.Wlan0IpAddress.Replace("\n", "");
            textEdit3.Text = model.SystemVersion;
            textEdit4.Text = model.TotalRunTime;
            try
            {
                textEdit10.Text = model.CurrentTime?.Replace(";", "");
                var dic = GetDuDic(model.Du);
                if (dic != null)
                {
                    textEdit5.Text = GetDuString(dic, "/usr/ebox");
                    textEdit6.Text = GetDuString(dic, "/usr/ebox/Data");
                    textEdit7.Text = GetDuString(dic, "/usr/ebox/DataDockingConsole");
                    textEdit8.Text = GetDuString(dic, "/usr/ebox/PostDataConsole");
                    textEdit9.Text = GetDuString(dic, "/usr/ebox/WebServer");
                }
            }
            catch (Exception ex)
            {
            }
            textEdit11.Text = model.MemUse;
        }
 
        private Dictionary<string, string> GetDuDic(string du)
        {
            if (string.IsNullOrEmpty(du)) return null;
            return du.Substring(0, du.Length - 1).Split(';').Select(c => c.Split(':')).ToDictionary(b => b[1], b => b[0]);
        }
 
        private string GetDuString(Dictionary<string, string> du, string type)
        {
            return du[type];
        }
    }
}