Pārlūkot izejas kodu

1.增加808分包的各个包的解析及展示

2.升级协议库
pull/9/head
SmallChi(Koike) pirms 4 gadiem
vecāks
revīzija
cd0c8272ca
4 mainītis faili ar 43 papildinājumiem un 15 dzēšanām
  1. +5
    -5
      src/JTTools/JTTools.csproj
  2. +2
    -1
      src/JTTools/Pages/Index.razor
  3. +35
    -8
      src/JTTools/Pages/JT808Analyze.razor
  4. +1
    -1
      src/JTTools/wwwroot/js/map.js

+ 5
- 5
src/JTTools/JTTools.csproj Parādīt failu

@@ -7,16 +7,16 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AntDesign" Version="0.7.3" />
<PackageReference Include="AntDesign" Version="0.8.0" />
<PackageReference Include="JT1078" Version="1.1.0" />
<PackageReference Include="JT808" Version="2.3.7" />
<PackageReference Include="JT808" Version="2.3.9" />
<PackageReference Include="JT808.Protocol.Extensions.JT1078" Version="2.3.6" />
<PackageReference Include="JT808.Protocol.Extensions.JTActiveSafety" Version="1.1.5" />
<PackageReference Include="JT808.Protocol.Extensions.Streamax" Version="0.2.3" />
<PackageReference Include="JT808.Protocol.Extensions.JTActiveSafety" Version="1.1.6" />
<PackageReference Include="JT808.Protocol.Extensions.Streamax" Version="0.2.6" />
<PackageReference Include="JT809" Version="2.2.0" />
<PackageReference Include="JT809.Protocol.Extensions.JT1078" Version="2.2.0" />
<PackageReference Include="JTActiveSafety" Version="1.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.5" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="NLog.Extensions.Logging" Version="1.7.2" />
</ItemGroup>


+ 2
- 1
src/JTTools/Pages/Index.razor Parādīt failu

@@ -7,6 +7,7 @@
<Badge Color="red" />支持锐明808公交业务扩展协议<br />
<Badge Color="red" />支持主动安全附件(苏标)分析工具<br />
<Badge Color="red" />增加808分包解析<br />
<Badge Color="red" />增加地图-经纬度解析
<Badge Color="red" />增加地图-经纬度解析<br />
<Badge Color="red" />增加808分包的各个包的解析及展示
</Text>
</Paragraph>

+ 35
- 8
src/JTTools/Pages/JT808Analyze.razor Parādīt failu

@@ -13,7 +13,8 @@
@inject JT808_Streamax_Config jT808_Streamax_Config
@using OneOf;

<Tag Color="blue">如有分包,请换行区分。</Tag><br />
<Tag Color="blue">如有分包,请换行区分。</Tag>
<br />
<Select TItemValue="string" TItem="string" @bind-Value="@protocolType" Style="width:200px" OnSelectedItemChanged="OnSelectProtocolType">
<SelectOptions>
<SelectOption TItemValue="string" TItem="string" Label="国标" Value="@("JT808")" />
@@ -33,6 +34,30 @@
}

<div class="right">
@if (JT808HeaderPackages != null)
{
<AntList DataSource="@JT808HeaderPackages" TItem="JT808HeaderPackage">
<ListItem>
<ListItemMeta>
<TitleTemplate>
<Tag Color="orange">终端号:@context.Header.TerminalPhoneNo</Tag>
<Tag Color="volcano">消息Id:@("0x" + context.Header.MsgId.ToString("X2"))</Tag>
<Tag Color="purple">消息流水号:@context.Header.MsgNum</Tag>
<Tag Color="pink">设备版本号:@(((JT808.Protocol.Enums.JT808Version)context.Header.ProtocolVersion).ToString())</Tag>
<Tag Color="red">总分包数:@context.Header.PackgeCount</Tag>
<Tag Color="blue">当前页:@context.Header.PackageIndex</Tag>
<Tag Color="cyan">数据体长度:@context.Header.MessageBodyProperty.DataLength</Tag>
<Tag Color="geekblue">是否加密:@context.Header.MessageBodyProperty.Encrypt.ToString()</Tag>
</TitleTemplate>
<DescriptionTemplate>
<pre>
@context.Bodies.ToHexString()
</pre>
</DescriptionTemplate>
</ListItemMeta>
</ListItem>
</AntList>
}
<pre>
@Json
</pre>
@@ -49,7 +74,7 @@
private JT808Serializer JT1078Serializer;

string protocolType = "JT808";
private List<JT808HeaderPackage> JT808HeaderPackages;
private string HexData = HexDataTmp;
private static string HexDataTmp = "7E 02 00 00 26 12 34 56 78 90 12 00 7D 02 00 00 00 01 00 00 00 02 00 BA 7F 0E 07 E4 F1 1C 00 28 00 3C 00 00 18 10 15 10 10 10 01 04 00 00 00 64 02 02 00 7D 01 13 7E";
private static string HexSubDataTmp = "7E120523A204066657506200EB00020001015A00000023012012191042052012191050190000000000000000000101064446D10120121910221720121910420500000000000000000001010F1FE8EB0120121910023420121910221700000000000000000001010F182D5C0120121909471120121910015500000000000000000001010B38F2430120121909274020121909471100000000000000000001010F056DB40120121909080920121909274000000000000000000001010F0724380120121908483820121909080900000000000000000001010F0530AB0120121908290720121908483800000000000000000001010F05896C0120121908093720121908290700000000000000000001010F02CD3B0120121907500520121908093700000000000000000001010F056FEF0120121907303420121907500500000000000000000001010F043C3401201219072541201219073034000000000000000000010103C26C5F0120121907061120121907254100000000000000000001010F03F0C10120121906464220121907061100000000000000000001010F02F6330120121906271220121906464200000000000000000001010F02E43B0120121906074220121906271200000000000000000001010F033D670120121905481120121906074200000000000000000001010F088BF20120121905284120121905481100000000000000000001010F03F9FE0120121905091020121905284100000000000000000001010F05B1040120121904494020121905091000000000000000000001010F02B3540120121904301020121904494000000000000000000001010F0417B00120121904103920121904301000000000000000000001010F0538970120121903510820121904103900000000000000000001010F054E9E0120121903313820121903510800000000000000000001010F016ECB0120121903120820121903313800000000000000000001010F0333C00120121902523820121903120700000000000000000001010F029D230120121902330720121902523700000000000000000001010F0354E40120121902133720121902330700000000000000000001010F03303D0120121901540720121902133700000000000000000001010F04981E0120121901343720121901540700000000000000000001010F02AD940120121901150820121901343700000000000000000001010EFFD7CF0120121900553720121901150800000000000000000001010F07D9330120121900360720121900553700000000000000000001010F040E740C7E\n7E1205203804066657506200EC000200020120121900163320121900360700000000000000000001010F0CE4CD0120121900002220121900163300000000000000000001010C6F9E7B5D7E";
@@ -97,7 +122,8 @@
try
{
isOpen = false;
var hexs = HexData.Split("\n",StringSplitOptions.RemoveEmptyEntries);
JT808HeaderPackages = null;
var hexs = HexData.Split("\n", StringSplitOptions.RemoveEmptyEntries);
if (hexs.Length == 1)
{
var data = HexData.ToHexBytes();
@@ -117,18 +143,18 @@
break;
}
}
else if(hexs.Length > 1)
else if (hexs.Length > 1)
{
SortedList<int, JT808HeaderPackage> sort = new SortedList<int, JT808HeaderPackage>();
var total = 0;
for(var i = 0; i < hexs.Length; i++)
for (var i = 0; i < hexs.Length; i++)
{
var data = hexs[i].ToHexBytes();
var headerPackage=Serializer.HeaderDeserialize(data);
var headerPackage = Serializer.HeaderDeserialize(data);
total = headerPackage.Header.PackgeCount;
sort.Add(headerPackage.Header.PackageIndex, headerPackage);
}
if(sort.Count== total)
if (sort.Count == total)
{
List<byte> bodies = new List<byte>();
ushort msgid = 0;
@@ -137,6 +163,7 @@
msgid = item.Value.Header.MsgId;
bodies = bodies.Concat(item.Value.Bodies).ToList();
}
JT808HeaderPackages = sort.Select(s => s.Value).ToList();
switch (protocolType)
{
case "JT808":
@@ -146,7 +173,7 @@
Json = JT1078Serializer.Analyze(msgid, bodies.ToArray(), options: JTJsonWriterOptions.Instance);
break;
case "JT808_JTAS":
Json = JTAS_Serializer.Analyze(msgid,bodies.ToArray(), options: JTJsonWriterOptions.Instance);
Json = JTAS_Serializer.Analyze(msgid, bodies.ToArray(), options: JTJsonWriterOptions.Instance);
break;
case "JT808_JTRM":
Json = JTRM_Serializer.Analyze(msgid, bodies.ToArray(), options: JTJsonWriterOptions.Instance);


+ 1
- 1
src/JTTools/wwwroot/js/map.js Parādīt failu

@@ -32,7 +32,7 @@ function createMarkers(arr) {
imageSize: new AMap.Size(36, 36),
})
});
if ((arr.length - 1) == i) {
if ((arr.length - 1) === i) {
lastMarker = marker;
}
window.map.add(marker);


Notiek ielāde…
Atcelt
Saglabāt