From 3c4967c0588d8688f6ed6c16d51a0e9807c29d35 Mon Sep 17 00:00:00 2001 From: "SmallChi(Koike)" <564952747@qq.com> Date: Thu, 19 Sep 2019 23:16:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0809=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/JTTools/Controllers/JTToolsController.cs | 25 ++++++++++++++++++-- src/JTTools/Dtos/JT809RequestDto.cs | 14 +++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 src/JTTools/Dtos/JT809RequestDto.cs diff --git a/src/JTTools/Controllers/JTToolsController.cs b/src/JTTools/Controllers/JTToolsController.cs index 3eb0784..7a87c34 100644 --- a/src/JTTools/Controllers/JTToolsController.cs +++ b/src/JTTools/Controllers/JTToolsController.cs @@ -61,13 +61,24 @@ namespace JTTools.Controllers [Route("Parse809")] [HttpPost] - public ActionResult Parse809([FromBody]JTRequestDto parameter) + public ActionResult Parse809([FromBody]JT809RequestDto parameter) { JTResultDto jTResultDto = new JTResultDto(); try { + if (parameter.IsEncrypt) + { + IJT809Config jt809ConfigInternal = new JT809Config(Guid.NewGuid().ToString()); + jt809ConfigInternal.EncryptOptions = parameter.EncryptOptions; + JT809Serializer jT809SerializerInternal = new JT809Serializer(jt809ConfigInternal); + jTResultDto.Data = jT809SerializerInternal.Deserialize(parameter.HexData.ToHexBytes()); + } + else + { + jTResultDto.Data = jT809Serializer.Deserialize(parameter.HexData.ToHexBytes()); + } jTResultDto.Code = 200; - jTResultDto.Data = jT809Serializer.Deserialize(parameter.HexData.ToHexBytes()); + } catch (JT809Exception ex) { @@ -100,4 +111,14 @@ namespace JTTools.Controllers return jTResultDto; } } + + class JT809Config : JT809.Protocol.Interfaces.GlobalConfigBase + { + public JT809Config(string configId) + { + ConfigId = configId; + } + + public override string ConfigId { get; } + } } diff --git a/src/JTTools/Dtos/JT809RequestDto.cs b/src/JTTools/Dtos/JT809RequestDto.cs new file mode 100644 index 0000000..61ff239 --- /dev/null +++ b/src/JTTools/Dtos/JT809RequestDto.cs @@ -0,0 +1,14 @@ +using JT809.Protocol.Configs; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace JTTools.Dtos +{ + public class JT809RequestDto: JTRequestDto + { + public bool IsEncrypt { get; set; } = false; + public JT809EncryptOptions EncryptOptions { get; set; } + } +}