2.修改除808本身的位置附加信息使用JT808_0x0200_BodyBase继承,其余外部依赖统一使用JT808_0x0200_CustomBodyBase来处理,这样可以保留自身808协议的保留约束tags/v2.4.6
@@ -8,7 +8,7 @@ | |||||
<PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl> | <PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl> | ||||
<licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl> | <licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl> | ||||
<license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license> | <license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license> | ||||
<Version>2.4.6-preview1</Version> | |||||
<Version>2.4.6-preview2</Version> | |||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
<AnalysisLevel>latest</AnalysisLevel> | <AnalysisLevel>latest</AnalysisLevel> | ||||
@@ -31,9 +31,9 @@ namespace JT808.Protocol.Extensions.YueBiao.Test | |||||
Speed = 60, | Speed = 60, | ||||
Direction = 0, | Direction = 0, | ||||
StatusFlag = 2, | StatusFlag = 2, | ||||
BasicLocationAttachData = new Dictionary<byte, JT808_0x0200_BodyBase>() | |||||
CustomLocationAttachData = new Dictionary<byte, JT808_0x0200_CustomBodyBase>() | |||||
}; | }; | ||||
jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x64, new JT808_0x0200_0x64 | |||||
jT808UploadLocationRequest.CustomLocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x64, new JT808_0x0200_0x64 | |||||
{ | { | ||||
AlarmId = 1, | AlarmId = 1, | ||||
AlarmIdentification = new Metadata.AlarmIdentificationProperty | AlarmIdentification = new Metadata.AlarmIdentificationProperty | ||||
@@ -67,7 +67,7 @@ namespace JT808.Protocol.Extensions.YueBiao.Test | |||||
public void Deserialize() | public void Deserialize() | ||||
{ | { | ||||
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106447000000010C0605120A0B100F1100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes()); | var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106447000000010C0605120A0B100F1100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes()); | ||||
jT808UploadLocationRequest.BasicLocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x64, out var value); | |||||
jT808UploadLocationRequest.CustomLocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x64, out var value); | |||||
JT808_0x0200_0x64 jT808_0X0200_0X64 = value as JT808_0x0200_0x64; | JT808_0x0200_0x64 jT808_0X0200_0X64 = value as JT808_0x0200_0x64; | ||||
Assert.Equal(1u, jT808_0X0200_0X64.AlarmId); | Assert.Equal(1u, jT808_0X0200_0X64.AlarmId); | ||||
Assert.Equal(2, jT808_0X0200_0X64.AlarmIdentification.AttachCount); | Assert.Equal(2, jT808_0X0200_0X64.AlarmIdentification.AttachCount); | ||||
@@ -31,9 +31,9 @@ namespace JT808.Protocol.Extensions.YueBiao.Test | |||||
Speed = 60, | Speed = 60, | ||||
Direction = 0, | Direction = 0, | ||||
StatusFlag = 2, | StatusFlag = 2, | ||||
BasicLocationAttachData = new Dictionary<byte, JT808_0x0200_BodyBase>() | |||||
CustomLocationAttachData = new Dictionary<byte, JT808_0x0200_CustomBodyBase>() | |||||
}; | }; | ||||
jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x65, new JT808_0x0200_0x65 | |||||
jT808UploadLocationRequest.CustomLocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x65, new JT808_0x0200_0x65 | |||||
{ | { | ||||
AlarmId = 1, | AlarmId = 1, | ||||
AlarmIdentification = new Metadata.AlarmIdentificationProperty | AlarmIdentification = new Metadata.AlarmIdentificationProperty | ||||
@@ -64,7 +64,7 @@ namespace JT808.Protocol.Extensions.YueBiao.Test | |||||
public void Deserialize() | public void Deserialize() | ||||
{ | { | ||||
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106547000000010C060512010203041100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes()); | var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106547000000010C060512010203041100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes()); | ||||
jT808UploadLocationRequest.BasicLocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x65, out var value); | |||||
jT808UploadLocationRequest.CustomLocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x65, out var value); | |||||
JT808_0x0200_0x65 jT808_0X0200_0X65 = value as JT808_0x0200_0x65; | JT808_0x0200_0x65 jT808_0X0200_0X65 = value as JT808_0x0200_0x65; | ||||
Assert.Equal(1u, jT808_0X0200_0X65.AlarmId); | Assert.Equal(1u, jT808_0X0200_0X65.AlarmId); | ||||
Assert.Equal(2, jT808_0X0200_0X65.AlarmIdentification.AttachCount); | Assert.Equal(2, jT808_0X0200_0X65.AlarmIdentification.AttachCount); | ||||
@@ -31,9 +31,9 @@ namespace JT808.Protocol.Extensions.YueBiao.Test | |||||
Speed = 60, | Speed = 60, | ||||
Direction = 0, | Direction = 0, | ||||
StatusFlag = 2, | StatusFlag = 2, | ||||
BasicLocationAttachData = new Dictionary<byte, JT808_0x0200_BodyBase>() | |||||
CustomLocationAttachData =new Dictionary<byte, JT808_0x0200_CustomBodyBase>() | |||||
}; | }; | ||||
jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x66, new JT808_0x0200_0x66 | |||||
jT808UploadLocationRequest.CustomLocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x66, new JT808_0x0200_0x66 | |||||
{ | { | ||||
AlarmId = 1, | AlarmId = 1, | ||||
AlarmIdentification = new Metadata.AlarmIdentificationProperty | AlarmIdentification = new Metadata.AlarmIdentificationProperty | ||||
@@ -78,7 +78,7 @@ namespace JT808.Protocol.Extensions.YueBiao.Test | |||||
public void Deserialize() | public void Deserialize() | ||||
{ | { | ||||
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106655000000010C1100070000000D0000000E1912111831000013343434343434340000000000000000000000000000000000000000000000191210183100030205060200040001000300050002000900060008000A0007".ToHexBytes()); | var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106655000000010C1100070000000D0000000E1912111831000013343434343434340000000000000000000000000000000000000000000000191210183100030205060200040001000300050002000900060008000A0007".ToHexBytes()); | ||||
jT808UploadLocationRequest.BasicLocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x66, out var value); | |||||
jT808UploadLocationRequest.CustomLocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x66, out var value); | |||||
JT808_0x0200_0x66 jT808_0X0200_0X66 = value as JT808_0x0200_0x66; | JT808_0x0200_0x66 jT808_0X0200_0X66 = value as JT808_0x0200_0x66; | ||||
Assert.Equal(1u, jT808_0X0200_0X66.AlarmId); | Assert.Equal(1u, jT808_0X0200_0X66.AlarmId); | ||||
Assert.Equal(2, jT808_0X0200_0X66.AlarmIdentification.AttachCount); | Assert.Equal(2, jT808_0X0200_0X66.AlarmIdentification.AttachCount); | ||||
@@ -31,9 +31,9 @@ namespace JT808.Protocol.Extensions.YueBiao.Test | |||||
Speed = 60, | Speed = 60, | ||||
Direction = 0, | Direction = 0, | ||||
StatusFlag = 2, | StatusFlag = 2, | ||||
BasicLocationAttachData = new Dictionary<byte, JT808_0x0200_BodyBase>() | |||||
CustomLocationAttachData =new Dictionary<byte, JT808_0x0200_CustomBodyBase>() | |||||
}; | }; | ||||
jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x67, new JT808_0x0200_0x67 | |||||
jT808UploadLocationRequest.CustomLocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x67, new JT808_0x0200_0x67 | |||||
{ | { | ||||
AlarmId = 1, | AlarmId = 1, | ||||
AlarmIdentification = new Metadata.AlarmIdentificationProperty | AlarmIdentification = new Metadata.AlarmIdentificationProperty | ||||
@@ -61,7 +61,7 @@ namespace JT808.Protocol.Extensions.YueBiao.Test | |||||
public void Deserialize() | public void Deserialize() | ||||
{ | { | ||||
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106741000000010C091100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes()); | var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106741000000010C091100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes()); | ||||
jT808UploadLocationRequest.BasicLocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x67, out var value); | |||||
jT808UploadLocationRequest.CustomLocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x67, out var value); | |||||
JT808_0x0200_0x67 jT808_0X0200_0X67 = value as JT808_0x0200_0x67; | JT808_0x0200_0x67 jT808_0X0200_0X67 = value as JT808_0x0200_0x67; | ||||
Assert.Equal(1u, jT808_0X0200_0X67.AlarmId); | Assert.Equal(1u, jT808_0X0200_0X67.AlarmId); | ||||
Assert.Equal(2, jT808_0X0200_0X67.AlarmIdentification.AttachCount); | Assert.Equal(2, jT808_0X0200_0X67.AlarmIdentification.AttachCount); | ||||
@@ -13,7 +13,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 高级驾驶辅助系统报警信息 | /// 高级驾驶辅助系统报警信息 | ||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0200_0x64 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x64>, IJT808Analyze,IJT808_2019_Version | |||||
public class JT808_0x0200_0x64 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x64>, IJT808Analyze,IJT808_2019_Version | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 高级驾驶辅助系统报警信息Id | /// 高级驾驶辅助系统报警信息Id | ||||
@@ -13,7 +13,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 驾驶员状态监测系统报警信息 | /// 驾驶员状态监测系统报警信息 | ||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0200_0x65 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x65>, IJT808Analyze, IJT808_2019_Version | |||||
public class JT808_0x0200_0x65 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x65>, IJT808Analyze, IJT808_2019_Version | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 驾驶员状态监测系统报警信息Id | /// 驾驶员状态监测系统报警信息Id | ||||
@@ -13,7 +13,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 胎压监测系统报警信息 | /// 胎压监测系统报警信息 | ||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0200_0x66 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x66>, IJT808Analyze, IJT808_2019_Version | |||||
public class JT808_0x0200_0x66 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x66>, IJT808Analyze, IJT808_2019_Version | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 胎压监测系统报警信息Id | /// 胎压监测系统报警信息Id | ||||
@@ -13,7 +13,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 盲区监测系统报警信息 | /// 盲区监测系统报警信息 | ||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0200_0x67 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x67>, IJT808Analyze, IJT808_2019_Version | |||||
public class JT808_0x0200_0x67 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x67>, IJT808Analyze, IJT808_2019_Version | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 盲区监测系统报警信息Id | /// 盲区监测系统报警信息Id | ||||
@@ -13,7 +13,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 安装异常信息 | /// 安装异常信息 | ||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0200_0xF1 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0xF1>, IJT808Analyze, IJT808_2019_Version | |||||
public class JT808_0x0200_0xF1 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0xF1>, IJT808Analyze, IJT808_2019_Version | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 安装异常信息附件ID | /// 安装异常信息附件ID | ||||
@@ -13,7 +13,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 算法异常信息 | /// 算法异常信息 | ||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0200_0xF2 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0xF2>, IJT808Analyze, IJT808_2019_Version | |||||
public class JT808_0x0200_0xF2 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_0xF2>, IJT808Analyze, IJT808_2019_Version | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 算法异常信息附件ID | /// 算法异常信息附件ID | ||||