diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index aa1fe40..124607a 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -80,6 +80,7 @@ namespace SunlightAggregationManager { state.Visibility = Visibility.Collapsed; Picture.Visibility = Visibility.Visible; + Picture.Content = new View.MachinePage(); } private void ListViewItem_MouseLeftButtonUp_extend(object sender, MouseButtonEventArgs e) { @@ -96,6 +97,7 @@ namespace SunlightAggregationManager { state.Visibility = Visibility.Collapsed; Picture.Visibility = Visibility.Visible; + Picture.Content = new View.ActionPage(); } private void ListViewItem_MouseLeftButtonUp_set(object sender, MouseButtonEventArgs e) diff --git a/UserClass/AsyncHttpServer.cs b/UserClass/AsyncHttpServer.cs index f66d0c2..b335c8b 100644 --- a/UserClass/AsyncHttpServer.cs +++ b/UserClass/AsyncHttpServer.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Data; +using System.Net.Sockets; using System.Text; using System.Text.Json; using TouchSocket.Core; @@ -16,7 +17,10 @@ namespace SunlightAggregationManager.UserClass public class AsyncHttpServer { public static HttpService httpservice = new HttpService(); - + public static async void Configuration(int P1) + { + await HttpMain(P1); + } public static async Task HttpMain(int port1) { NetFwManger.AllowPort(port1, "TCP");//开放端口 diff --git a/UserClass/AsyncTcpServer.cs b/UserClass/AsyncTcpServer.cs index 7d574e7..356e6dc 100644 --- a/UserClass/AsyncTcpServer.cs +++ b/UserClass/AsyncTcpServer.cs @@ -24,7 +24,14 @@ namespace SunlightAggregationManager.UserClass public required string Terminal { get; set; } public required string Dat { get; set; } } + + public static async void Configuration(int P1, int P2) + { + await TcpMain(P1, P2); + } + public static TcpService service = new TcpService(); + public static async Task TcpMain(int port1 ,int port2) { NetFwManger.AllowPort(port1, "TCP");//开放7790端口 diff --git a/View/ActionPage.xaml b/View/ActionPage.xaml new file mode 100644 index 0000000..b38a19e --- /dev/null +++ b/View/ActionPage.xaml @@ -0,0 +1,13 @@ + + + + + diff --git a/View/ActionPage.xaml.cs b/View/ActionPage.xaml.cs new file mode 100644 index 0000000..522a5ca --- /dev/null +++ b/View/ActionPage.xaml.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace SunlightAggregationManager.View +{ + /// + /// ActionPage.xaml 的交互逻辑 + /// + public partial class ActionPage : UserControl + { + public ActionPage() + { + InitializeComponent(); + } + + private void UserControl_Loaded(object sender, RoutedEventArgs e) + { + + } + } +} diff --git a/View/MachinePage.xaml b/View/MachinePage.xaml new file mode 100644 index 0000000..d69a5b1 --- /dev/null +++ b/View/MachinePage.xaml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/View/MachinePage.xaml.cs b/View/MachinePage.xaml.cs new file mode 100644 index 0000000..222f2d5 --- /dev/null +++ b/View/MachinePage.xaml.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace SunlightAggregationManager.View +{ + /// + /// MachinePage.xaml 的交互逻辑 + /// + public partial class MachinePage : UserControl + { + public MachinePage() + { + InitializeComponent(); + } + + private string id = ""; + private void DataGridmachines_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + int rownum = DataGridmachines.SelectedIndex;//获取鼠标选中行并定义变量 + if (rownum != -1)//判断鼠标定位是否有效 + { + var row_ = DataGridmachines.Columns[0].GetCellContent(DataGridmachines.Items[rownum]); + if (row_ is TextBlock textBlock) + { + id = textBlock.Text;//定位第0列, + } + + } + } + } +} diff --git a/View/UserPage.xaml.cs b/View/UserPage.xaml.cs index debce54..5c8f220 100644 --- a/View/UserPage.xaml.cs +++ b/View/UserPage.xaml.cs @@ -40,12 +40,9 @@ namespace SunlightAggregationManager.View if (row_ is TextBlock textBlock) { user_id = textBlock.Text;//定位第0列, - } - - + } - } - + } } private void MenuItem_Information(object sender, RoutedEventArgs e)//信息 diff --git a/View/imgQR.xaml.cs b/View/imgQR.xaml.cs index 91f077c..dc3fdab 100644 --- a/View/imgQR.xaml.cs +++ b/View/imgQR.xaml.cs @@ -1,8 +1,10 @@ using Net.Codecrete.QrCodeGenerator; +using SunlightAggregationManager.ViewModel; using System; using System.Collections.Generic; using System.Drawing; using System.IO; +using System.Reflection.PortableExecutable; using System.Text; using System.Windows; using System.Windows.Controls; @@ -94,9 +96,11 @@ namespace SunlightAggregationManager.View } private void imgQR_Loaded(object sender, RoutedEventArgs e) - { - string text_APP = "TEST"; // 要生成二维码的内容 - string text_LINK = Configini.IniReadvalue("SYS", "LINK"); // 要生成二维码的内容 + { + string text_APP = "TEST"; // + string text_LINK = MainWindowViewModel.MachineIP + ":"+ MainWindowViewModel.MachineIPP1 + + ",HTTP//:" + MainWindowViewModel.SERVERIP + "/" + MainWindowViewModel.Enterprise; + // 要生成二维码的内容 imgQR_CREATE(text_APP, imgQR_app); imgQR_CREATE(text_LINK, imgQR_link); diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index e64a75b..8802255 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -28,6 +28,9 @@ namespace SunlightAggregationManager.ViewModel public static string SQLPASWORD = ""; public static string MachineName = "SERVER"; public static string MachineVer = "1.0.0"; + public static string MachineIP = ""; + public static int MachineIPP1 = 7789; + public static int MachineIPP2 = 7790; public static string Enterprise = ""; public static string TCP_E = "0"; public static string HTTP_E = "0"; @@ -99,31 +102,26 @@ namespace SunlightAggregationManager.ViewModel //运行数据库 Service.Rows.Add(0, "RUN", "SQL_DataBase_Link"); dataBase.Config(SQLIP, SQLNAME, SQMOD, SQLUSER, SQLPASWORD); - Service.Rows.Add(1, "RUN", "Sunlight_Server_Link"); - AsyncTcpClient.Configuration(SERVERIP, SERVERNAME, SERVERUSER, SERRVERPASWORD);//连接sunlight服务器 - - Console.WriteLine(GetLocalIP.GetLocalIPv4Address().ToString()); - + if (TCP_E == "1")//启动tcp(内网直连) { - int P1, P2; try { - P1 = int.Parse(Configini.IniReadvalue("NETWORK", "TCP_PORT1")); + MachineIPP1 = int.Parse(Configini.IniReadvalue("NETWORK", "TCP_PORT1")); } - catch (Exception) { P1 = 7789; } + catch (Exception) { MachineIPP1 = 7789; } try { - P2 = int.Parse(Configini.IniReadvalue("NETWORK", "TCP_PORT2")); + MachineIPP2 = int.Parse(Configini.IniReadvalue("NETWORK", "TCP_PORT2")); } - catch (Exception) { P2 = 7790; } + catch (Exception) { MachineIPP2 = 7790; } - Service.Rows.Add(2, "RUN", "TCP"); - _ = AsyncTcpServer.TcpMain(P1, P2); + Service.Rows.Add(1, "RUN", "TCP"); + AsyncTcpServer.Configuration(MachineIPP1, MachineIPP2); } else { - Service.Rows.Add(2, "STOP", "TCP"); + Service.Rows.Add(1, "STOP", "TCP"); } if (HTTP_E == "1")//启动tcp(内网直连) { @@ -134,13 +132,23 @@ namespace SunlightAggregationManager.ViewModel } catch (Exception) { P1 = 7791; } - Service.Rows.Add(3, "RUN", "HTTP"); - _ = AsyncHttpServer.HttpMain(P1); + Service.Rows.Add(2, "RUN", "HTTP"); + AsyncHttpServer.Configuration(P1); } else { - Service.Rows.Add(3, "STOP", "HTTP"); + Service.Rows.Add(2, "STOP", "HTTP"); } + + //获取当前IP + MachineIP = GetLocalIP.GetLocalIPv4Address().ToString(); + Console.WriteLine(MachineIP); + //连接sunlight服务器 + Service.Rows.Add(3, "RUN", "Sunlight_Server_Link"); + AsyncTcpClient.Configuration(SERVERIP, SERVERNAME, SERVERUSER, SERRVERPASWORD); + + + Service.EndInit(); }