@@ -54,7 +58,7 @@
private string HexData2019 = "5B 00 00 00 C9 00 00 06 82 17 00 01 34 15 F4 01 00 00 00 00 00 27 0F 00 00 00 00 5E 02 A5 07 B8 D4 C1 41 31 32 33 34 35 00 00 00 00 00 00 00 00 00 00 00 00 00 02 17 01 00 00 00 8B 01 02 03 04 05 06 07 08 09 10 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E7 D3 5D";
- private string HexData = "";
+ private string HexData = "";
private string Json;
@@ -68,29 +72,28 @@
private bool isOpen = false;
- private uint? M1;
- private uint? IA1;
- private uint? IC1;
+ private long M1;
+ private long IA1;
+ private long IC1;
void OnDismiss()
{
isOpen = !isOpen;
- StateHasChanged();
}
- public void OnSelectVersion(OneOf value, SelectOption option)
+ public void OnSelectVersion(OneOf, LabeledValue, IEnumerable> value,
+ OneOf> option)
{
- HexData = new Random().Next(1, 100).ToString();
- //this.version = value.Value.ToString();
- //switch (version)
- //{
- // case "v2011":
- // this.HexData = HexData2011;
- // break;
- // case "v2019":
- // this.HexData = HexData2019;
- // break;
- //}
+ this.version = value.Value.ToString();
+ switch (version)
+ {
+ case "v2011":
+ this.HexData = HexData2011;
+ break;
+ case "v2019":
+ this.HexData = HexData2019;
+ break;
+ }
}
private void OnSelectEncryptType(OneOf, LabeledValue, IEnumerable> value,
@@ -123,12 +126,12 @@
else
{
IJT809Config jt809ConfigInternal = new JT809Config2011(Guid.NewGuid().ToString());
+ SetEncryptOptions();
jt809ConfigInternal.EncryptOptions = EncryptOptions;
JT809Serializer jT809SerializerInternal = new JT809Serializer(jt809ConfigInternal);
Json = jT809SerializerInternal.Analyze(data, JTJsonWriterOptions.Instance);
}
break;
-
case "v2019":
if (encryptType == "none")
{
@@ -137,6 +140,7 @@
else
{
IJT809Config jt809ConfigInternal = new JT809Config2019(Guid.NewGuid().ToString());
+ SetEncryptOptions();
jt809ConfigInternal.EncryptOptions = EncryptOptions;
JT809Serializer jT809SerializerInternal = new JT809Serializer(jt809ConfigInternal);
Json = jT809SerializerInternal.Analyze(data, JTJsonWriterOptions.Instance);
@@ -158,6 +162,13 @@
}
}
+ private void SetEncryptOptions()
+ {
+ EncryptOptions.M1 = (uint)M1;
+ EncryptOptions.IA1 = (uint)IA1;
+ EncryptOptions.IC1 = (uint)IC1;
+ }
+
class JT809Config2011 : JT809GlobalConfigBase
{
public JT809Config2011(string configId)
diff --git a/src/JTTools/Program.cs b/src/JTTools/Program.cs
index ae8f985..4609b55 100644
--- a/src/JTTools/Program.cs
+++ b/src/JTTools/Program.cs
@@ -12,6 +12,7 @@ using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json.Serialization;
using JTTools.Configs;
using Newtonsoft.Json;
+using JT808.Protocol.Extensions.Streamax;
namespace JTTools
{
@@ -82,6 +83,8 @@ namespace JTTools
.AddJT1078Configure();
services.AddJT809Configure(new JT809_2019_Config())
.AddJT1078Configure();
+ services.AddJT808Configure(new JT808_Streamax_Config())
+ .AddStreamaxConfigure();
})
.Build()
.Run();
diff --git a/src/JTTools/Shared/MainLayout.razor b/src/JTTools/Shared/MainLayout.razor
index 80b11e2..42165f1 100644
--- a/src/JTTools/Shared/MainLayout.razor
+++ b/src/JTTools/Shared/MainLayout.razor
@@ -15,7 +15,7 @@