@@ -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"; | |||||
} | |||||
} |
@@ -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"; | |||||
} | |||||
} |
@@ -3,17 +3,20 @@ | |||||
@using JT808.Protocol; | @using JT808.Protocol; | ||||
@using JT808.Protocol.Extensions; | @using JT808.Protocol.Extensions; | ||||
@using Newtonsoft.Json; | @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> | <h3>jt808analyze</h3> | ||||
@*<select class="btn-success" onchange=@DoStuff> | <select class="btn-success" @onchange="@OnSelectProtocolType"> | ||||
<option value="JT808">国标</option> | <option value="JT808">国标</option> | ||||
<option value="JT808_JT1078">国标扩展JT1078</option> | <option value="JT808_JT1078">国标扩展JT1078</option> | ||||
<option value="JT808_JTAS">国标扩展主动安全(苏标)</option> | <option value="JT808_JTAS">国标扩展主动安全(苏标)</option> | ||||
</select>*@ | </select> | ||||
<p>@protocolType</p> | <p>@protocolType</p> | ||||
<p>Hex: @HexData</p> | <p>Hex: @HexData</p> | ||||
<button class="btn btn-primary" @onclick="Query">分析</button> | <button class="btn btn-primary" @onclick="Query">分析</button> | ||||
@@ -22,19 +25,11 @@ | |||||
@Json | @Json | ||||
</div> | </div> | ||||
@functions { | |||||
string selectedString = "JT808"; | |||||
void DoStuff(ChangeEventArgs e) | |||||
{ | |||||
selectedString = e.Value.ToString(); | |||||
Console.WriteLine("It is definitely: " + selectedString); | |||||
} | |||||
} | |||||
@code { | @code { | ||||
private JT808Serializer Serializer; | private JT808Serializer Serializer; | ||||
private JT808Serializer JTAS_Serializer; | |||||
private JT808Serializer JT1078Serializer; | |||||
string protocolType = "JT808"; | string protocolType = "JT808"; | ||||
@@ -42,14 +37,32 @@ | |||||
private string Json; | private string Json; | ||||
private void OnSelectProtocolType(ChangeEventArgs e) | |||||
{ | |||||
protocolType = e.Value.ToString(); | |||||
} | |||||
protected override void OnInitialized() | protected override void OnInitialized() | ||||
{ | { | ||||
Serializer = Config.GetSerializer(); | Serializer = config.GetSerializer(); | ||||
JT1078Serializer = jT808_JT1078_Config.GetSerializer(); | |||||
JTAS_Serializer = jT808_JTActiveSafety_Config.GetSerializer(); | |||||
} | } | ||||
private void Query() | private void Query() | ||||
{ | { | ||||
var data = HexData.ToHexBytes(); | 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; | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,23 +1,16 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | |||||
using System.IO; | |||||
using System.Linq; | |||||
using System.Threading.Tasks; | |||||
using JT808.Protocol; | using JT808.Protocol; | ||||
using JT808.Protocol.Extensions.JT1078; | using JT808.Protocol.Extensions.JT1078; | ||||
using JT808.Protocol.Extensions.JTActiveSafety; | using JT808.Protocol.Extensions.JTActiveSafety; | ||||
using JT809.Protocol; | using JT809.Protocol; | ||||
using JT809.Protocol.Extensions.JT1078; | using JT809.Protocol.Extensions.JT1078; | ||||
using Microsoft.AspNetCore; | |||||
using Microsoft.AspNetCore.Hosting; | using Microsoft.AspNetCore.Hosting; | ||||
using Microsoft.Extensions.Configuration; | using Microsoft.Extensions.Configuration; | ||||
using Microsoft.Extensions.Hosting; | using Microsoft.Extensions.Hosting; | ||||
using Microsoft.Extensions.Logging; | |||||
using Microsoft.AspNetCore.Builder; | using Microsoft.AspNetCore.Builder; | ||||
using Microsoft.AspNetCore.Components; | |||||
using Microsoft.AspNetCore.HttpsPolicy; | |||||
using Microsoft.Extensions.DependencyInjection; | using Microsoft.Extensions.DependencyInjection; | ||||
using Newtonsoft.Json.Serialization; | using Newtonsoft.Json.Serialization; | ||||
using JTTools.Configs; | |||||
namespace JTTools | namespace JTTools | ||||
{ | { | ||||
@@ -90,9 +83,11 @@ namespace JTTools | |||||
}) | }) | ||||
.ConfigureServices(services => | .ConfigureServices(services => | ||||
{ | { | ||||
services.AddJT808Configure() | services.AddJT808Configure(); | ||||
.AddJT1078Configure() | services.AddJT808Configure(new JT808_JTActiveSafety_Config()) | ||||
.AddJTActiveSafetyConfigure(); | .AddJTActiveSafetyConfigure(); | ||||
services.AddJT808Configure(new JT808_JT1078_Config()) | |||||
.AddJT1078Configure(); | |||||
services.AddJT809Configure() | services.AddJT809Configure() | ||||
.AddJT1078Configure(); | .AddJT1078Configure(); | ||||
}) | }) | ||||