ningshuxia
2025-03-27 afbafeecc1325bff849a17fb63b9b2b65b48ddf1
WinFrmUI/IBox.WinFrmUI/Form/IBoxFormParams.cs
@@ -6,23 +6,18 @@
{
    public partial class IBoxFormParams : DocumentPage
    {
        private string startCode = "[&start&]";
        private string endCode = "[&end&]";
        private string paramCode = "[&param&]";
        private string getparamsCode = "getparams";
        private string saveparamsCode = "saveparams";
        private string restartserviceCode = "restartservice";//重启服务
        private string clearupdataCode = "clearupdata";
        private void EboxFormParams_Load(object sender, EventArgs e)
        {
            //BluetoothHelper.GetInstance().SMR -= null;
            //BluetoothHelper.GetInstance().SMR += new BluetoothHelper.ShowMessReturn(GetReceive);
            //BluetoothHelper.GetInstance().ListenerData();
            Thread.Sleep(500);
            SendText(startCode + getparamsCode + paramCode + endCode);
            SendText(IBoxHelper.startCode + IBoxHelper.getparamsCode + IBoxHelper.paramCode + IBoxHelper.endCode);
        }
        public void HideButton()
        {
            //simpleButton1.Visible = simpleButton2.Visible = simpleButton5.Visible = simpleButton3.Visible = simpleButton4.Visible = simpleButton6.Visible = false;
            layoutControlItem4.Visibility = layoutControlItem19.Visibility = layoutControlItem20.Visibility = layoutControlItem21.Visibility = layoutControlItem22.Visibility = layoutControlItem25.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
        }
        public IBoxFormParams()
        {
            this.PageTitle.Caption = "参数配置";
@@ -31,31 +26,60 @@
            WaitFormHelper.ShowWaitForm();
        }
        public void GetReceive(string msg)
        {
            if (!this.IsHandleCreated || this.IsDisposed || string.IsNullOrEmpty(msg)) return;
            if (msg.StartsWith("error:") && msg.Contains("目标主机坏了"))
            {
                MessageBoxHelper.ShowWarning("p 蓝牙设备连接失败,请重试!"); return;
            }
            if (!string.IsNullOrEmpty(msg) && msg.Contains(startCode))
            {
                var order = msg.Replace(endCode, "").Replace(startCode, "").Trim();
                SetOrder(order);
            }
            else MessageBoxHelper.ShowWarning("p 蓝牙设备连接失败");
        }
        public event EventHandler<string> SendData;
        private void SendText(string content)
        {
            //BluetoothHelper.GetInstance().SendData(content);
            SendData?.Invoke(null, 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.getparamsCode:
                            {
                                var order = IBoxHelper.HttpGet(content);
                                var result = IBoxHelper.GetContent(order);
                                if (!string.IsNullOrEmpty(result))
                                {
                                    var model = JsonHelper.Json2Object<IBoxConfigViewModel>(result);
                                    BindData(model, false);
                                }
                                break;
                            }
                        default:
                            IBoxHelper.HttpGet(content);
                            break;
                    }
                }
                else
                {
                    MessageBoxHelper.ShowWarning("网络连接失败,请检查网络");
                }
            }
        }
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            //保存参数
            Save();
        }
        /// <summary>
        /// 保存参数
        /// </summary>
        public void Save()
        {
            var model = new IBoxConfigViewModel()
            {
                ControllFrequency = (int.Parse(textEditControllFrequency.Text) * 1000).ToString(),
@@ -85,29 +109,16 @@
                    Port = textEditPort.Text,
                }
            };
            SendText(startCode + saveparamsCode + paramCode + JsonHelper.Object2Json(model) + endCode);
            SendText(IBoxHelper.startCode + IBoxHelper.saveparamsCode + IBoxHelper.paramCode + JsonHelper.Object2Json(model) + IBoxHelper.endCode);
            MessageBoxHelper.ShowInfo("保存成功");
        }
        private void SetOrder(string order)
        {
            var smsg = order.Split(new string[] { paramCode }, StringSplitOptions.RemoveEmptyEntries);
            if (smsg.Length < 2)
            {
                return;
            }
            switch (smsg[0].Trim())
            {
                case "getparams":
                    var model = JsonHelper.Json2Object<IBoxConfigViewModel>(smsg[1].Trim());
                    BindData(model);
                    break;
                case "saveparams":
                    break;
            }
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        /// <param name="model"></param>
        /// <param name="isBlue"></param>
        public void BindData(IBoxConfigViewModel model, bool isBlue = true)
        {
            if (model != null)
@@ -177,36 +188,83 @@
        private void simpleButton5_Click(object sender, EventArgs e)
        {
            //重启通讯服务
            SendText(startCode + restartserviceCode + paramCode + "WebServer" + endCode);
            RestartWebServer();
            MessageBoxHelper.ShowInfo("操作成功");
        }
        /// <summary>
        /// 重启通讯服务
        /// </summary>
        public void RestartWebServer()
        {
            SendText(IBoxHelper.startCode + IBoxHelper.restartserviceCode + IBoxHelper.paramCode + "WebServer" + IBoxHelper.endCode);
            MessageBoxHelper.ShowInfo("操作成功");
        }
        private void simpleButton4_Click(object sender, EventArgs e)
        {
            //重启分析服务
            SendText(startCode + restartserviceCode + paramCode + "AnalyConsole" + endCode);
            RestartAnalyService();
        }
        /// <summary>
        /// 重启分析服务
        /// </summary>
        public void RestartAnalyService()
        {
            SendText(IBoxHelper.startCode + IBoxHelper.restartserviceCode + IBoxHelper.paramCode + "AnalyConsole" + IBoxHelper.endCode);
            MessageBoxHelper.ShowInfo("操作成功");
        }
        private void simpleButton3_Click(object sender, EventArgs e)
        {
            //重启推送服务
            SendText(startCode + restartserviceCode + paramCode + "PostDataConsole" + endCode);
            RestartPostDataService();
        }
        /// <summary>
        /// 重启推送服务
        /// </summary>
        public void RestartPostDataService()
        {
            SendText(IBoxHelper.startCode + IBoxHelper.restartserviceCode + IBoxHelper.paramCode + "PostDataConsole" + IBoxHelper.endCode);
            MessageBoxHelper.ShowInfo("操作成功");
        }
        private void simpleButton2_Click(object sender, EventArgs e)
        {
            //重启采集服务
            SendText(startCode + restartserviceCode + paramCode + "DataDockingConsole" + endCode);
            RestartDataDockingService();
        }
        /// <summary>
        /// 重启采集服务
        /// </summary>
        public void RestartDataDockingService()
        {
            SendText(IBoxHelper.startCode + IBoxHelper.restartserviceCode + IBoxHelper.paramCode + "DataDockingConsole" + IBoxHelper.endCode);
            MessageBoxHelper.ShowInfo("操作成功");
        }
        private void simpleButton6_Click(object sender, EventArgs e)
        {
            //清理数据
            SendText(startCode + clearupdataCode + paramCode + endCode);
            RestartClearUpData();
        }
        /// <summary>
        /// 清理数据
        /// </summary>
        public void RestartClearUpData()
        {
            SendText(IBoxHelper.startCode + IBoxHelper.clearupdataCode + IBoxHelper.paramCode + IBoxHelper.endCode);
            MessageBoxHelper.ShowInfo("操作成功");
        }
    }
}