Commit 375ea82e authored by 姜春辉's avatar 姜春辉

增加心跳;补充未上传的空文件夹

parent 7192d6c5
<?xml version="1.0" encoding="utf-8" ?>
<Settings xmlns="urn:Chinags-Configuration" AddonName="GS.Terminal.Console">
<Dictionaries>
<Dict Name="baseConfig" Caption="基本配置">
<Key Name="WatchPort" Value="10031" Caption="监听端口" Choice="" />
<Key Name="HttpPort" Value="10032" Caption="控制页面端口" Choice="" />
</Dict>
</Dictionaries>
</Settings>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Extensibility xmlns="urn:Chinags-Extensibility-1.0" Name="终端控制台插件" SymbolicName="GS.Terminal.Console" Version="1.0.0.0" StartLevel="10">
<License>hPnEXlXcHZOUdEa4a8sn56bTmI9lqbfLm/krwT3T7KFeREu3k58r9HCL/9p4ZrbYlrf6a14Bquo70dQN4zVxCEN+OoF9zCU7BCjqD7Z9PpnWv0yEeV/hD4/VvDzchq3sV64XgtxIIuKrI+WjZ/gZcMVQRq2RwCE/hgHbDtcoT6k=</License>
<Activator Type="GS.Terminal.Console.Activator" />
<Runtime>
<Assembly Path="GS.Terminal.Console.dll" Share="true" />
</Runtime>
<Services>
<Service Caption="远程指令服务" TypeAndName="GS.Terminal.Console.Services.RemoteService">
<!--
/// <summary>
/// 开始向远程机发送心跳
/// </summary>
/// <param name="remoteIp">地址</param>
/// <param name="remotePort">端口</param>
/// <param name="interval">间隔</param>
void StartHeart(string remoteIp,int remotePort, int interval)
发送心跳指令$Heart
指令内容通过 TERMINAL_STATUS 公共交互字段填充
/// <summary>
/// 停止发送心跳
/// </summary>
/// <param name="remoteIp">心跳远程地址</param>
void StopHeart(string remoteIp)
/// <summary>
/// 发送ping指令
/// </summary>
/// <param name="serverIP">服务器ip</param>
/// <param name="StatusChangedCallback">ping指令状态变更回调</param>
void StartPing(string serverIP,Action<IPStatus> StatusChangedCallback)
/// <summary>
/// 停止Ping
/// </summary>
/// <param name="serverIP">服务器地址</param>
/// <param name="StatusChangedCallback">移除事件</param>
void StopPing(string serverIP, Action<IPStatus> StatusChangedCallback)
-->
</Service>
</Services>
</Extensibility>
\ No newline at end of file
......@@ -6,6 +6,7 @@
<Key Caption="取样间隔(毫秒)" Choice="" Name="SampleInterval" Value="50"/>
</Dict>
<Dict Name="LogicConfig" Caption="业务配置">
<Key Caption="心跳端口" Choice="" Name="HeartPort" Value="12161"/>
<Key Caption="数据保存间隔(秒)" Choice="" Name="SaveDataInterval" Value="3"/>
<Key Caption="上传间隔(秒)" Choice="" Name="UploadDataInterval" Value="10"/>
<Key Caption="重试上传间隔(秒)" Choice="" Name="RetryUploadDataInterval" Value="30"/>
......
......@@ -84,6 +84,7 @@
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
......@@ -113,6 +114,7 @@
<Compile Include="Remote\WebApi.cs" />
<Compile Include="ThirdAddon\LogicShell.cs" />
<Compile Include="ThirdAddon\MainShell.cs" />
<Compile Include="ThirdAddon\TerminalConsole.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Config.xml">
......
......@@ -33,6 +33,7 @@ namespace GS.Terminal.EconomyWeight.Logic
public class LogicConfig : IDictSetting
{
public string WebUrl { get; set; }
public int HeartPort { get; set; }
public int SaveDataInterval { get; set; }
public int UploadDataInterval { get; set; }
public int RetryUploadDataInterval { get; set; }
......
using EconomyWeightViewModels;
using GS.Unitive.Framework.Core;
using GS.Unitive.Framework.Persistent;
using Microsoft.VisualBasic.ApplicationServices;
using System;
using System.Collections.Generic;
using System.Diagnostics;
......@@ -31,7 +32,8 @@ namespace GS.Terminal.EconomyWeight.Logic
_Context = Context;
vmLocator = new Locator();
MainDevice = new Device(LocalSetting.DeviceConfig.COMPort);
_Context.CreateIntercativeData<string>("TERMINAL_STATUS");
_Context.IntercativeData("TERMINAL_STATUS", $"{new ApplicationBase().Info.Version}[{_logicVersion}] Standby");
if (LocalSetting.LogicConfig.WebUrl.Contains("?"))
{
vmLocator.Main.Address = $"{LocalSetting.LogicConfig.WebUrl}&tCode={LocalSetting.AppConfig.tCode}";
......@@ -45,6 +47,7 @@ namespace GS.Terminal.EconomyWeight.Logic
private void Instance_onRuntimeCompleted(object sender)
{
ThirdAddon.TerminalConsole.StartHeart(LocalSetting.AppConfig.ServerIP, LocalSetting.LogicConfig.HeartPort, 1000);
manager = new ObjectSpaceManager();
_ObjectSpace.UpdateDataSchema();
ThirdAddon.LogicShell.ShowView(vmLocator.Main);
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GS.Terminal.EconomyWeight.Logic.ThirdAddon
{
public class TerminalConsole
{
private static dynamic _Service;
static TerminalConsole()
{
_Service = Program._Context.GetFirstOrDefaultService("GS.Terminal.Console", "GS.Terminal.Console.Services.RemoteService");
if (_Service == null)
{
Program._Context.Logger.Error($"GS.Terminal.Console插件服务RemoteService未找到", null);
}
}
public static void StartHeart(string remoteIp, int remotePort, int interval)
{
_Service?.StartHeart(remoteIp, remotePort, interval);
}
}
}
......@@ -5,6 +5,7 @@
</startup>
<appSettings>
<add key="tCode" value="Hz2zWeight0"/>
<add key="ServerIP" value="192.168.1.7"/>
<add key="WebPath" value="http://192.168.1.7:9090/"/>
</appSettings>
</configuration>
\ No newline at end of file
......@@ -119,6 +119,26 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Content Include="..\..\addons\GS.Terminal.Console\Config.xml">
<Link>Addons\GS.Terminal.Console\Config.xml</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="..\..\addons\GS.Terminal.Console\Develop.Extension.Commucation.dll">
<Link>Addons\GS.Terminal.Console\Develop.Extension.Commucation.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="..\..\addons\GS.Terminal.Console\GS.Terminal.Console.dll">
<Link>Addons\GS.Terminal.Console\GS.Terminal.Console.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="..\..\addons\GS.Terminal.Console\Mapper.xml">
<Link>Addons\GS.Terminal.Console\Mapper.xml</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="..\..\addons\GS.Terminal.Console\Terminal.Common.Structs.dll">
<Link>Addons\GS.Terminal.Console\Terminal.Common.Structs.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="..\GS.Terminal.EconomyWeight.Logic\bin\Debug\GS.Terminal.EconomyWeight.LocalDb.dll">
<Link>Addons\GS.Terminal.EconomyWeight.Logic\GS.Terminal.EconomyWeight.LocalDb.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment