@jx3box/jx3box-vue3-ui 0.2.9 → 0.3.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 (114) hide show
  1. package/.eslintrc +2 -1
  2. package/assets/css/article.less +23 -0
  3. package/assets/css/combo.less +311 -0
  4. package/assets/css/module/author.less +190 -0
  5. package/assets/css/module/buff.less +78 -0
  6. package/assets/css/module/directory.less +130 -0
  7. package/assets/css/module/icon.less +21 -0
  8. package/assets/css/module/item.less +229 -0
  9. package/assets/css/module/item_simple.less +51 -0
  10. package/assets/css/module/jx3_element.less +4 -0
  11. package/assets/css/module/macro.less +72 -0
  12. package/assets/css/module/npc.less +220 -0
  13. package/assets/css/module/resource.less +80 -0
  14. package/assets/css/module/skill.less +65 -0
  15. package/assets/css/module/talent.less +424 -0
  16. package/assets/css/resource.less +331 -0
  17. package/assets/css/tinymce/_.less +28 -0
  18. package/assets/css/tinymce/a.less +29 -0
  19. package/assets/css/tinymce/code.less +159 -0
  20. package/assets/css/tinymce/fold.less +70 -0
  21. package/assets/css/tinymce/h.less +58 -0
  22. package/assets/css/tinymce/hr.less +9 -0
  23. package/assets/css/tinymce/img.less +16 -0
  24. package/assets/css/tinymce/imgpreview.less +21 -0
  25. package/assets/css/tinymce/latex.less +47 -0
  26. package/assets/css/tinymce/list.less +64 -0
  27. package/assets/css/tinymce/nextpage.less +66 -0
  28. package/assets/css/tinymce/p.less +8 -0
  29. package/assets/css/tinymce/plugin.less +3 -0
  30. package/assets/css/tinymce/quote.less +12 -0
  31. package/assets/css/tinymce/table.less +60 -0
  32. package/assets/css/tinymce/video.less +35 -0
  33. package/assets/css/tinymce.less +80 -0
  34. package/assets/css/upload.less +111 -0
  35. package/assets/css/var.less +6 -0
  36. package/assets/data/cms.js +31 -0
  37. package/assets/data/detach_type.json +29 -0
  38. package/assets/data/weapon_type.json +20 -0
  39. package/assets/img/buff.svg +1 -0
  40. package/assets/img/equip_bg.png +0 -0
  41. package/assets/img/file.svg +51 -0
  42. package/assets/img/icons.svg +15 -0
  43. package/assets/img/item.svg +46 -0
  44. package/assets/img/jx3box.svg +5 -0
  45. package/assets/img/npc/attack.svg +69 -0
  46. package/assets/img/npc/buff.svg +20 -0
  47. package/assets/img/npc/energy.svg +1 -0
  48. package/assets/img/npc/miss.svg +1 -0
  49. package/assets/img/npc/npc.svg +1 -0
  50. package/assets/img/npc/radar.svg +45 -0
  51. package/assets/img/npc/shield.svg +1 -0
  52. package/assets/img/npc/sight.svg +1 -0
  53. package/assets/img/npc/skull.svg +15 -0
  54. package/assets/img/npc/target.svg +55 -0
  55. package/assets/img/skill.svg +53 -0
  56. package/assets/js/a.js +43 -0
  57. package/assets/js/code.js +13 -0
  58. package/assets/js/combo.js +40 -0
  59. package/assets/js/directory.js +114 -0
  60. package/assets/js/filter2.js +186 -0
  61. package/assets/js/fold.js +11 -0
  62. package/assets/js/gallery.js +14 -0
  63. package/assets/js/hljs_languages.js +177 -0
  64. package/assets/js/iframe.js +38 -0
  65. package/assets/js/img.js +22 -0
  66. package/assets/js/item/attribute_percent.js +88 -0
  67. package/assets/js/item/bind.js +18 -0
  68. package/assets/js/item/border.js +19 -0
  69. package/assets/js/item/border_quest.js +11 -0
  70. package/assets/js/item/color.js +25 -0
  71. package/assets/js/item/hljs_languages.js +177 -0
  72. package/assets/js/item/icon_url.js +14 -0
  73. package/assets/js/item/second_format.js +19 -0
  74. package/assets/js/jx3_element.js +65 -0
  75. package/assets/js/katex.js +17 -0
  76. package/assets/js/macro.js +16 -0
  77. package/assets/js/nextpage.js +4 -0
  78. package/assets/js/pswp.js +67 -0
  79. package/assets/js/pswp_template.js +66 -0
  80. package/assets/js/pz_iframe.js +30 -0
  81. package/assets/js/qixue.js +28 -0
  82. package/assets/js/renderImgPreview.js +18 -0
  83. package/assets/js/script.js +6 -0
  84. package/assets/js/talent2.js +21 -0
  85. package/assets/js/tex-mml-chtml.js +36310 -0
  86. package/package.json +11 -1
  87. package/public/article.html +15 -0
  88. package/public/tinymce.html +44 -0
  89. package/service/cms.js +19 -1
  90. package/service/database.js +113 -0
  91. package/service/enum/CollectionPublic.js +13 -0
  92. package/service/enum/EquipPosition.js +48 -0
  93. package/service/enum/EquipType.js +33 -0
  94. package/service/item.js +22 -0
  95. package/service/resource.js +31 -0
  96. package/src/comment/Upload.vue +4 -0
  97. package/src/editor/Article.vue +207 -0
  98. package/src/editor/BoxResource.vue +441 -0
  99. package/src/editor/Resource.vue +620 -0
  100. package/src/editor/Tinymce.vue +198 -0
  101. package/src/editor/Upload.vue +268 -0
  102. package/src/editor/components/Author.vue +321 -0
  103. package/src/editor/components/Avatar.vue +94 -0
  104. package/src/editor/components/Buff.vue +79 -0
  105. package/src/editor/components/Combo.vue +258 -0
  106. package/src/editor/components/Equip.vue +301 -0
  107. package/src/editor/components/GameText.vue +262 -0
  108. package/src/editor/components/Item.vue +366 -0
  109. package/src/editor/components/ItemSimple.vue +119 -0
  110. package/src/editor/components/Medal.vue +43 -0
  111. package/src/editor/components/Npc.vue +214 -0
  112. package/src/editor/components/PostAuthor.vue +101 -0
  113. package/src/editor/components/Skill.vue +70 -0
  114. package/vue.config.js +26 -0
package/.eslintrc CHANGED
@@ -5,5 +5,6 @@
5
5
  },
6
6
  "parser": "vue-eslint-parser",
7
7
  "extends": ["plugin:vue/vue3-essential", "eslint:recommended"],
8
- "rules": {}
8
+ "rules": {},
9
+ "globals": { "defineOptions": "writable", "tinyMCE": true }
9
10
  }
@@ -0,0 +1,23 @@
1
+ // tinymce文章样式
2
+
3
+ @import "./var.less";
4
+
5
+ @import "tinymce/_.less";
6
+ @import "tinymce/a.less";
7
+ @import "tinymce/list.less";
8
+ @import "tinymce/quote.less";
9
+ @import "tinymce/hr.less";
10
+ @import "tinymce/table.less";
11
+ @import "tinymce/img.less";
12
+ @import "tinymce/p.less";
13
+ @import "tinymce/h.less";
14
+ @import "tinymce/code.less";
15
+ @import "tinymce/fold.less";
16
+ @import "tinymce/plugin.less";
17
+ @import "tinymce/imgpreview.less";
18
+ @import "tinymce/latex.less";
19
+ @import "tinymce/nextpage.less";
20
+
21
+ @import "tinymce/video.less";
22
+
23
+ @import "module/directory.less";
@@ -0,0 +1,311 @@
1
+ .scrollbar() {
2
+ &::-webkit-scrollbar {
3
+ width: 4px;
4
+ }
5
+ &::-webkit-scrollbar-track,
6
+ &::-webkit-scrollbar-track-piece {
7
+ background-color: #fafafa;
8
+ border-radius: 6px;
9
+ }
10
+ &::-webkit-scrollbar-thumb {
11
+ background-color: #eee;
12
+ border-radius: 6px;
13
+ }
14
+ &::-webkit-scrollbar-button,
15
+ &::-webkit-scrollbar-corner,
16
+ &::-webkit-resizer {
17
+ display: none;
18
+ }
19
+ }
20
+
21
+ .m-resource-combo {
22
+ .m-combo-list {
23
+ max-height: 230px;
24
+ overflow: auto;
25
+ .scrollbar();
26
+ }
27
+ .m-database-search {
28
+ position: sticky;
29
+ z-index: 100;
30
+ top: 0;
31
+ // padding: 10px 20px 10px 20px;
32
+ background-color: #fff;
33
+ .pr;
34
+
35
+ .u-client {
36
+ // .pa;.lt(20px,10px);
37
+ margin-right: 15px;
38
+ }
39
+ .u-input {
40
+ flex: 1;
41
+ }
42
+ display: flex;
43
+ }
44
+
45
+ .m-database-tip {
46
+ .x;
47
+ // .fz(12px);
48
+ color: #aaa;
49
+ margin: 80px auto;
50
+ // font-weight:300;
51
+ letter-spacing: 1px;
52
+ min-height: 120px;
53
+ }
54
+
55
+ // 加载更多
56
+ .m-archive-more {
57
+ .none;
58
+ margin: 0 20px 10px 20px;
59
+ box-sizing: border-box;
60
+ width: calc(100% - 40px);
61
+ }
62
+ .m-archive-more.show {
63
+ .db;
64
+ }
65
+
66
+ // 分页
67
+ .m-archive-pages {
68
+ overflow-x: auto;
69
+ margin: 0 20px;
70
+ .x;
71
+ }
72
+
73
+ .m-resource-count {
74
+ .mt(0);
75
+ .mb(10px);
76
+
77
+ .lh(28px);
78
+
79
+ .pr;
80
+ }
81
+
82
+ .m-resource-list {
83
+ .mt(10px);
84
+ padding: 0;
85
+ margin: 0;
86
+ .scrollbar();
87
+
88
+ .u-item {
89
+ .db;
90
+ border: 2px solid @border-hr;
91
+ background: #fafbfc;
92
+ margin-bottom: 10px;
93
+ padding: 10px 10px 10px 70px;
94
+ min-height: 60px;
95
+ .r(6px);
96
+ &:hover {
97
+ background-color: #e7f9ff;
98
+ }
99
+ &.on {
100
+ border-color: #34d058;
101
+ background-color: #fff;
102
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
103
+ // &:hover{
104
+ // border:1px dashed #ddd;
105
+ // background-color:#eee;
106
+ // }
107
+ }
108
+ .pr;
109
+ .pointer;
110
+ }
111
+ .u-link {
112
+ .db;
113
+ color: @color;
114
+ }
115
+ .u-pic {
116
+ .db;
117
+ .pa;
118
+ .lt(10px);
119
+ .size(48px);
120
+ .r(6px);
121
+ box-shadow: 0 0 1px inset rgba(0, 0, 0, 0.2);
122
+ }
123
+ .u-id {
124
+ .fz(10px);
125
+ color: #555;
126
+ .pa;
127
+ .rt(10px);
128
+ .x(right);
129
+ }
130
+ .u-detach {
131
+ .mt(4px);
132
+ .db;
133
+ }
134
+ .u-primary {
135
+ .pr;
136
+ }
137
+ .u-raw {
138
+ .pa;
139
+ .rb(0);
140
+ }
141
+ .u-name {
142
+ .fz(14px, 2);
143
+ .bold;
144
+ .db;
145
+ em {
146
+ .fz(12px);
147
+ color: #999;
148
+ font-weight: normal;
149
+ font-style: normal;
150
+ }
151
+ }
152
+ .u-content {
153
+ .fz(13px, 1.8);
154
+ .mb(5px);
155
+ .db;
156
+
157
+ .u-map,
158
+ .u-life {
159
+ .mr(20px);
160
+ }
161
+ }
162
+ .u-remark {
163
+ .fz(12px, 1.8);
164
+ color: #aaa;
165
+ .db;
166
+
167
+ em {
168
+ background-color: #eee;
169
+ padding: 0 5px;
170
+ margin: 0 3px;
171
+ .r(3px);
172
+ }
173
+ }
174
+ .u-desc {
175
+ .fz(12px, 1.8);
176
+ .db;
177
+ white-space: pre-wrap;
178
+ margin: 4px 0;
179
+
180
+ em {
181
+ background-color: #f3f3f3;
182
+ padding: 2px 5px;
183
+ margin-right: 5px;
184
+ color: #999;
185
+ .r(3px);
186
+ .fz(12px);
187
+ font-style: normal;
188
+ }
189
+
190
+ sub {
191
+ font-size: 100%;
192
+ .ps;
193
+ }
194
+ }
195
+ .u-props {
196
+ .mt(10px);
197
+ border-top: 1px dashed #ddd;
198
+ padding: 10px 0;
199
+ .clearfix;
200
+ .u-desc {
201
+ .w(50%);
202
+ .fl;
203
+ }
204
+ .none;
205
+ &.on {
206
+ .db;
207
+ }
208
+ }
209
+ }
210
+ .m-select-content {
211
+ height: calc(100% - 200px);
212
+ overflow: auto;
213
+ }
214
+ // 已选数据
215
+ .m-selected-skills {
216
+ height: 70px;
217
+ border: 1px solid #ddd;
218
+ padding: 10px;
219
+ .scrollbar();
220
+ overflow-y: auto;
221
+ .m-skills-list {
222
+ .flex;
223
+ gap: 30px;
224
+ list-style: none;
225
+ padding: 0;
226
+ margin: 0;
227
+ .flex;
228
+ flex-wrap: wrap;
229
+ }
230
+ .m-skill {
231
+ // position: relative;
232
+ // display: flex;
233
+ // justify-content: center;
234
+ .pr;
235
+
236
+ &:not(:last-of-type)::after {
237
+ content: "▲";
238
+ .pa;
239
+ right: -25px;
240
+ top: 15px;
241
+ transform: rotate(90deg);
242
+ }
243
+
244
+ .u-remove-icon {
245
+ .pa;
246
+ right: -4px;
247
+ top: -4px;
248
+ cursor: pointer;
249
+ // .none;
250
+
251
+ background-color:#c00;
252
+ .size(12px);
253
+ .r(50%);
254
+ .db;
255
+ i{
256
+ color:#fff;
257
+ .fz(12px);
258
+ .db;
259
+ }
260
+ &:hover {
261
+ background-color:#f00;
262
+ }
263
+ }
264
+
265
+ .u-gcd-icon {
266
+ .pa;
267
+ // 左上角
268
+ left: -4px;
269
+ top: -4px;
270
+ // background-color: #fcf003;
271
+ background-color: #0366d6;
272
+ .size(12px);
273
+ .r(50%);
274
+ .db;
275
+
276
+ i{
277
+ color:#fff;
278
+ .fz(12px);
279
+ .db;
280
+ }
281
+ }
282
+
283
+ .u-skill-icon {
284
+ .size(48px, 48px);
285
+ }
286
+
287
+ .u-name {
288
+ display: block;
289
+ font-size: 12px;
290
+ text-align: center;
291
+ overflow: hidden;
292
+ white-space: nowrap;
293
+ width: 48px;
294
+ }
295
+
296
+ .u-mask {
297
+ .pa;
298
+ .lt(0);
299
+ .size(48px, 48px);
300
+ background-color: rgba(0, 0, 0, 0.5);
301
+ .r(6px);
302
+ .none;
303
+ .pointer;
304
+ }
305
+
306
+ &:hover {
307
+ cursor: move;
308
+ }
309
+ }
310
+ }
311
+ }
@@ -0,0 +1,190 @@
1
+ .w-author {
2
+ .w-author-wrapper {
3
+ @max-width: 280px;
4
+ @min-width: 280px;
5
+ max-width: @max-width;
6
+ min-width: @min-width;
7
+ width: 280px;
8
+ padding: 10px;
9
+ background-color: #fff;
10
+ box-sizing: border-box;
11
+
12
+ .u-author {
13
+ .clearfix;
14
+ .db;
15
+ .pr;
16
+ }
17
+ .u-avatar {
18
+ .fl;
19
+ .mr(15px);
20
+ .size(68px);
21
+ }
22
+ .u-name {
23
+ .lh(2.2);
24
+ .bold;
25
+ color: @darkblue;
26
+ &:hover {
27
+ color: #f39;
28
+ }
29
+ .nobreak;
30
+ }
31
+ .u-info {
32
+ .pr;
33
+ top: -4px;
34
+ .h(68px);
35
+ display: flex;
36
+ flex-direction: column;
37
+ justify-content: center;
38
+ }
39
+ .u-bio {
40
+ .mb(10px);
41
+ .fz(12px, 2);
42
+ .break(3);
43
+ color: #888;
44
+ padding: 0 5px;
45
+ }
46
+ .u-extend {
47
+ display: flex;
48
+ }
49
+ .u-level {
50
+ padding: 2px 8px;
51
+ .fz(12px, 14px);
52
+ color: #fff;
53
+ background-color: #aaa;
54
+ border-radius: 2px;
55
+
56
+ &.lv-1 {
57
+ background-color: #32d3c4;
58
+ }
59
+ &.lv-2 {
60
+ background-color: #86c0fb;
61
+ }
62
+ &.lv-3 {
63
+ background-color: #33d9ff;
64
+ }
65
+ &.lv-4 {
66
+ background-color: #ffdb2a;
67
+ }
68
+ &.lv-5 {
69
+ background-color: #ffa739;
70
+ }
71
+ &.lv-6 {
72
+ background-color: #ff70b2;
73
+ }
74
+ &.lv-7 {
75
+ background-color: #ff3399;
76
+ }
77
+ &.lv-8 {
78
+ background-color: #f93c3c;
79
+ }
80
+ }
81
+ .u-vip {
82
+ .ml(5px);
83
+ .db;
84
+ .i-icon-vip {
85
+ .db;
86
+ vertical-align: baseline;
87
+ padding: 2px 6px;
88
+ .fz(12px, 14px);
89
+ font-style: normal;
90
+ border-radius: 2px;
91
+ background-color: #ddd;
92
+ color: #fff;
93
+ &.on {
94
+ background-color: #6f42c1;
95
+ }
96
+ }
97
+ }
98
+ .u-superauthor {
99
+ margin-left: 4px;
100
+ display: inline-block;
101
+ vertical-align: -2px;
102
+ img {
103
+ padding: 0;
104
+ margin: 0;
105
+ width: 16px;
106
+ }
107
+ }
108
+ .u-tips {
109
+ .db;
110
+ color: #555;
111
+ font-size: 12px;
112
+ }
113
+ .u-link {
114
+ border-top: 1px dashed #eee;
115
+ border-bottom: 1px dashed #eee;
116
+ a,
117
+ div {
118
+ .db;
119
+ margin: 10px 5px;
120
+ .fz(12px, 20px);
121
+ color: #555;
122
+ }
123
+ a {
124
+ &:hover {
125
+ color: #f39;
126
+ }
127
+ }
128
+ svg,
129
+ img {
130
+ .size(16px);
131
+ .mr(6px);
132
+ .y(-3px);
133
+ }
134
+ }
135
+ .u-medals {
136
+ padding: 0 2px;
137
+ line-height: unset;
138
+
139
+ .m-medal {
140
+ line-height: normal;
141
+ flex-wrap: wrap;
142
+ }
143
+ }
144
+
145
+ .u-medal {
146
+ img {
147
+ padding: 0;
148
+ margin: 0;
149
+ .size(20px);
150
+ }
151
+ }
152
+ .u-label {
153
+ margin: 15px 0 10px 0;
154
+ padding: 0 5px 10px 5px;
155
+ i {
156
+ .mr(5px);
157
+ }
158
+ span {
159
+ .fz(13px);
160
+ }
161
+ border-bottom: 1px solid @border;
162
+ }
163
+
164
+ .u-teams {
165
+ .mt(5px);
166
+ .u-team {
167
+ .db;
168
+ background-color: #f2f6fc;
169
+ .mb(6px);
170
+ &:hover {
171
+ background-color: #e6f0fb;
172
+ // color:@color-link;
173
+ }
174
+ .r(3px);
175
+ padding: 0 5px;
176
+ display: flex;
177
+ align-items: center;
178
+ }
179
+ .u-team-logo {
180
+ .size(22px);
181
+ .mr(4px);
182
+ .r(4px);
183
+ }
184
+ .u-team-name {
185
+ .fz(12px);
186
+ color: #555;
187
+ }
188
+ }
189
+ }
190
+ }
@@ -0,0 +1,78 @@
1
+ .w-buff {
2
+ padding: 1px;
3
+ border: 1px solid #0f2222;
4
+ .w-buff-wrapper {
5
+ @max-width: 345px;
6
+ @min-width: 200px;
7
+ max-width: @max-width;
8
+ min-width: @min-width;
9
+ padding: 9px 10px 10px;
10
+ background-color: rgba(15, 34, 34, 0.88);
11
+ box-sizing: border-box;
12
+ display: flex;
13
+ }
14
+
15
+ .w-buff-icon {
16
+ .size(48px);
17
+ border:none;
18
+ padding:0;
19
+ margin:0 10px 0 0;
20
+ }
21
+
22
+ .w-buff-content {
23
+ font-weight: normal;
24
+ flex-grow: 1;
25
+ text-shadow: 1px 1px 1px #0f2222;
26
+ line-height: 20px;
27
+ }
28
+
29
+ .w-buff-name {
30
+ color: #ff0;
31
+ .db;
32
+ .fz(13px);
33
+ }
34
+
35
+ .w-buff-type{
36
+ .db;
37
+ color: #77ecff;
38
+ letter-spacing: 0.5px;
39
+ .mb(5px);
40
+ .fz(12px, 20px);
41
+ }
42
+
43
+ .w-buff-desc {
44
+ color: #ffffff;
45
+ letter-spacing: 0.5px;
46
+ .fz(12px, 20px);
47
+ }
48
+
49
+ .w-buff-meta {
50
+ .db;
51
+ .fz(12px, 20px);
52
+ color: #5df9eb;
53
+ }
54
+ }
55
+
56
+ .c-article .e-jx3-buff {
57
+ // img {
58
+ // border: none;
59
+ // margin: 0 5px 0 0;
60
+ // width: 36px;
61
+ // vertical-align: middle;
62
+ // }
63
+ // span {
64
+ // font-size: 14px;
65
+ // line-height: 36px;
66
+ // }
67
+
68
+ // &.isBuff {
69
+ // color: #37a900;
70
+ // }
71
+ // &.isDebuff {
72
+ // color: #900;
73
+ // }
74
+ text-decoration: underline;
75
+ &:hover {
76
+ box-shadow: none !important;
77
+ }
78
+ }