@10yun/cv-mobile-ui 0.5.8 → 0.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/extend/permission.js +1 -2
  2. package/package.json +1 -1
  3. package/plugins/uni-richText.js +1 -1
  4. package/plugins/uni-socket.js +6 -8
  5. package/ui-cv/cv-editor-parse/components/wxParseAudio.vue +14 -5
  6. package/ui-cv/cv-editor-parse/components/wxParseImg.vue +26 -36
  7. package/ui-cv/cv-editor-parse/components/wxParseTable.vue +7 -7
  8. package/ui-cv/cv-editor-parse/components/wxParseTemplate0.vue +105 -88
  9. package/ui-cv/cv-editor-parse/components/wxParseTemplate1.vue +96 -88
  10. package/ui-cv/cv-editor-parse/components/wxParseTemplate10.vue +95 -88
  11. package/ui-cv/cv-editor-parse/components/wxParseTemplate11.vue +84 -82
  12. package/ui-cv/cv-editor-parse/components/wxParseTemplate2.vue +95 -88
  13. package/ui-cv/cv-editor-parse/components/wxParseTemplate3.vue +95 -88
  14. package/ui-cv/cv-editor-parse/components/wxParseTemplate4.vue +95 -88
  15. package/ui-cv/cv-editor-parse/components/wxParseTemplate5.vue +95 -88
  16. package/ui-cv/cv-editor-parse/components/wxParseTemplate6.vue +95 -88
  17. package/ui-cv/cv-editor-parse/components/wxParseTemplate7.vue +95 -88
  18. package/ui-cv/cv-editor-parse/components/wxParseTemplate8.vue +95 -88
  19. package/ui-cv/cv-editor-parse/components/wxParseTemplate9.vue +95 -88
  20. package/ui-cv/cv-editor-parse/components/wxParseVideo.vue +15 -15
  21. package/ui-cv/cv-editor-parse/cv-editor-parse.vue +1 -3
  22. package/ui-cv/cv-editor-parse/libs/html2json.js +15 -18
  23. package/ui-cv/cv-editor-parse/libs/htmlparser.js +12 -5
  24. package/ui-cv/cv-editor-parse/libs/wxDiscode.js +1 -1
  25. package/ui-cv/cv-editor-parse/readme.md +6 -0
  26. package/ui-cv/cv-editor-parse/u-parse.css +52 -95
  27. package/ui-cv/cv-geo-local/cv-geo-local.vue +0 -1
  28. package/ui-cv/cv-layout-topbar/cv-layout-topbar.vue +238 -0
  29. package/ui-cv/cv-markdown-show/cv-markdown-show.vue +109 -0
  30. package/ui-cv/cv-markdown-show/lib/highlight/atom-one-dark.css +1 -0
  31. package/ui-cv/cv-markdown-show/lib/highlight/atom-one-light.css +1 -0
  32. package/ui-cv/cv-markdown-show/lib/highlight/github-dark.min.css +10 -0
  33. package/ui-cv/cv-markdown-show/lib/highlight/uni-highlight.min.js +9122 -0
  34. package/ui-cv/cv-markdown-show/lib/html-parser.js +352 -0
  35. package/ui-cv/cv-markdown-show/lib/markdown-it.min.js +2 -0
  36. package/ui-cv/cv-markdown-show/markdown.css +340 -0
  37. package/ui-cv/cv-markdown-show/package.json +18 -0
  38. package/ui-cv/cv-markdown-show/readme.md +45 -0
  39. package/ui-cv/cv-nav-col/cv-nav-col.vue +2 -1
  40. package/ui-sdks/sdk-app-update/img/logo.png +0 -0
  41. package/ui-sdks/sdk-app-update/img/update_bg.png +0 -0
  42. package/ui-sdks/sdk-app-update/img/update_bg_top.png +0 -0
  43. package/{ui-cv/cv-update-app/cv-update-app.vue → ui-sdks/sdk-app-update/sdk-app-update.vue} +2 -2
  44. package/ui-sdks/sdk-app-update/xxxx +62 -0
  45. package/ui-sdks/sdk-privacy-policy/sdk-privacy-policy.vue +113 -0
  46. package/ui-sdks/sdk-u-charts/app-echarts.min.js +23 -0
  47. package/ui-sdks/sdk-u-charts/config-echarts.js +420 -0
  48. package/ui-sdks/sdk-u-charts/config-ucharts.js +630 -0
  49. package/ui-sdks/sdk-u-charts/h5-echarts.min.js +23 -0
  50. package/ui-sdks/sdk-u-charts/u-charts.js +7398 -0
  51. package/ui-sdks/sdk-u-charts/u-charts.min.js +1 -0
  52. package/ui-sdks/sdk-webview-main/WebViewMain.vue +1 -0
  53. package/ui-sdks/sdk-webview-main/main.js +0 -0
  54. package/ui-sdks/sdk-webview-main/mixin.js +0 -0
  55. package/ui-uni/uParse/src/components/wxParseAudio.vue +26 -0
  56. package/ui-uni/uParse/src/components/wxParseImg.vue +94 -0
  57. package/ui-uni/uParse/src/components/wxParseTable.vue +55 -0
  58. package/ui-uni/uParse/src/components/wxParseTemplate0.vue +103 -0
  59. package/ui-uni/uParse/src/components/wxParseTemplate1.vue +88 -0
  60. package/ui-uni/uParse/src/components/wxParseTemplate10.vue +88 -0
  61. package/ui-uni/uParse/src/components/wxParseTemplate11.vue +86 -0
  62. package/ui-uni/uParse/src/components/wxParseTemplate2.vue +88 -0
  63. package/ui-uni/uParse/src/components/wxParseTemplate3.vue +88 -0
  64. package/ui-uni/uParse/src/components/wxParseTemplate4.vue +88 -0
  65. package/ui-uni/uParse/src/components/wxParseTemplate5.vue +88 -0
  66. package/ui-uni/uParse/src/components/wxParseTemplate6.vue +88 -0
  67. package/ui-uni/uParse/src/components/wxParseTemplate7.vue +88 -0
  68. package/ui-uni/uParse/src/components/wxParseTemplate8.vue +88 -0
  69. package/ui-uni/uParse/src/components/wxParseTemplate9.vue +88 -0
  70. package/ui-uni/uParse/src/components/wxParseVideo.vue +15 -0
  71. package/ui-uni/uParse/src/editor.css +495 -0
  72. package/ui-uni/uParse/src/libs/html2json.js +261 -0
  73. package/ui-uni/uParse/src/libs/htmlparser.js +156 -0
  74. package/ui-uni/uParse/src/libs/wxDiscode.js +195 -0
  75. package/ui-uni/uParse/src/wxParse.css +270 -0
  76. package/ui-uni/uParse/src/wxParse.vue +206 -0
@@ -1,88 +1,95 @@
1
- <template>
2
- <!--判断是否是标签节点-->
3
- <block v-if="node.node == 'element'">
4
- <!--button类型-->
5
- <button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
6
- <wx-parse-template :node="node" />
7
- </button>
8
-
9
- <!--a类型-->
10
- <view v-else-if="node.tag == 'a'" @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
11
- <block v-for="(node, index) of node.nodes" :key="index">
12
- <wx-parse-template :node="node" />
13
- </block>
14
- </view>
15
-
16
- <!--li类型-->
17
- <view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
18
- <block v-for="(node, index) of node.nodes" :key="index">
19
- <wx-parse-template :node="node" />
20
- </block>
21
- </view>
22
-
23
- <!--table类型-->
24
- <wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
25
-
26
- <!--br类型-->
27
- <!-- #ifndef H5 -->
28
- <text v-else-if="node.tag == 'br'">\n</text>
29
- <!-- #endif -->
30
- <!-- #ifdef H5 -->
31
- <br v-else-if="node.tag == 'br'">
32
- <!-- #endif -->
33
-
34
- <!--video类型-->
35
- <wx-parse-video :node="node" v-else-if="node.tag == 'video'" />
36
-
37
- <!--audio类型-->
38
- <wx-parse-audio :node="node" v-else-if="node.tag == 'audio'" />
39
-
40
- <!--img类型-->
41
- <wx-parse-img :node="node" v-else-if="node.tag == 'img'" />
42
-
43
- <!--其他标签-->
44
- <view v-else :class="node.classStr" :style="node.styleStr">
45
- <block v-for="(node, index) of node.nodes" :key="index">
46
- <wx-parse-template :node="node" />
47
- </block>
48
- </view>
49
- </block>
50
-
51
- <!--判断是否是文本节点-->
52
- <block v-else-if="node.node == 'text'">{{node.text}}</block>
53
- </template>
54
-
55
- <script>
56
- import wxParseTemplate from './wxParseTemplate11';
57
- import wxParseImg from './wxParseImg';
58
- import wxParseVideo from './wxParseVideo';
59
- import wxParseAudio from './wxParseAudio';
60
- import wxParseTable from './wxParseTable';
61
-
62
- export default {
63
- name: 'wxParseTemplate10',
64
- props: {
65
- node: {},
66
- },
67
- components: {
68
- wxParseTemplate,
69
- wxParseImg,
70
- wxParseVideo,
71
- wxParseAudio,
72
- wxParseTable
73
- },
74
- methods: {
75
- wxParseATap(e) {
76
- const {
77
- href
78
- } = e.currentTarget.dataset;
79
- if (!href) return;
80
- let parent = this.$parent;
81
- while (!parent.preview || typeof parent.preview !== 'function') {
82
- parent = parent.$parent;
83
- }
84
- parent.navigate(href, e);
85
- },
86
- },
87
- };
88
- </script>
1
+ <template>
2
+ <view>
3
+ <!--判断是否是标签节点-->
4
+ <block v-if="node.node == 'element'">
5
+ <block v-if="node.tag == 'button'">
6
+ <button type="default" size="mini">
7
+ <block v-for="(node, index) of node.nodes" :key="index">
8
+ <wx-parse-template :node="node" />
9
+ </block>
10
+ </button>
11
+ </block>
12
+
13
+ <!--li类型-->
14
+ <block v-else-if="node.tag == 'li'">
15
+ <view :class="node.classStr" :style="node.styleStr">
16
+ <block v-for="(node, index) of node.nodes" :key="index">
17
+ <wx-parse-template :node="node" />
18
+ </block>
19
+ </view>
20
+ </block>
21
+
22
+ <!--video类型-->
23
+ <block v-else-if="node.tag == 'video'">
24
+ <wx-parse-video :node="node" />
25
+ </block>
26
+
27
+ <!--audio类型-->
28
+ <block v-else-if="node.tag == 'audio'">
29
+ <wx-parse-audio :node="node" />
30
+ </block>
31
+
32
+ <!--img类型-->
33
+ <block v-else-if="node.tag == 'img'">
34
+ <wx-parse-img :node="node" />
35
+ </block>
36
+
37
+ <!--a类型-->
38
+ <block v-else-if="node.tag == 'a'">
39
+ <view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
40
+ <block v-for="(node, index) of node.nodes" :key="index">
41
+ <wx-parse-template :node="node" />
42
+ </block>
43
+ </view>
44
+ </block>
45
+
46
+ <!--br类型-->
47
+ <block v-else-if="node.tag == 'br'">
48
+ <text>\n</text>
49
+ </block>
50
+
51
+ <!--其他标签-->
52
+ <block v-else>
53
+ <view :class="node.classStr" :style="node.styleStr">
54
+ <block v-for="(node, index) of node.nodes" :key="index">
55
+ <wx-parse-template :node="node" />
56
+ </block>
57
+ </view>
58
+ </block>
59
+ </block>
60
+
61
+ <!--判断是否是文本节点-->
62
+ <block v-else-if="node.node == 'text'">{{ node.text }}</block>
63
+ </view>
64
+ </template>
65
+
66
+ <script>
67
+ import wxParseTemplate from './wxParseTemplate11';
68
+ import wxParseImg from './wxParseImg';
69
+ import wxParseVideo from './wxParseVideo';
70
+ import wxParseAudio from './wxParseAudio';
71
+
72
+ export default {
73
+ name: 'wxParseTemplate10',
74
+ props: {
75
+ node: {}
76
+ },
77
+ components: {
78
+ wxParseTemplate,
79
+ wxParseImg,
80
+ wxParseVideo,
81
+ wxParseAudio
82
+ },
83
+ methods: {
84
+ wxParseATap(e) {
85
+ const { href } = e.currentTarget.dataset;
86
+ if (!href) return;
87
+ let parent = this.$parent;
88
+ while (!parent.preview || typeof parent.preview !== 'function') {
89
+ parent = parent.$parent;
90
+ }
91
+ parent.navigate(href, e);
92
+ }
93
+ }
94
+ };
95
+ </script>
@@ -1,82 +1,84 @@
1
- <template>
2
- <!--判断是否是标签节点-->
3
- <block v-if="node.node == 'element'">
4
- <!--button类型-->
5
- <button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
6
- </button>
7
-
8
- <!--a类型-->
9
- <view v-else-if="node.tag == 'a'" @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
10
- <block v-for="(node, index) of node.nodes" :key="index">
11
- </block>
12
- </view>
13
-
14
- <!--li类型-->
15
- <view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
16
- <block v-for="(node, index) of node.nodes" :key="index">
17
- </block>
18
- </view>
19
-
20
- <!--table类型-->
21
- <wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
22
-
23
- <!--br类型-->
24
- <!-- #ifndef H5 -->
25
- <text v-else-if="node.tag == 'br'">\n</text>
26
- <!-- #endif -->
27
- <!-- #ifdef H5 -->
28
- <br v-else-if="node.tag == 'br'">
29
- <!-- #endif -->
30
-
31
- <!--video类型-->
32
- <wx-parse-video :node="node" v-else-if="node.tag == 'video'" />
33
-
34
- <!--audio类型-->
35
- <wx-parse-audio :node="node" v-else-if="node.tag == 'audio'" />
36
-
37
- <!--img类型-->
38
- <wx-parse-img :node="node" v-else-if="node.tag == 'img'" />
39
-
40
- <!--其他标签-->
41
- <view v-else :class="node.classStr" :style="node.styleStr">
42
- <block v-for="(node, index) of node.nodes" :key="index">
43
- </block>
44
- </view>
45
- </block>
46
-
47
- <!--判断是否是文本节点-->
48
- <block v-else-if="node.node == 'text'">{{node.text}}</block>
49
- </template>
50
-
51
- <script>
52
- import wxParseImg from './wxParseImg';
53
- import wxParseVideo from './wxParseVideo';
54
- import wxParseAudio from './wxParseAudio';
55
- import wxParseTable from './wxParseTable';
56
-
57
- export default {
58
- name: 'wxParseTemplate11',
59
- props: {
60
- node: {},
61
- },
62
- components: {
63
- wxParseImg,
64
- wxParseVideo,
65
- wxParseAudio,
66
- wxParseTable
67
- },
68
- methods: {
69
- wxParseATap(e) {
70
- const {
71
- href
72
- } = e.currentTarget.dataset;
73
- if (!href) return;
74
- let parent = this.$parent;
75
- while (!parent.preview || typeof parent.preview !== 'function') {
76
- parent = parent.$parent;
77
- }
78
- parent.navigate(href, e);
79
- },
80
- },
81
- };
82
- </script>
1
+ <template>
2
+ <view>
3
+ <!--判断是否是标签节点-->
4
+ <block v-if="node.node == 'element'">
5
+ <!--button类型-->
6
+ <block v-if="node.tag == 'button'">
7
+ <button type="default" size="mini"></button>
8
+ </block>
9
+
10
+ <!--li类型-->
11
+ <block v-else-if="node.tag == 'li'">
12
+ <view :class="node.classStr" :style="node.styleStr">
13
+ {{ node.text }}
14
+ </view>
15
+ </block>
16
+
17
+ <!--video类型-->
18
+ <block v-else-if="node.tag == 'video'">
19
+ <wx-parse-video :node="node" />
20
+ </block>
21
+
22
+ <!--audio类型-->
23
+ <block v-else-if="node.tag == 'audio'">
24
+ <wx-parse-audio :node="node" />
25
+ </block>
26
+
27
+ <!--img类型-->
28
+ <block v-else-if="node.tag == 'img'">
29
+ <wx-parse-img :node="node" />
30
+ </block>
31
+
32
+ <!--a类型-->
33
+ <block v-else-if="node.tag == 'a'">
34
+ <view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
35
+ {{ node.text }}
36
+ </view>
37
+ </block>
38
+
39
+ <!--br类型-->
40
+ <block v-else-if="node.tag == 'br'">
41
+ <text>\n</text>
42
+ </block>
43
+
44
+ <!--其他标签-->
45
+ <block v-else>
46
+ <view :class="node.classStr" :style="node.styleStr">
47
+ {{ node.text }}
48
+ </view>
49
+ </block>
50
+ </block>
51
+
52
+ <!--判断是否是文本节点-->
53
+ <block v-else-if="node.node == 'text'">{{ node.text }}</block>
54
+ </view>
55
+ </template>
56
+
57
+ <script>
58
+ import wxParseImg from './wxParseImg';
59
+ import wxParseVideo from './wxParseVideo';
60
+ import wxParseAudio from './wxParseAudio';
61
+
62
+ export default {
63
+ name: 'wxParseTemplate11',
64
+ props: {
65
+ node: {}
66
+ },
67
+ components: {
68
+ wxParseImg,
69
+ wxParseVideo,
70
+ wxParseAudio
71
+ },
72
+ methods: {
73
+ wxParseATap(e) {
74
+ const { href } = e.currentTarget.dataset;
75
+ if (!href) return;
76
+ let parent = this.$parent;
77
+ while (!parent.preview || typeof parent.preview !== 'function') {
78
+ parent = parent.$parent;
79
+ }
80
+ parent.navigate(href, e);
81
+ }
82
+ }
83
+ };
84
+ </script>
@@ -1,88 +1,95 @@
1
- <template>
2
- <!--判断是否是标签节点-->
3
- <block v-if="node.node == 'element'">
4
- <!--button类型-->
5
- <button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
6
- <wx-parse-template :node="node" />
7
- </button>
8
-
9
- <!--a类型-->
10
- <view v-else-if="node.tag == 'a'" @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
11
- <block v-for="(node, index) of node.nodes" :key="index">
12
- <wx-parse-template :node="node" />
13
- </block>
14
- </view>
15
-
16
- <!--li类型-->
17
- <view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
18
- <block v-for="(node, index) of node.nodes" :key="index">
19
- <wx-parse-template :node="node" />
20
- </block>
21
- </view>
22
-
23
- <!--table类型-->
24
- <wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
25
-
26
- <!--br类型-->
27
- <!-- #ifndef H5 -->
28
- <text v-else-if="node.tag == 'br'">\n</text>
29
- <!-- #endif -->
30
- <!-- #ifdef H5 -->
31
- <br v-else-if="node.tag == 'br'">
32
- <!-- #endif -->
33
-
34
- <!--video类型-->
35
- <wx-parse-video :node="node" v-else-if="node.tag == 'video'" />
36
-
37
- <!--audio类型-->
38
- <wx-parse-audio :node="node" v-else-if="node.tag == 'audio'" />
39
-
40
- <!--img类型-->
41
- <wx-parse-img :node="node" v-else-if="node.tag == 'img'" />
42
-
43
- <!--其他标签-->
44
- <view v-else :class="node.classStr" :style="node.styleStr">
45
- <block v-for="(node, index) of node.nodes" :key="index">
46
- <wx-parse-template :node="node" />
47
- </block>
48
- </view>
49
- </block>
50
-
51
- <!--判断是否是文本节点-->
52
- <block v-else-if="node.node == 'text'">{{node.text}}</block>
53
- </template>
54
-
55
- <script>
56
- import wxParseTemplate from './wxParseTemplate3';
57
- import wxParseImg from './wxParseImg';
58
- import wxParseVideo from './wxParseVideo';
59
- import wxParseAudio from './wxParseAudio';
60
- import wxParseTable from './wxParseTable';
61
-
62
- export default {
63
- name: 'wxParseTemplate2',
64
- props: {
65
- node: {},
66
- },
67
- components: {
68
- wxParseTemplate,
69
- wxParseImg,
70
- wxParseVideo,
71
- wxParseAudio,
72
- wxParseTable
73
- },
74
- methods: {
75
- wxParseATap(e) {
76
- const {
77
- href
78
- } = e.currentTarget.dataset;
79
- if (!href) return;
80
- let parent = this.$parent;
81
- while (!parent.preview || typeof parent.preview !== 'function') {
82
- parent = parent.$parent;
83
- }
84
- parent.navigate(href, e);
85
- },
86
- },
87
- };
88
- </script>
1
+ <template>
2
+ <view>
3
+ <!--判断是否是标签节点-->
4
+ <block v-if="node.node == 'element'">
5
+ <block v-if="node.tag == 'button'">
6
+ <button type="default" size="mini">
7
+ <block v-for="(node, index) of node.nodes" :key="index">
8
+ <wx-parse-template :node="node" />
9
+ </block>
10
+ </button>
11
+ </block>
12
+
13
+ <!--li类型-->
14
+ <block v-else-if="node.tag == 'li'">
15
+ <view :class="node.classStr" :style="node.styleStr">
16
+ <block v-for="(node, index) of node.nodes" :key="index">
17
+ <wx-parse-template :node="node" />
18
+ </block>
19
+ </view>
20
+ </block>
21
+
22
+ <!--video类型-->
23
+ <block v-else-if="node.tag == 'video'">
24
+ <wx-parse-video :node="node" />
25
+ </block>
26
+
27
+ <!--audio类型-->
28
+ <block v-else-if="node.tag == 'audio'">
29
+ <wx-parse-audio :node="node" />
30
+ </block>
31
+
32
+ <!--img类型-->
33
+ <block v-else-if="node.tag == 'img'">
34
+ <wx-parse-img :node="node" />
35
+ </block>
36
+
37
+ <!--a类型-->
38
+ <block v-else-if="node.tag == 'a'">
39
+ <view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
40
+ <block v-for="(node, index) of node.nodes" :key="index">
41
+ <wx-parse-template :node="node" />
42
+ </block>
43
+ </view>
44
+ </block>
45
+
46
+ <!--br类型-->
47
+ <block v-else-if="node.tag == 'br'">
48
+ <text>\n</text>
49
+ </block>
50
+
51
+ <!--其他标签-->
52
+ <block v-else>
53
+ <view :class="node.classStr" :style="node.styleStr">
54
+ <block v-for="(node, index) of node.nodes" :key="index">
55
+ <wx-parse-template :node="node" />
56
+ </block>
57
+ </view>
58
+ </block>
59
+ </block>
60
+
61
+ <!--判断是否是文本节点-->
62
+ <block v-else-if="node.node == 'text'">{{ node.text }}</block>
63
+ </view>
64
+ </template>
65
+
66
+ <script>
67
+ import wxParseTemplate from './wxParseTemplate3';
68
+ import wxParseImg from './wxParseImg';
69
+ import wxParseVideo from './wxParseVideo';
70
+ import wxParseAudio from './wxParseAudio';
71
+
72
+ export default {
73
+ name: 'wxParseTemplate2',
74
+ props: {
75
+ node: {}
76
+ },
77
+ components: {
78
+ wxParseTemplate,
79
+ wxParseImg,
80
+ wxParseVideo,
81
+ wxParseAudio
82
+ },
83
+ methods: {
84
+ wxParseATap(e) {
85
+ const { href } = e.currentTarget.dataset;
86
+ if (!href) return;
87
+ let parent = this.$parent;
88
+ while (!parent.preview || typeof parent.preview !== 'function') {
89
+ parent = parent.$parent;
90
+ }
91
+ parent.navigate(href, e);
92
+ }
93
+ }
94
+ };
95
+ </script>