Browse Source

将国标和1078、主动安全分开来,避免协议Id冲突

master
SmallChi(Koike) 5 years ago
parent
commit
adbe731d9a
4 changed files with 60 additions and 26 deletions
  1. +13
    -0
      src/JTTools/Configs/JT808_JT1078_Config.cs
  2. +13
    -0
      src/JTTools/Configs/JT808_JTActiveSafety_Config.cs
  3. +29
    -16
      src/JTTools/Pages/JT808Analyze.razor
  4. +5
    -10
      src/JTTools/Program.cs

+ 13
- 0
src/JTTools/Configs/JT808_JT1078_Config.cs View File

@@ -0,0 +1,13 @@
using JT808.Protocol.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace JTTools.Configs
{
public class JT808_JT1078_Config : GlobalConfigBase
{
public override string ConfigId { get; protected set; } = "JT808_JT1078_Config";
}
}

+ 13
- 0
src/JTTools/Configs/JT808_JTActiveSafety_Config.cs View File

@@ -0,0 +1,13 @@
using JT808.Protocol.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace JTTools.Configs
{
public class JT808_JTActiveSafety_Config : GlobalConfigBase
{
public override string ConfigId { get; protected set; } = "JT808_JTActiveSafety_Config";
}
}

+ 29
- 16
src/JTTools/Pages/JT808Analyze.razor View File

@@ -3,17 +3,20 @@
@using JT808.Protocol;
@using JT808.Protocol.Extensions;
@using Newtonsoft.Json;
@inject IJT808Config Config

@using JTTools.Configs;
@inject IJT808Config config
@inject JT808_JT1078_Config jT808_JT1078_Config
@inject JT808_JTActiveSafety_Config jT808_JTActiveSafety_Config
<h3>jt808analyze</h3>

@*<select class="btn-success" onchange=@DoStuff>
<select class="btn-success" @onchange="@OnSelectProtocolType">
<option value="JT808">国标</option>
<option value="JT808_JT1078">国标扩展JT1078</option>
<option value="JT808_JTAS">国标扩展主动安全(苏标)</option>
</select>*@
</select>

<p>@protocolType</p>

<p>Hex: @HexData</p>

<button class="btn btn-primary" @onclick="Query">分析</button>
@@ -22,19 +25,11 @@
@Json
</div>

@functions {
string selectedString = "JT808";

void DoStuff(ChangeEventArgs e)
{
selectedString = e.Value.ToString();
Console.WriteLine("It is definitely: " + selectedString);
}
}

@code {

private JT808Serializer Serializer;
private JT808Serializer JTAS_Serializer;
private JT808Serializer JT1078Serializer;

string protocolType = "JT808";

@@ -42,14 +37,32 @@

private string Json;

private void OnSelectProtocolType(ChangeEventArgs e)
{
protocolType = e.Value.ToString();
}

protected override void OnInitialized()
{
Serializer = Config.GetSerializer();
Serializer = config.GetSerializer();
JT1078Serializer = jT808_JT1078_Config.GetSerializer();
JTAS_Serializer = jT808_JTActiveSafety_Config.GetSerializer();
}

private void Query()
{
var data = HexData.ToHexBytes();
Json = Serializer.Analyze(data);
switch (protocolType)
{
case "JT808":
Json = Serializer.Analyze(data);
break;
case "JT808_JT1078":
Json = JT1078Serializer.Analyze(data);
break;
case "JT808_JTAS":
Json = JTAS_Serializer.Analyze(data);
break;
}
}
}

+ 5
- 10
src/JTTools/Program.cs View File

@@ -1,23 +1,16 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using JT808.Protocol;
using JT808.Protocol.Extensions.JT1078;
using JT808.Protocol.Extensions.JTActiveSafety;
using JT809.Protocol;
using JT809.Protocol.Extensions.JT1078;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json.Serialization;
using JTTools.Configs;

namespace JTTools
{
@@ -90,9 +83,11 @@ namespace JTTools
})
.ConfigureServices(services =>
{
services.AddJT808Configure()
.AddJT1078Configure()
services.AddJT808Configure();
services.AddJT808Configure(new JT808_JTActiveSafety_Config())
.AddJTActiveSafetyConfigure();
services.AddJT808Configure(new JT808_JT1078_Config())
.AddJT1078Configure();
services.AddJT809Configure()
.AddJT1078Configure();
})


Loading…
Cancel
Save