@jx3box/jx3box-editor 2.2.48 → 3.0.0

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 (175) hide show
  1. package/config/global.js +79 -0
  2. package/config/global.less +16 -0
  3. package/index.js +21 -8
  4. package/package.json +64 -63
  5. package/readme.md +25 -99
  6. package/src/Article.vue +96 -57
  7. package/src/ArticleMarkdown.vue +54 -47
  8. package/src/BoxResource.vue +67 -42
  9. package/src/Buff.vue +18 -7
  10. package/src/GameText.vue +32 -45
  11. package/src/Item.vue +143 -235
  12. package/src/ItemSimple.vue +27 -37
  13. package/src/Markdown.vue +362 -210
  14. package/src/Npc.vue +51 -30
  15. package/src/Resource.vue +296 -252
  16. package/src/Skill.vue +36 -26
  17. package/src/Tinymce.vue +124 -137
  18. package/src/Upload.vue +238 -155
  19. package/src/UploadAlbum.vue +189 -118
  20. package/{assets → src/assets}/css/article.less +1 -0
  21. package/src/assets/css/markdown.less +4 -0
  22. package/{assets → src/assets}/css/module/author.less +4 -3
  23. package/{assets → src/assets}/css/module/directory.less +23 -32
  24. package/{assets → src/assets}/css/module/talent.less +2 -2
  25. package/{assets → src/assets}/css/resource.less +56 -22
  26. package/src/assets/css/tinymce/_.less +28 -0
  27. package/src/assets/css/tinymce/a.less +21 -0
  28. package/{assets → src/assets}/css/tinymce/code.less +1 -1
  29. package/{assets/css → src/assets/css/tinymce}/combo.less +123 -18
  30. package/{assets → src/assets}/css/tinymce/fold.less +3 -6
  31. package/src/assets/css/tinymce/h.less +90 -0
  32. package/{assets → src/assets}/css/tinymce/latex.less +14 -14
  33. package/{assets → src/assets}/css/tinymce/macro.less +3 -3
  34. package/{assets → src/assets}/css/tinymce/pz.less +2 -2
  35. package/{assets → src/assets}/css/tinymce/table.less +5 -10
  36. package/{assets → src/assets}/css/tinymce.less +8 -4
  37. package/src/assets/css/upload.less +195 -0
  38. package/src/assets/css/upload_album.less +164 -0
  39. package/src/assets/css/var.less +2 -0
  40. package/src/assets/img/other/qr-code.svg +1 -0
  41. package/{assets → src/assets}/js/audio.js +2 -2
  42. package/{assets → src/assets}/js/directory.js +51 -23
  43. package/src/assets/js/hljs_languages.js +177 -0
  44. package/src/assets/js/katex.js +211 -0
  45. package/src/assets/js/renderImgPreview.js +49 -0
  46. package/{assets → src/assets}/js/xss.js +48 -5
  47. package/src/components/Author.vue +32 -13
  48. package/src/components/Avatar.vue +22 -3
  49. package/src/components/Combo.vue +118 -72
  50. package/src/components/PostAuthor.vue +13 -11
  51. package/src/components/QRcode.vue +136 -0
  52. package/src/components/SkillMartial.vue +13 -12
  53. package/src/pages/article.js +14 -0
  54. package/src/pages/index.js +5 -0
  55. package/src/pages/markdown.js +14 -0
  56. package/src/pages/tinymce.js +49 -0
  57. package/src/pages/upload.js +14 -0
  58. package/{service → src/service}/author.js +2 -2
  59. package/{service → src/service}/cms.js +5 -3
  60. package/{service → src/service}/database.js +4 -2
  61. package/{service → src/service}/item.js +1 -1
  62. package/{service → src/service}/node.js +1 -1
  63. package/{service → src/service}/resource.js +1 -1
  64. package/src/views/article.vue +72 -0
  65. package/src/views/index.vue +11 -0
  66. package/src/views/markdown.vue +58 -0
  67. package/src/views/tinymce.vue +58 -0
  68. package/src/views/upload.vue +111 -0
  69. package/.env +0 -2
  70. package/.vscode/settings.json +0 -5
  71. package/assets/css/katex-fix.css +0 -20
  72. package/assets/css/tinymce/_.less +0 -30
  73. package/assets/css/tinymce/a.less +0 -30
  74. package/assets/css/tinymce/combo.less +0 -111
  75. package/assets/css/tinymce/h.less +0 -58
  76. package/assets/css/upload.less +0 -105
  77. package/assets/js/katex.js +0 -191
  78. package/assets/js/renderImgPreview.js +0 -25
  79. package/babel.config.js +0 -3
  80. package/docs/markdown.md +0 -16
  81. package/jsconfig.json +0 -9
  82. package/public/article.html +0 -15
  83. package/public/css/article.css +0 -2481
  84. package/public/css/article.less +0 -3
  85. package/public/favicon.ico +0 -0
  86. package/public/tinymce.html +0 -33
  87. package/src/Equip.vue +0 -301
  88. package/src/components/LetterDemo.vue +0 -93
  89. package/src/components/medal.vue +0 -43
  90. package/test-audio.html +0 -121
  91. package/vue.config.js +0 -147
  92. /package/{assets → src/assets}/css/markdown/_.less +0 -0
  93. /package/{assets → src/assets}/css/markdown/macro.less +0 -0
  94. /package/{assets/css/article_markdown.less → src/assets/css/markdown/markdown-article.less} +0 -0
  95. /package/{assets/css/markdown.less → src/assets/css/markdown/markdown-editor.less} +0 -0
  96. /package/{assets → src/assets}/css/markdown/talent.less +0 -0
  97. /package/{assets → src/assets}/css/markdown/video.less +0 -0
  98. /package/{assets → src/assets}/css/module/buff.less +0 -0
  99. /package/{assets → src/assets}/css/module/icon.less +0 -0
  100. /package/{assets → src/assets}/css/module/item.less +0 -0
  101. /package/{assets → src/assets}/css/module/item_simple.less +0 -0
  102. /package/{assets → src/assets}/css/module/jx3_element.less +0 -0
  103. /package/{assets → src/assets}/css/module/macro.less +0 -0
  104. /package/{assets → src/assets}/css/module/npc.less +0 -0
  105. /package/{assets → src/assets}/css/module/resource.less +0 -0
  106. /package/{assets → src/assets}/css/module/skill.less +0 -0
  107. /package/{assets → src/assets}/css/tinymce/hr.less +0 -0
  108. /package/{assets → src/assets}/css/tinymce/img.less +0 -0
  109. /package/{assets → src/assets}/css/tinymce/imgpreview.less +0 -0
  110. /package/{assets → src/assets}/css/tinymce/list.less +0 -0
  111. /package/{assets → src/assets}/css/tinymce/nextpage.less +0 -0
  112. /package/{assets → src/assets}/css/tinymce/p.less +0 -0
  113. /package/{assets → src/assets}/css/tinymce/plugin.less +0 -0
  114. /package/{assets → src/assets}/css/tinymce/qixue.less +0 -0
  115. /package/{assets → src/assets}/css/tinymce/quote.less +0 -0
  116. /package/{assets → src/assets}/css/tinymce/video.less +0 -0
  117. /package/{assets → src/assets}/css/tinymce/voice.less +0 -0
  118. /package/{assets → src/assets}/data/detach_type.json +0 -0
  119. /package/{assets → src/assets}/data/game_font.json +0 -0
  120. /package/{assets → src/assets}/data/markdown_whitelist.json +0 -0
  121. /package/{assets → src/assets}/data/weapon_type.json +0 -0
  122. /package/{assets → src/assets}/img/buff.svg +0 -0
  123. /package/{assets → src/assets}/img/equip_bg.png +0 -0
  124. /package/{assets → src/assets}/img/file.svg +0 -0
  125. /package/{assets → src/assets}/img/icons.svg +0 -0
  126. /package/{assets → src/assets}/img/item/pve.png +0 -0
  127. /package/{assets → src/assets}/img/item/pvp.png +0 -0
  128. /package/{assets → src/assets}/img/item/pvx.png +0 -0
  129. /package/{assets → src/assets}/img/item/std.png +0 -0
  130. /package/{assets → src/assets}/img/item/wujie.png +0 -0
  131. /package/{assets → src/assets}/img/item.svg +0 -0
  132. /package/{assets → src/assets}/img/jx3.svg +0 -0
  133. /package/{assets → src/assets}/img/jx3box.svg +0 -0
  134. /package/{assets → src/assets}/img/npc/attack.svg +0 -0
  135. /package/{assets → src/assets}/img/npc/buff.svg +0 -0
  136. /package/{assets → src/assets}/img/npc/energy.svg +0 -0
  137. /package/{assets → src/assets}/img/npc/miss.svg +0 -0
  138. /package/{assets → src/assets}/img/npc/npc.svg +0 -0
  139. /package/{assets → src/assets}/img/npc/radar.svg +0 -0
  140. /package/{assets → src/assets}/img/npc/shield.svg +0 -0
  141. /package/{assets → src/assets}/img/npc/sight.svg +0 -0
  142. /package/{assets → src/assets}/img/npc/skull.svg +0 -0
  143. /package/{assets → src/assets}/img/npc/target.svg +0 -0
  144. /package/{assets → src/assets}/img/skill.svg +0 -0
  145. /package/{assets → src/assets}/img/skillset.png +0 -0
  146. /package/{assets → src/assets}/js/a.js +0 -0
  147. /package/{assets → src/assets}/js/code.js +0 -0
  148. /package/{assets → src/assets}/js/combo.js +0 -0
  149. /package/{assets → src/assets}/js/drag.js +0 -0
  150. /package/{assets → src/assets}/js/filter2.js +0 -0
  151. /package/{assets → src/assets}/js/fold.js +0 -0
  152. /package/{assets → src/assets}/js/gallery.js +0 -0
  153. /package/{assets → src/assets}/js/iframe.js +0 -0
  154. /package/{assets → src/assets}/js/img.js +0 -0
  155. /package/{assets → src/assets}/js/item/attribute_percent.js +0 -0
  156. /package/{assets → src/assets}/js/item/bind.js +0 -0
  157. /package/{assets → src/assets}/js/item/border.js +0 -0
  158. /package/{assets → src/assets}/js/item/border_quest.js +0 -0
  159. /package/{assets → src/assets}/js/item/color.js +0 -0
  160. /package/{assets → src/assets}/js/item/hljs_languages.js +0 -0
  161. /package/{assets → src/assets}/js/item/icon_url.js +0 -0
  162. /package/{assets → src/assets}/js/item/second_format.js +0 -0
  163. /package/{assets → src/assets}/js/jx3_element.js +0 -0
  164. /package/{assets → src/assets}/js/macro.js +0 -0
  165. /package/{assets → src/assets}/js/nextpage.js +0 -0
  166. /package/{assets → src/assets}/js/pswp.js +0 -0
  167. /package/{assets → src/assets}/js/pswp_template.js +0 -0
  168. /package/{assets → src/assets}/js/pz_iframe.js +0 -0
  169. /package/{assets → src/assets}/js/qixue.js +0 -0
  170. /package/{assets → src/assets}/js/script.js +0 -0
  171. /package/{assets → src/assets}/js/talent2.js +0 -0
  172. /package/{assets → src/assets}/js/tex-mml-chtml.js +0 -0
  173. /package/{service → src/service}/enum/CollectionPublic.js +0 -0
  174. /package/{service → src/service}/enum/EquipPosition.js +0 -0
  175. /package/{service → src/service}/enum/EquipType.js +0 -0
package/src/Npc.vue CHANGED
@@ -27,43 +27,43 @@
27
27
  </div>
28
28
  <div class="u-primary">
29
29
  <div class="u-life">
30
- <img class="u-descicon u-descicon-life" svg-inline src="../assets/img/npc/energy.svg" />
30
+ <img class="u-descicon u-descicon-life" svg-inline src="./assets/img/npc/energy.svg" />
31
31
  <b>血量</b>
32
32
  <em>MaxLife</em>
33
33
  <strong>{{ data.MaxLife }}</strong>
34
34
  </div>
35
35
  <div class="u-mana">
36
- <img class="u-descicon u-descicon-mana" svg-inline src="../assets/img/npc/energy.svg" />
36
+ <img class="u-descicon u-descicon-mana" svg-inline src="./assets/img/npc/energy.svg" />
37
37
  <b>内力</b>
38
38
  <em>MaxMana</em>
39
39
  <strong>{{ data.MaxMana }}</strong>
40
40
  </div>
41
41
  <div class="u-touch" v-if="data.TouchRange">
42
- <img class="u-descicon u-descicon-touch" svg-inline src="../assets/img/npc/radar.svg" />
42
+ <img class="u-descicon u-descicon-touch" svg-inline src="./assets/img/npc/radar.svg" />
43
43
  <b>范围</b>
44
44
  <em>TouchRange</em>
45
45
  <strong>{{ data.TouchRange }}</strong>
46
46
  </div>
47
47
  <div class="u-sense" v-if="data.Sense">
48
- <img class="u-descicon u-descicon-sense" svg-inline src="../assets/img/npc/sight.svg" />
48
+ <img class="u-descicon u-descicon-sense" svg-inline src="./assets/img/npc/sight.svg" />
49
49
  <b>识破</b>
50
50
  <em>Sense</em>
51
51
  <strong>{{ data.Sense }}</strong>
52
52
  </div>
53
53
  <div class="u-dodge" v-if="data.Dodge">
54
- <img class="u-descicon u-descicon-dodge" svg-inline src="../assets/img/npc/miss.svg" />
54
+ <img class="u-descicon u-descicon-dodge" svg-inline src="./assets/img/npc/miss.svg" />
55
55
  <b>闪避</b>
56
56
  <em>Dodge</em>
57
57
  <strong>{{ data.Dodge }}</strong>
58
58
  </div>
59
59
  <div class="u-dodge" v-if="data.Parry">
60
- <img class="u-descicon u-descicon-dodge" svg-inline src="../assets/img/npc/miss.svg" />
60
+ <img class="u-descicon u-descicon-dodge" svg-inline src="./assets/img/npc/miss.svg" />
61
61
  <b>招架</b>
62
62
  <em>Parry</em>
63
63
  <strong>{{ data.ParryValue }}</strong>
64
64
  </div>
65
65
  <div class="u-shield">
66
- <img class="u-descicon u-descicon-shield" svg-inline src="../assets/img/npc/shield.svg" />
66
+ <img class="u-descicon u-descicon-shield" svg-inline src="./assets/img/npc/shield.svg" />
67
67
  <b>防御</b>
68
68
  <em>Shield</em>
69
69
  <span class="u-sitem">
@@ -93,7 +93,7 @@
93
93
  </span>
94
94
  </div>
95
95
  <div class="u-critical">
96
- <img class="u-descicon u-descicon-attack" svg-inline src="../assets/img/npc/attack.svg" />
96
+ <img class="u-descicon u-descicon-attack" svg-inline src="./assets/img/npc/attack.svg" />
97
97
  <b>会心</b>
98
98
  <em>Critical</em>
99
99
  <span class="u-sitem">
@@ -123,7 +123,7 @@
123
123
  </span>
124
124
  </div>
125
125
  <div class="u-attack">
126
- <img class="u-descicon u-descicon-attack" svg-inline src="../assets/img/npc/target.svg" />
126
+ <img class="u-descicon u-descicon-attack" svg-inline src="./assets/img/npc/target.svg" />
127
127
  <b>命中</b>
128
128
  <em>Attack</em>
129
129
  <span class="u-sitem">
@@ -153,9 +153,7 @@
153
153
  </span>
154
154
  </div>
155
155
  </div>
156
- <div class="u-id">
157
- ID : {{id}}
158
- </div>
156
+ <div class="u-id">ID : {{ id }}</div>
159
157
  </div>
160
158
  </div>
161
159
  </div>
@@ -163,48 +161,71 @@
163
161
  </template>
164
162
 
165
163
  <script>
166
- import { getNpc } from "../service/database.js";
164
+ import { getNpc } from "./service/database.js";
167
165
  import { iconLink } from "@jx3box/jx3box-common/js/utils";
168
166
  export default {
169
167
  name: "Npc",
170
- props: ["client", "id"],
168
+ props: {
169
+ client: {
170
+ type: String,
171
+ default: "std",
172
+ },
173
+ id: {
174
+ type: [String, Number],
175
+ default: "",
176
+ },
177
+ },
171
178
  data: () => ({
172
179
  data: null,
180
+ requestVersion: 0,
173
181
  }),
174
182
  computed: {
175
- params: function() {
183
+ params: function () {
176
184
  return [this.client, this.id];
177
185
  },
178
186
  },
179
187
  watch: {
180
188
  params: {
181
189
  immediate: true,
182
- deep: true,
183
190
  handler(val) {
191
+ this.requestVersion += 1;
192
+ const currentVersion = this.requestVersion;
193
+
184
194
  if (val) {
185
195
  let [client, id] = val;
196
+ if (!id) {
197
+ this.data = null;
198
+ return;
199
+ }
200
+
186
201
  // 读取本地数据
187
202
  const cache = sessionStorage.getItem(`npc-${client}-${id}`);
188
203
  if (cache) {
189
- this.data = JSON.parse(cache);
190
- // 没有缓存则发起请求获取数据
191
- } else {
192
- id &&
193
- getNpc(...this.params).then((res) => {
194
- let data = res.data?.list?.[0];
195
- if (!data) data = null;
196
- this.data = data;
197
-
198
- // 将数据放入 sessionStorage
199
- sessionStorage.setItem(`npc-${client}-${id}`, JSON.stringify(data));
200
- });
204
+ try {
205
+ this.data = JSON.parse(cache);
206
+ return;
207
+ } catch (e) {
208
+ console.log(e, "[Npc]无法解析本地缓存");
209
+ }
201
210
  }
211
+
212
+ // 没有缓存则发起请求获取数据
213
+ getNpc(client, id).then((res) => {
214
+ if (currentVersion !== this.requestVersion) return;
215
+
216
+ let data = res.data?.list?.[0];
217
+ if (!data) data = null;
218
+ this.data = data;
219
+
220
+ // 将数据放入 sessionStorage
221
+ sessionStorage.setItem(`npc-${client}-${id}`, JSON.stringify(data));
222
+ });
202
223
  }
203
224
  },
204
225
  },
205
226
  },
206
227
  methods: {
207
- iconLink: function(id) {
228
+ iconLink: function (id) {
208
229
  return iconLink(id, this.client);
209
230
  },
210
231
  },
@@ -212,5 +233,5 @@ export default {
212
233
  </script>
213
234
 
214
235
  <style lang="less">
215
- @import "../assets/css/module/npc.less";
236
+ @import "./assets/css/module/npc.less";
216
237
  </style>