Commit 2d5470bcf3bc85c703f5fd6e7c56ac480cd53265

Authored by gexinzhineng/gxzn27
1 parent ff147137

xml转json

yudao-ui-admin-vue3/package.json
@@ -43,7 +43,7 @@ @@ -43,7 +43,7 @@
43 "echarts-wordcloud": "^2.1.0", 43 "echarts-wordcloud": "^2.1.0",
44 "element-plus": "2.2.28", 44 "element-plus": "2.2.28",
45 "fast-xml-parser": "^4.0.13", 45 "fast-xml-parser": "^4.0.13",
46 - "highlight.js": "^9.18.5", 46 + "highlight.js": "^11.7.0",
47 "intro.js": "^6.0.0", 47 "intro.js": "^6.0.0",
48 "jsencrypt": "^3.3.1", 48 "jsencrypt": "^3.3.1",
49 "lodash-es": "^4.17.21", 49 "lodash-es": "^4.17.21",
@@ -53,6 +53,7 @@ @@ -53,6 +53,7 @@
53 "pinia": "^2.0.29", 53 "pinia": "^2.0.29",
54 "qrcode": "^1.5.1", 54 "qrcode": "^1.5.1",
55 "qs": "^6.11.0", 55 "qs": "^6.11.0",
  56 + "steady-xml": "^0.1.0",
56 "url": "^0.11.0", 57 "url": "^0.11.0",
57 "vue": "3.2.45", 58 "vue": "3.2.45",
58 "vue-i18n": "9.2.2", 59 "vue-i18n": "9.2.2",
yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue
@@ -188,22 +188,14 @@ @@ -188,22 +188,14 @@
188 <!-- <div id="js-properties-panel" class="panel"></div> --> 188 <!-- <div id="js-properties-panel" class="panel"></div> -->
189 <!-- <div class="my-process-designer__canvas" ref="bpmn-canvas"></div> --> 189 <!-- <div class="my-process-designer__canvas" ref="bpmn-canvas"></div> -->
190 </div> 190 </div>
191 - <XModal  
192 - title="预览"  
193 - width="80%"  
194 - height="90%"  
195 - v-model="previewModelVisible"  
196 - append-to-body  
197 - destroy-on-close  
198 - >  
199 - <div v-highlight>  
200 - <pre>  
201 - <code> 191 + <XModal title="预览" width="80%" height="90%" v-model="previewModelVisible" destroy-on-close>
  192 + <!-- append-to-body -->
  193 + <pre v-highlight>
  194 + <code class="hljs">
202 <!-- 高亮代码块 --> 195 <!-- 高亮代码块 -->
203 {{ previewResult }} 196 {{ previewResult }}
204 </code> 197 </code>
205 </pre> 198 </pre>
206 - </div>  
207 <!-- <pre> 199 <!-- <pre>
208 <code class="hljs" v-html="highlightedCode(previewType, previewResult)"></code> 200 <code class="hljs" v-html="highlightedCode(previewType, previewResult)"></code>
209 </pre> --> 201 </pre> -->
@@ -241,7 +233,7 @@ import flowableModdleExtension from &#39;./plugins/extension-moddle/flowable&#39; @@ -241,7 +233,7 @@ import flowableModdleExtension from &#39;./plugins/extension-moddle/flowable&#39;
241 // 引入json转换与高亮 233 // 引入json转换与高亮
242 // import xml2js from 'xml-js' 234 // import xml2js from 'xml-js'
243 import xml2js from 'fast-xml-parser' 235 import xml2js from 'fast-xml-parser'
244 -// import { XmlNode, XmlNodeType, parseXmlString } from 'steady-xml' 236 +import { XmlNode, XmlNodeType, parseXmlString } from 'steady-xml'
245 // 代码高亮插件 237 // 代码高亮插件
246 // import hljs from 'highlight.js/lib/highlight' 238 // import hljs from 'highlight.js/lib/highlight'
247 // import 'highlight.js/styles/github-gist.css' 239 // import 'highlight.js/styles/github-gist.css'
@@ -638,18 +630,21 @@ const previewProcessJson = () =&gt; { @@ -638,18 +630,21 @@ const previewProcessJson = () =&gt; {
638 630
639 // const rootNode = parseXmlString(xml) 631 // const rootNode = parseXmlString(xml)
640 // console.log(rootNode, 'rootNoderootNode') 632 // console.log(rootNode, 'rootNoderootNode')
641 - // const rootNodes = new XmlNode(XmlNodeType.Root)  
642 - // rootNodes.toJsObject()  
643 - // console.log(JSON.stringify(rootNodes), ';;;;;;;;;;;;;;;') 633 + const rootNodes = new XmlNode(XmlNodeType.Root, parseXmlString(xml))
  634 + // console.log(rootNodes, 'rootNodesrootNodesrootNodes')
  635 + // console.log(rootNodes.parent.toJsObject(), 'rootNodes.toJSON()')
  636 + // console.log(JSON.stringify(rootNodes.parent.toJsObject()), 'rootNodes.toJSON()')
  637 + // console.log(JSON.stringify(rootNodes.parent.toJSON()), 'rootNodes.toJSON()')
644 638
645 const parser = new xml2js.XMLParser() 639 const parser = new xml2js.XMLParser()
646 let jObj = parser.parse(xml) 640 let jObj = parser.parse(xml)
647 - // console.log(jObj, 'jObjjObjjObjjObjjObj') 641 + console.log(jObj, 'jObjjObjjObjjObjjObj')
648 // const builder = new xml2js.XMLBuilder(xml) 642 // const builder = new xml2js.XMLBuilder(xml)
649 // const xmlContent = builder 643 // const xmlContent = builder
650 // console.log(xmlContent, 'xmlContent') 644 // console.log(xmlContent, 'xmlContent')
651 // console.log(xml2js, 'convertconvertconvert') 645 // console.log(xml2js, 'convertconvertconvert')
652 - previewResult.value = jObj 646 + previewResult.value = rootNodes.parent.toJSON()
  647 + // previewResult.value = jObj
653 // previewResult.value = convert.xml2json(xml, {explicitArray : false},{ spaces: 2 }) 648 // previewResult.value = convert.xml2json(xml, {explicitArray : false},{ spaces: 2 })
654 previewType.value = 'json' 649 previewType.value = 'json'
655 previewModelVisible.value = true 650 previewModelVisible.value = true
yudao-ui-admin-vue3/src/main.ts
@@ -50,7 +50,7 @@ import &#39;bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css&#39; @@ -50,7 +50,7 @@ import &#39;bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css&#39;
50 import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css' 50 import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css'
51 51
52 import hljs from 'highlight.js' //导入代码高亮文件 52 import hljs from 'highlight.js' //导入代码高亮文件
53 -import 'highlight.js/styles/github-gist.css' //导入代码高亮样式 53 +import 'highlight.js/styles/github.css' //导入代码高亮样式 新版
54 54
55 // 本地开发模式 全局引入 element-plus 样式,加快第一次进入速度 55 // 本地开发模式 全局引入 element-plus 样式,加快第一次进入速度
56 if (isDevMode()) { 56 if (isDevMode()) {
@@ -66,7 +66,7 @@ const setupAll = async () =&gt; { @@ -66,7 +66,7 @@ const setupAll = async () =&gt; {
66 app.directive('highlight', function (el) { 66 app.directive('highlight', function (el) {
67 const blocks = el.querySelectorAll('code') 67 const blocks = el.querySelectorAll('code')
68 blocks.forEach((block: any) => { 68 blocks.forEach((block: any) => {
69 - hljs.highlightBlock(block) 69 + hljs.highlightElement(block)
70 }) 70 })
71 }) 71 })
72 72