diff --git a/README.md b/README.md index eeb32c5..93bfef5 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ JT808、JT809、JT1078、JTNE解析工具 -[在线解析工具](http://jttools.smallchi.cn) +在线解析工具 使用nodejs的PM2托管应用程序 diff --git a/src/JTTools/Controllers/JTToolsController.cs b/src/JTTools/Controllers/JTToolsController.cs index aa3931a..b2c807e 100644 --- a/src/JTTools/Controllers/JTToolsController.cs +++ b/src/JTTools/Controllers/JTToolsController.cs @@ -14,6 +14,7 @@ using JT808.Protocol.Interfaces; using JT808.Protocol.Extensions; using JT808.Protocol.Exceptions; using Microsoft.AspNetCore.Cors; +using Newtonsoft.Json; namespace JTTools.Controllers { @@ -26,6 +27,12 @@ namespace JTTools.Controllers private readonly IJT808Config jT808Config; private readonly JT808Serializer jT808Serializer; private readonly JT809Serializer jT809Serializer; + private static Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings(); + static JTToolsController() + { + setting.Formatting = Formatting.Indented; + setting.Converters.Add(new ByteArrayHexConverter()); + } public JTToolsController( IJT809Config jT809Config, IJT808Config jT808Config) @@ -44,7 +51,7 @@ namespace JTTools.Controllers try { jTResultDto.Code = 200; - jTResultDto.Data = jT808Serializer.Deserialize(parameter.HexData.ToHexBytes()); + jTResultDto.Data =JsonConvert.SerializeObject(jT808Serializer.Deserialize(parameter.HexData.ToHexBytes()), setting); } catch(JT808Exception ex) { @@ -67,7 +74,7 @@ namespace JTTools.Controllers try { jTResultDto.Code = 200; - jTResultDto.Data = jT809Serializer.Deserialize(parameter.HexData.ToHexBytes()); + jTResultDto.Data = JsonConvert.SerializeObject(jT809Serializer.Deserialize(parameter.HexData.ToHexBytes()), setting); } catch (JT809Exception ex) { @@ -90,7 +97,7 @@ namespace JTTools.Controllers try { jTResultDto.Code = 200; - jTResultDto.Data = JT1078Serializer.Deserialize(parameter.HexData.ToHexBytes()); + jTResultDto.Data = JsonConvert.SerializeObject(JT1078Serializer.Deserialize(parameter.HexData.ToHexBytes()), setting); } catch (Exception ex) { diff --git a/src/JTTools/Dtos/JTResultDto.cs b/src/JTTools/Dtos/JTResultDto.cs index c3308a4..d8979a3 100644 --- a/src/JTTools/Dtos/JTResultDto.cs +++ b/src/JTTools/Dtos/JTResultDto.cs @@ -9,6 +9,6 @@ namespace JTTools.Dtos { public int Code { get; set; } public string Message { get; set; } - public object Data { get; set; } + public string Data { get; set; } } } diff --git a/src/JTTools/Program.cs b/src/JTTools/Program.cs index f98f348..de49a40 100644 --- a/src/JTTools/Program.cs +++ b/src/JTTools/Program.cs @@ -48,6 +48,7 @@ namespace JTTools { jsonOptions.SerializerSettings.Converters.Add(new ByteArrayHexConverter()); jsonOptions.SerializerSettings.ContractResolver = new DefaultContractResolver(); + //jsonOptions.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; }) .SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddCors(options => diff --git a/src/ui/index.html b/src/ui/index.html index b887ae0..18d2710 100644 --- a/src/ui/index.html +++ b/src/ui/index.html @@ -1,8 +1,10 @@  - JTTools解析工具 + + + @@ -15,81 +17,87 @@ .pane-content{ width: 100%; display: flex; - display: -webkit-flex; - align-items:center; - justify-content:center; - height: calc(100vh - 60px); - padding: 10px 20px; + display: -webkit-flex; + align-items:center; + justify-content:center; + height: calc(100vh - 60px); + padding: 10px 20px; } .left,.right{ width: 45%; - height: 100%; - display: inline-block; + height: 100%; + display: inline-block; } .center{ width: 10%; display: flex; - display: -webkit-flex; - align-items: center; - justify-content: center; + display: -webkit-flex; + align-items: center; + justify-content: center; } textarea.ivu-input { - max-height: 100%; - min-height: 32px; - height: 100%; -} -.ivu-input-wrapper{ - height: 100%; -} -@media (max-width:1024px){ - .left,.right{ - width: 40%; - } - .center{ - width: 20%; + max-height: 100%; + min-height: 32px; + height: 100%; } -} + .ivu-input-wrapper{ + height: 100%; + } + @media (max-width:1024px){ + .left,.right{ + width: 40%; + } + .center{ + width: 20%; + } + }
-
-
- +
+
+
-
- Primary +
+ + +
-
- +
+
- +
- Primary2 + + +
- +
- +
- Primary3 + + +
- +
@@ -99,65 +107,73 @@ new Vue({ el: '#app', data: { - loading: false, - + parse808Parameter:{ + HexData:"", + }, + parse809Parameter:{ + HexData:"", + }, + parse1078Parameter:{ + HexData:"", + }, + parse808Result:"", + parse809Result:"", + parse1078Result:"", }, mounted:function(){ }, methods: { - Api:{ - parse808:function(){ - this.loading=true; - axios.post('http://jttools.smallchi.cn/api/JTTools/Parse808',this.queryParameter) + parse808Click:function(){ + if(!this.parse808Parameter) return; + this.$Loading.start(); + axios.post('http://jttools.smallchi.cn/api/JTTools/Parse808',this.parse808Parameter) .then((response)=>{ - if(response.data=="" || response.data==null){ - this.queryData=[]; - this.loading=false; - return; + if(response.data.Code===200){ + this.parse808Result=response.data.Data; + }else{ + this.parse808Result=response.data.Message; } - this.queryData=response.data; - this.loading=false; + this.$Loading.finish(); }) .catch((error)=>{ - this.queryError=error; - this.loading=false; + this.parse808Result=JSON.stringify(error); + this.$Loading.error(); }); - }, - parse809:function(){ - this.loading=true; - axios.post('http://jttools.smallchi.cn/api/JTTools/Parse809',this.queryParameter) + }, + parse809Click:function(){ + if(!this.parse809Parameter) return; + this.$Loading.start(); + axios.post('http://jttools.smallchi.cn/api/JTTools/Parse809',this.parse809Parameter) .then((response)=>{ - if(response.data=="" || response.data==null){ - this.queryData=[]; - this.loading=false; - return; + if(response.data.Code===200){ + this.parse809Result=response.data.Data; + }else{ + this.parse809Result=response.data.Message; } - this.queryData=response.data; - this.loading=false; + this.$Loading.finish(); }) .catch((error)=>{ - this.queryError=error; - this.loading=false; + this.parse809Result=JSON.stringify(error); + this.$Loading.error(); }); - }, - parse1078:function(){ - this.loading=true; - axios.post('http://jttools.smallchi.cn/api/JTTools/Parse1078',this.queryParameter) + }, + parse1078Click:function(){ + if(!this.parse1078Parameter) return; + this.$Loading.start(); + axios.post('http://jttools.smallchi.cn/api/JTTools/Parse1078',this.parse1078Parameter) .then((response)=>{ - if(response.data=="" || response.data==null){ - this.queryData=[]; - this.loading=false; - return; + if(response.data.Code===200){ + this.parse1078Result=response.data.Data; + }else{ + this.parse1078Result=response.data.Message; } - this.queryData=response.data; - this.loading=false; + this.$Loading.finish(); }) .catch((error)=>{ - this.queryError=error; - this.loading=false; + this.parse1078Result=JSON.stringify(error); + this.$Loading.error(); }); - } } } })