From 7f6a7821d9140e1516d149276b886e643e8971c6 Mon Sep 17 00:00:00 2001
From: "SmallChi(Koike)" <564952747@qq.com>
Date: Mon, 28 Jun 2021 13:49:34 +0800
Subject: [PATCH] =?UTF-8?q?v2.4.1=201.=E5=A2=9E=E5=8A=A0=E7=B2=A4=E6=A0=87?=
=?UTF-8?q?=E7=9A=84808=E6=89=A9=E5=B1=95=E5=8D=8F=E8=AE=AE=202.=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E8=8B=8F=E6=A0=87=E7=9A=84808=E6=89=A9=E5=B1=95?=
=?UTF-8?q?=E5=8D=8F=E8=AE=AE=203.=E4=BF=AE=E5=A4=8D1078=E7=9A=849206?=
=?UTF-8?q?=E6=8A=A5=E8=AD=A6=E6=A0=87=E5=BF=97=E4=B8=BA8=E4=B8=AA?=
=?UTF-8?q?=E5=AD=97=E8=8A=82=204.=E5=A2=9E=E5=8A=A00x8105=E7=BB=88?=
=?UTF-8?q?=E7=AB=AF=E6=8E=A7=E5=88=B6=E8=87=AA=E5=AE=9A=E4=B9=89=E5=91=BD?=
=?UTF-8?q?=E4=BB=A4=E5=8F=82=E6=95=B0=205.=E8=B0=83=E6=95=B40x0200?=
=?UTF-8?q?=E9=99=84=E5=8A=A0=E5=9F=BA=E7=B1=BB=EF=BC=8C=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E4=B8=80=E4=B8=AA4=E4=B8=AA=E5=AD=97=E8=8A=82=E7=9A=84?=
=?UTF-8?q?=E6=89=A9=E5=B1=95=E9=99=84=E5=8A=A0=E4=BF=A1=E6=81=AF=E9=95=BF?=
=?UTF-8?q?=E5=BA=A6=E5=B1=9E=E6=80=A7=EF=BC=88=E7=B2=A4=E6=A0=87=E8=87=AA?=
=?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=8E=82=E5=95=86=E6=89=A9=E5=B1=95=EF=BC=89?=
=?UTF-8?q?=206.=E5=A2=9E=E5=8A=A02019=E7=89=88=E6=9C=AC=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?0x0200=5F0x07=E9=99=84=E5=8A=A0=E6=95=B0=E6=8D=AE=207.=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A02019=E7=89=88=E6=9C=AC=E6=96=B0=E5=A2=9E0x0702?=
=?UTF-8?q?=E5=AF=B9=E5=BA=94=E7=9A=84=E4=BA=BA=E8=84=B8=E5=8C=B9=E9=85=8D?=
=?UTF-8?q?=E5=BA=A6=E3=80=81UID=E5=B1=9E=E6=80=A7=208.=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8C=96=E5=85=A5=E5=8F=A3=E5=BC=BA=E5=88=B6?=
=?UTF-8?q?=E8=BD=AC=E6=8D=A22013=E7=89=88=E6=9C=AC=E5=8F=B7=209.=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E6=9B=BF=E6=8D=A2=E5=8E=9F=E6=9C=89=E6=B6=88=E6=81=AF?=
=?UTF-8?q?Id=E7=9A=84=E6=96=B9=E6=B3=95=E7=94=A8=E4=BA=8E=E4=B8=B4?=
=?UTF-8?q?=E6=97=B6BUG=E4=BF=AE=E5=A4=8D=E5=8A=9F=E8=83=BD=2010.=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D0x8103=E8=87=AA=E5=AE=9A=E4=B9=89=E5=8D=8F=E8=AE=AE?=
=?UTF-8?q?=E6=9C=AA=E8=83=BD=E6=B3=A8=E5=86=8C=E7=9A=84=E6=83=85=E5=86=B5?=
=?UTF-8?q?=E4=B8=8B=EF=BC=8C=E5=AF=BC=E8=87=B4=E5=8D=8F=E8=AE=AE=E8=A7=A3?=
=?UTF-8?q?=E6=9E=90=E6=8A=A5=E9=94=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Info.props | 2 +-
.../JT808.Protocol.Extensions.JT1078.csproj | 4 ++--
.../JT808.Protocol.Extensions.JT1078.xml | 10 ++++++++++
.../MessageBody/JT808_0x9206.cs | 8 ++++++--
.../JT808.Protocol.Extensions.YueBiao.xml | 12 ++++++++++--
.../MessageBody/JT808_0x8103_0xF365.cs | 2 ++
src/JT808.Protocol.Test/Simples/Demo14.cs | 8 ++++----
src/JT808.Protocol/Interfaces/GlobalConfigBase.cs | 15 ++++++++++++++-
src/JT808.Protocol/Interfaces/IJT808Config.cs | 7 +++++++
src/JT808.Protocol/JT808.Protocol.xml | 12 ++++++++++++
10 files changed, 68 insertions(+), 12 deletions(-)
diff --git a/src/Info.props b/src/Info.props
index 0cc82ab..cdbe017 100644
--- a/src/Info.props
+++ b/src/Info.props
@@ -8,7 +8,7 @@
https://github.com/SmallChi/JT808
https://github.com/SmallChi/JT808/blob/master/LICENSE
https://github.com/SmallChi/JT808/blob/master/LICENSE
- 2.4.1-preview1
+ 2.4.1
LICENSE
true
latest
diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.csproj b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.csproj
index e75e3f3..222e512 100644
--- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.csproj
+++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.csproj
@@ -3,8 +3,8 @@
JT808.Protocol.Extensions.JT1078
JT808.Protocol.Extensions.JT1078
- 基于JT808协议、GB808协议扩展的视频消息协议
- 基于JT808协议、GB808协议扩展的视频消息协议
+ 基于JT808协议、GB808协议扩展的JT1078视频消息协议
+ 基于JT808协议、GB808协议扩展的JT1078视频消息协议
JT808.Protocol.Extensions.JT1078.xml
diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml
index bf071bf..a001b22 100644
--- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml
+++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml
@@ -1831,6 +1831,16 @@
文件上传指令
+
+
+ 文件上传指令
+
+
+
+
+ 0x9206
+
+
服务器IP地址服务
diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs
index 3d8f05a..583cba9 100644
--- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs
+++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs
@@ -13,10 +13,14 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody
///
public class JT808_0x9206 : JT808Bodies, IJT808MessagePackFormatter, IJT808Analyze
{
-#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
+ ///
+ /// 文件上传指令
+ ///
public override string Description => "文件上传指令";
+ ///
+ /// 0x9206
+ ///
public override ushort MsgId => 0x9206;
-#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
///
/// 服务器IP地址服务
///
diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml
index bc5393b..7fa816f 100644
--- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml
+++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml
@@ -1743,7 +1743,11 @@
红外墨镜阻断失效报警拍照间隔
-
+
+
+ 双脱把报警分级车速阈值
+
+
双脱把报警前后视频录制时间
@@ -1759,7 +1763,11 @@
双脱把报警拍照间隔
-
+
+
+ 玩手机报警分级车速阈值
+
+
玩手机报警前后视频录制时间
diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs
index 850d138..02d912a 100644
--- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs
+++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs
@@ -199,6 +199,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
///红外墨镜阻断失效报警拍照间隔
///
public byte PictureIntervalInfraredSunglassesBlockingFailure { get; set; }
+ ///
/// 双脱把报警分级车速阈值
///
public byte ClassifiedSpeedThresholdDoubleHanderOff { get; set; }
@@ -214,6 +215,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
///双脱把报警拍照间隔
///
public byte PictureIntervalDoubleHanderOff { get; set; }
+ ///
///玩手机报警分级车速阈值
///
public byte ClassifiedSpeedThresholdPlayMobile { get; set; }
diff --git a/src/JT808.Protocol.Test/Simples/Demo14.cs b/src/JT808.Protocol.Test/Simples/Demo14.cs
index 85a6670..1a9786e 100644
--- a/src/JT808.Protocol.Test/Simples/Demo14.cs
+++ b/src/JT808.Protocol.Test/Simples/Demo14.cs
@@ -27,17 +27,17 @@ namespace JT808.Protocol.Test.Simples
public Demo14()
{
IServiceCollection serviceDescriptors = new ServiceCollection();
- serviceDescriptors.AddJT808Configure();
+ serviceDescriptors.AddJT808Configure(new DefaultGlobalConfig("replace"));
//通常在startup中使用app的Use进行扩展
IServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider();
Use(serviceProvider);
}
- public void Use(IServiceProvider serviceProvider)
+ void Use(IServiceProvider serviceProvider)
{
- IJT808Config jT808Config = serviceProvider.GetRequiredService();
+ IJT808Config jT808Config = serviceProvider.GetRequiredService();
//替换原有消息存在的BUG
- jT808Config.MsgIdFactory.Map[0x0001]=new JT808_0x0001_Replace();
+ jT808Config.ReplaceMsgId();
JT808Serializer = jT808Config.GetSerializer();
}
diff --git a/src/JT808.Protocol/Interfaces/GlobalConfigBase.cs b/src/JT808.Protocol/Interfaces/GlobalConfigBase.cs
index df96131..2f04e4c 100644
--- a/src/JT808.Protocol/Interfaces/GlobalConfigBase.cs
+++ b/src/JT808.Protocol/Interfaces/GlobalConfigBase.cs
@@ -126,7 +126,6 @@ namespace JT808.Protocol.Interfaces
/// 终端控制自定义参数命令工厂
///
public virtual IJT808_0x8105_Cusotm_Factory JT808_0x8105_Cusotm_Factory { get; set; }
-
///
/// 外部扩展程序集注册
///
@@ -154,5 +153,19 @@ namespace JT808.Protocol.Interfaces
}
return this;
}
+ ///
+ /// 替换原有消息
+ ///
+ ///
+ ///
+ public void ReplaceMsgId()
+ where TSourceJT808Bodies : JT808Bodies
+ where TTargetJT808Bodies : JT808Bodies, new()
+ {
+ TTargetJT808Bodies bodies = new TTargetJT808Bodies();
+ MsgIdFactory.Map[bodies.MsgId] = bodies;
+ FormatterFactory.FormatterDict.Remove(typeof(TSourceJT808Bodies).GUID);
+ FormatterFactory.FormatterDict.Add(typeof(TTargetJT808Bodies).GUID, bodies);
+ }
}
}
diff --git a/src/JT808.Protocol/Interfaces/IJT808Config.cs b/src/JT808.Protocol/Interfaces/IJT808Config.cs
index b6ee7f5..858151c 100644
--- a/src/JT808.Protocol/Interfaces/IJT808Config.cs
+++ b/src/JT808.Protocol/Interfaces/IJT808Config.cs
@@ -111,5 +111,12 @@ namespace JT808.Protocol
///
///
IJT808Config Register(params Assembly[] externalAssemblies);
+ ///
+ /// 替换原有消息
+ ///
+ void ReplaceMsgId()
+ where TSourceJT808Bodies : JT808Bodies
+ where TTargetJT808Bodies : JT808Bodies,new();
+
}
}
diff --git a/src/JT808.Protocol/JT808.Protocol.xml b/src/JT808.Protocol/JT808.Protocol.xml
index 56f5164..ba6685a 100644
--- a/src/JT808.Protocol/JT808.Protocol.xml
+++ b/src/JT808.Protocol/JT808.Protocol.xml
@@ -4032,6 +4032,13 @@
+
+
+ 替换原有消息
+
+
+
+
JT808分析器
@@ -4500,6 +4507,11 @@
+
+
+ 替换原有消息
+
+
默认JT808构造器