@jx3box/jx3box-ui 2.0.5 → 2.0.7
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.
- package/.storybook/preview.js +22 -13
- package/.storybook/storybookMocks.js +214 -0
- package/README.md +39 -43
- package/assets/css/bread/admin.less +20 -2
- package/assets/css/bread/breadcrumb.less +5 -2
- package/assets/css/comment/quick-reply.less +1 -1
- package/assets/css/common/left-sidebar.less +1 -1
- package/assets/css/interact/like2.less +5 -2
- package/assets/css/interact/qrcode.less +69 -0
- package/assets/css/single/author.less +15 -10
- package/assets/css/single/cms-single.less +1 -0
- package/assets/css/single/thx.less +34 -11
- package/assets/css/wiki/wiki-comments.less +176 -0
- package/assets/css/wiki/wiki-panel.less +177 -0
- package/assets/css/wiki/wiki-revisions.less +62 -0
- package/assets/data/nav.json +344 -10
- package/assets/img/comment/comment.svg +1 -1
- package/assets/img/comment/heart_1.svg +1 -1
- package/assets/img/comment/hide.svg +1 -1
- package/assets/img/leftsidebar/medal.svg +1 -1
- package/assets/img/leftsidebar/post.svg +27 -46
- package/i18n/messages/en-US.js +357 -22
- package/i18n/messages/vi.js +350 -22
- package/i18n/messages/zh-CN.js +469 -20
- package/i18n/messages/zh-TW.js +350 -22
- package/index.js +19 -7
- package/package.json +8 -5
- package/service/cms.js +22 -0
- package/service/commit-history.js +18 -0
- package/service/community.js +60 -0
- package/service/fav.js +5 -6
- package/src/App.vue +210 -80
- package/src/Breadcrumb.vue +24 -11
- package/src/CommonFooter.vue +2 -2
- package/src/Footer.vue +13 -5
- package/src/LeftSideToggle.vue +10 -3
- package/src/LeftSidebar.vue +19 -5
- package/src/Main.vue +9 -2
- package/src/RightSidebar.vue +12 -3
- package/src/SuspendCommon.vue +52 -38
- package/src/author/AuthorFans.vue +7 -5
- package/src/author/AuthorFollow.vue +14 -7
- package/src/author/AuthorGift.vue +25 -17
- package/src/author/AuthorInfo.vue +46 -19
- package/src/author/AuthorLink.vue +3 -1
- package/src/author/AuthorMedals.vue +5 -2
- package/src/author/AuthorPosts.vue +31 -13
- package/src/author/AuthorRss.vue +7 -3
- package/src/author/AuthorTeams.vue +3 -1
- package/src/author/UserPop.vue +29 -17
- package/src/bread/Admin.vue +55 -32
- package/src/bread/AdminDirectMessage.vue +15 -8
- package/src/bread/AdminDrop.vue +124 -45
- package/src/bread/CommunityAdmin.vue +527 -0
- package/src/bread/DesignTask.vue +30 -26
- package/src/bread/ListAdmin.vue +199 -0
- package/src/bread/MigrateCommunity.vue +192 -0
- package/src/bread/MoveToCommunityDialog.vue +234 -0
- package/src/comment/Avatar.vue +18 -24
- package/src/comment/CommentContent.vue +57 -37
- package/src/comment/CommentContentSimple.vue +61 -63
- package/src/comment/CommentInputForm.vue +45 -34
- package/src/comment/CommentWithReply.vue +9 -6
- package/src/comment/QuickReply.vue +5 -1
- package/src/comment/ReplyForReply.vue +6 -4
- package/src/comment/ReplyList.vue +28 -18
- package/src/comment/Upload.vue +24 -6
- package/src/filters/clientBy.vue +10 -8
- package/src/filters/markBy.vue +35 -31
- package/src/filters/menuBy.vue +20 -22
- package/src/filters/orderBy.vue +17 -11
- package/src/filters/tagBy.vue +4 -2
- package/src/filters/topicBy.vue +12 -10
- package/src/filters/versionBy.vue +5 -3
- package/src/filters/zlpBy.vue +29 -25
- package/src/footer/copyright.vue +5 -5
- package/src/footer/links.vue +2 -2
- package/src/footer/official.vue +1 -1
- package/src/footer/resource.vue +6 -6
- package/src/header/alternate.vue +35 -18
- package/src/header/asset.vue +9 -19
- package/src/header/box.vue +20 -8
- package/src/header/box2.vue +16 -9
- package/src/header/client.vue +7 -7
- package/src/header/lang.vue +41 -6
- package/src/header/logo.vue +2 -3
- package/src/header/manage.vue +2 -2
- package/src/header/message.vue +3 -3
- package/src/header/nav.vue +26 -23
- package/src/header/publish.vue +2 -2
- package/src/header/search.vue +2 -2
- package/src/header/shop.vue +2 -2
- package/src/header/user.vue +4 -4
- package/src/header/userInfo.vue +22 -24
- package/src/header/vip.vue +2 -2
- package/src/interact/BoxcoinAdmin.vue +30 -16
- package/src/interact/BoxcoinRecords.vue +28 -11
- package/src/interact/BoxcoinUser.vue +33 -17
- package/src/interact/Fav.vue +5 -1
- package/src/interact/Homework.vue +317 -0
- package/src/interact/Like.vue +4 -2
- package/src/interact/QRcode.vue +104 -0
- package/src/interact/Rss.vue +10 -4
- package/src/interact/Share.vue +18 -19
- package/src/interact/WatchLater.vue +5 -1
- package/src/main.js +1 -0
- package/src/single/Author.vue +5 -1
- package/src/single/CmsSingle.vue +29 -15
- package/src/single/Collection.vue +36 -26
- package/src/single/Comment.vue +19 -13
- package/src/single/Creators.vue +5 -3
- package/src/single/PostCollection.vue +158 -0
- package/src/single/PostDirectory.vue +0 -126
- package/src/single/PostGuide.vue +93 -0
- package/src/single/PostHeader.vue +39 -17
- package/src/single/PostTopic.vue +3 -3
- package/src/single/PostVersion.vue +219 -0
- package/src/single/RightAffix.vue +160 -0
- package/src/single/SimpleThx.vue +4 -2
- package/src/single/Thx.vue +14 -2
- package/src/single/VersionDialog.vue +238 -0
- package/src/stories/components/StoryPropsTable.vue +137 -0
- package/src/stories/filters/FilterGallery.stories.js +110 -0
- package/src/stories/filters/clientBy.stories.js +24 -0
- package/src/stories/filters/markBy.stories.js +6 -0
- package/src/stories/filters/menuBy.stories.js +6 -0
- package/src/stories/filters/orderBy.stories.js +6 -0
- package/src/stories/filters/tagBy.stories.js +6 -0
- package/src/stories/filters/topicBy.stories.js +6 -0
- package/src/stories/filters/versionBy.stories.js +6 -0
- package/src/stories/filters/zlpBy.stories.js +6 -0
- package/src/stories/interact/QRcode.stories.js +59 -0
- package/src/stories/layout/BaseShell.stories.js +38 -0
- package/src/stories/layout/Breadcrumb.stories.js +40 -0
- package/src/stories/layout/CommonFooter.stories.js +1 -1
- package/src/stories/layout/CommonHeader.stories.js +1 -1
- package/src/stories/layout/LeftSideToggle.stories.js +78 -0
- package/src/stories/layout/LeftSidebar.stories.js +40 -0
- package/src/stories/layout/Main.stories.js +41 -0
- package/src/stories/layout/RightSidebar.stories.js +36 -0
- package/src/stories/layout/StorybookShell.vue +271 -0
- package/src/stories/layout/SuspendCommon.stories.js +67 -0
- package/src/stories/layout/SuspendCommonStage.vue +143 -0
- package/src/stories/mockData.js +369 -0
- package/src/stories/other/UserPop.stories.js +51 -0
- package/src/stories/single/Author.stories.js +19 -0
- package/src/stories/single/AuthorStoryStage.vue +103 -0
- package/src/stories/single/CmsSingle.stories.js +19 -0
- package/src/stories/single/CmsSingleStoryStage.vue +118 -0
- package/src/stories/single/Collection.stories.js +34 -0
- package/src/stories/single/Comment.stories.js +36 -0
- package/src/stories/single/Creators.stories.js +34 -0
- package/src/stories/single/PostCollection.stories.js +34 -0
- package/src/stories/single/PostDirectory.stories.js +31 -0
- package/src/stories/single/PostGuide.stories.js +47 -0
- package/src/stories/single/PostHeader.stories.js +39 -0
- package/src/stories/single/PostVersion.stories.js +41 -0
- package/src/stories/single/RightAffix.stories.js +84 -0
- package/src/stories/single/SimpleThx.stories.js +39 -0
- package/src/stories/single/SingleGallery.stories.js +207 -0
- package/src/stories/single/Thx.stories.js +38 -0
- package/src/stories/wiki/GamePrice.stories.js +64 -0
- package/src/stories/wiki/WikiComments.stories.js +58 -0
- package/src/stories/wiki/WikiPanel.stories.js +69 -0
- package/src/stories/wiki/WikiRevisions.stories.js +47 -0
- package/src/wiki/GamePrice.vue +107 -0
- package/src/wiki/WikiComment.vue +153 -0
- package/src/wiki/WikiComments.vue +206 -0
- package/src/wiki/WikiPanel.vue +121 -0
- package/src/wiki/WikiRevisions.vue +125 -0
- package/vue.config.js +2 -12
- package/assets/css/common/bottom.less +0 -25
- package/assets/css/editor/article.less +0 -36
- package/assets/css/editor/combo.less +0 -362
- package/assets/css/editor/resource.less +0 -399
- package/assets/css/editor/tinymce.less +0 -100
- package/assets/css/editor/upload.less +0 -136
- package/assets/css/module/author.less +0 -231
- package/assets/css/module/buff.less +0 -88
- package/assets/css/module/directory.less +0 -165
- package/assets/css/module/icon.less +0 -25
- package/assets/css/module/item.less +0 -279
- package/assets/css/module/item_simple.less +0 -58
- package/assets/css/module/jx3_element.less +0 -5
- package/assets/css/module/macro.less +0 -89
- package/assets/css/module/npc.less +0 -265
- package/assets/css/module/resource.less +0 -93
- package/assets/css/module/skill.less +0 -74
- package/assets/css/module/talent.less +0 -495
- package/assets/js/a.js +0 -46
- package/assets/js/code.js +0 -13
- package/assets/js/combo.js +0 -40
- package/assets/js/directory.js +0 -114
- package/assets/js/filter2.js +0 -186
- package/assets/js/fold.js +0 -11
- package/assets/js/gallery.js +0 -14
- package/assets/js/hljs_languages.js +0 -177
- package/assets/js/iframe.js +0 -38
- package/assets/js/img.js +0 -23
- package/assets/js/item/attribute_percent.js +0 -88
- package/assets/js/item/bind.js +0 -18
- package/assets/js/item/border.js +0 -19
- package/assets/js/item/border_quest.js +0 -12
- package/assets/js/item/color.js +0 -25
- package/assets/js/item/hljs_languages.js +0 -177
- package/assets/js/item/icon_url.js +0 -15
- package/assets/js/item/second_format.js +0 -19
- package/assets/js/jx3_element.js +0 -73
- package/assets/js/katex.js +0 -181
- package/assets/js/macro.js +0 -16
- package/assets/js/nextpage.js +0 -4
- package/assets/js/pswp.js +0 -67
- package/assets/js/pswp_template.js +0 -66
- package/assets/js/pz_iframe.js +0 -30
- package/assets/js/qixue.js +0 -28
- package/assets/js/renderImgPreview.js +0 -18
- package/assets/js/script.js +0 -6
- package/assets/js/stat.js +0 -107
- package/assets/js/talent2.js +0 -21
- package/assets/js/tex-mml-chtml.js +0 -36310
- package/assets/js/voice.js +0 -238
- package/assets/js/xss.js +0 -130
- package/src/editor/Article.vue +0 -230
- package/src/editor/BoxResource.vue +0 -441
- package/src/editor/Resource.vue +0 -623
- package/src/editor/Tinymce.vue +0 -204
- package/src/editor/Upload.vue +0 -277
- package/src/editor/UploadAlum.vue +0 -176
- package/src/editor/UploadBanner.vue +0 -156
- package/src/editor/components/Author.vue +0 -322
- package/src/editor/components/Avatar.vue +0 -95
- package/src/editor/components/Buff.vue +0 -80
- package/src/editor/components/Combo.vue +0 -259
- package/src/editor/components/Equip.vue +0 -299
- package/src/editor/components/GameText.vue +0 -242
- package/src/editor/components/Item.vue +0 -325
- package/src/editor/components/ItemSimple.vue +0 -134
- package/src/editor/components/Medal.vue +0 -43
- package/src/editor/components/Npc.vue +0 -215
- package/src/editor/components/PostAuthor.vue +0 -102
- package/src/editor/components/Skill.vue +0 -71
package/i18n/messages/zh-TW.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default {
|
|
2
|
-
|
|
2
|
+
commonHeader: {
|
|
3
3
|
vipCenter: "會員中心",
|
|
4
4
|
createCenter: "創作中心",
|
|
5
5
|
messageCenter: "訊息中心",
|
|
@@ -56,8 +56,64 @@ export default {
|
|
|
56
56
|
manageCenter: "管理中心",
|
|
57
57
|
},
|
|
58
58
|
all: "全部",
|
|
59
|
+
|
|
60
|
+
alternate: {
|
|
61
|
+
title: "切換馬甲",
|
|
62
|
+
userNickname: "用戶暱稱:",
|
|
63
|
+
lastLogin: "上次登入:",
|
|
64
|
+
expired: "(已過期)",
|
|
65
|
+
expiredNeedRelogin: "該馬甲已過期,請重新登入",
|
|
66
|
+
switchConfirm: "確定要切換到該馬甲嗎?",
|
|
67
|
+
deleteConfirm: "確定要刪除該馬甲嗎?",
|
|
68
|
+
maxFive: "最多只能添加5個馬甲",
|
|
69
|
+
},
|
|
70
|
+
nav: {
|
|
71
|
+
index: "首頁",
|
|
72
|
+
macro: "宏庫",
|
|
73
|
+
macro_index: "全門派宏",
|
|
74
|
+
pz: "在線配裝",
|
|
75
|
+
talent: "奇穴模擬",
|
|
76
|
+
talent2: "鎮派模擬",
|
|
77
|
+
macroeditor: "宏編輯器",
|
|
78
|
+
bps: "職業",
|
|
79
|
+
bps_post: "門派攻略",
|
|
80
|
+
jcl: "戰鬥分析",
|
|
81
|
+
battle: "戰鬥統計",
|
|
82
|
+
superstar: "門派天團",
|
|
83
|
+
pvp: "競技",
|
|
84
|
+
yanxi: "武學研習",
|
|
85
|
+
desert: "絕境戰場",
|
|
86
|
+
sandbox: "沙盤查詢",
|
|
87
|
+
changelog: "技改歷史",
|
|
88
|
+
fb: "副本",
|
|
89
|
+
fb_post: "副本攻略",
|
|
90
|
+
baizhan: "百戰查詢",
|
|
91
|
+
bhhj: "八荒模擬",
|
|
92
|
+
team: "團隊平台",
|
|
93
|
+
jdt: "秘境百強",
|
|
94
|
+
wiki: "百科",
|
|
95
|
+
cj: "成就百科",
|
|
96
|
+
item: "物品百科",
|
|
97
|
+
quest: "任務百科",
|
|
98
|
+
knowledge: "通識百科",
|
|
99
|
+
pvx: "休閒",
|
|
100
|
+
face: "妝造數據",
|
|
101
|
+
adventure: "珍奇大全",
|
|
102
|
+
gonggao: "活動告示",
|
|
103
|
+
price: "價格走勢",
|
|
104
|
+
tool: "工具",
|
|
105
|
+
tool_post: "教程資源",
|
|
106
|
+
dbm: "插件數據",
|
|
107
|
+
database: "數據大全",
|
|
108
|
+
design: "美術資源",
|
|
109
|
+
bbs: "茶館",
|
|
110
|
+
topic: "遊戲專題",
|
|
111
|
+
event: "活動專題",
|
|
112
|
+
namespace: "劍網3.com",
|
|
113
|
+
jx3pve: "魔盒前身",
|
|
114
|
+
},
|
|
59
115
|
},
|
|
60
|
-
|
|
116
|
+
commonFooter: {
|
|
61
117
|
slogan1: "一站式劍三工具與資源聚合站。",
|
|
62
118
|
slogan2: "江湖路遠,幸甚有你。",
|
|
63
119
|
downloadCenter: "下載中心",
|
|
@@ -104,25 +160,297 @@ export default {
|
|
|
104
160
|
cancel: "取消",
|
|
105
161
|
tip: "提示",
|
|
106
162
|
},
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
163
|
+
footer: { icp: "湘ICP備2021002288號", about: "關於我們", doc: "幫助文件", repo: "代碼倉庫", feedback: "反饋建議" },
|
|
164
|
+
breadcrumb: { publish: "發布", feedback: "反饋" },
|
|
165
|
+
box2: { title: "魔盒矩陣", searchPlaceholder: "搜尋應用", empty: "未找到匹配應用" },
|
|
166
|
+
user: { register: "註冊", login: "登入" },
|
|
167
|
+
nav: { quickNav: "快捷導覽" },
|
|
168
|
+
leftSidebar: { collapse: "收起側邊欄", expand: "打開側邊欄" },
|
|
169
|
+
rightSidebar: { collapse: "收起側邊欄", expand: "打開側邊欄" },
|
|
170
|
+
author: { message: "私訊" },
|
|
171
|
+
authorInfo: {
|
|
172
|
+
superAuthor: "簽約作者",
|
|
173
|
+
unknown: "未知",
|
|
174
|
+
mysterious: "神秘俠士",
|
|
175
|
+
experience: "經驗值:{value}",
|
|
176
|
+
proVip: "專業版會員",
|
|
177
|
+
preVip: "高級版會員",
|
|
178
|
+
},
|
|
179
|
+
authorPosts: { latest: "最新作品", noTitle: "{type}/無標題" },
|
|
180
|
+
authorFans: {
|
|
181
|
+
title: "粉絲榜",
|
|
182
|
+
summary: "累計打賞{count}盒幣",
|
|
183
|
+
fansCount: "粉絲數: {count}",
|
|
184
|
+
boxcoinCount: ",累計收到盒幣打賞: {count}",
|
|
185
|
+
},
|
|
186
|
+
authorMedals: { title: "作者榮譽" },
|
|
187
|
+
authorTeams: { title: "所在團隊" },
|
|
188
|
+
authorFollow: {
|
|
189
|
+
followed: "已粉",
|
|
190
|
+
follow: "關注",
|
|
191
|
+
unfollow: "取消關注",
|
|
192
|
+
followSuccess: "關注成功",
|
|
193
|
+
confirmUnfollow: "確定不再關注此人?",
|
|
194
|
+
unfollowSuccess: "取消關注成功",
|
|
195
|
+
},
|
|
196
|
+
authorGift: {
|
|
197
|
+
button: "贈禮",
|
|
198
|
+
dialogTitle: "贈禮",
|
|
199
|
+
leaf: "金箔",
|
|
200
|
+
recharge: "充值",
|
|
201
|
+
give: "贈送",
|
|
202
|
+
remark: "寄語",
|
|
203
|
+
remarkPlaceholder: "請輸入寄語(必填)",
|
|
204
|
+
defaultRemark: "辛苦,感謝!",
|
|
205
|
+
selfDisabled: "不能給自己贈送禮物",
|
|
206
|
+
statusDisabled: "作者沒有開啟接受禮物",
|
|
207
|
+
processing: "正在處理中",
|
|
208
|
+
success: "贈送成功",
|
|
209
|
+
busy: "交易繁忙,請稍後再試",
|
|
210
|
+
},
|
|
211
|
+
authorRss: { followed: "已關注", follow: "關注", followSuccess: "關注成功", success: "操作成功" },
|
|
212
|
+
authorLink: { roomId: "房間號:{id}" },
|
|
213
|
+
userPop: {
|
|
214
|
+
placeholder: "請輸入用戶 UID 或暱稱進行搜尋",
|
|
215
|
+
search: "搜尋",
|
|
216
|
+
notFound: "未找到匹配項",
|
|
217
|
+
empty: "請輸入搜尋條件",
|
|
218
|
+
invalid: "用戶不存在 或 UID 不正確",
|
|
219
|
+
alertTitle: "提醒",
|
|
220
|
+
},
|
|
221
|
+
boxcoinAdmin: {
|
|
222
|
+
tooltip: "品鑑",
|
|
223
|
+
dialogTitle: "品鑑評分",
|
|
224
|
+
monthStatus: "本月狀態",
|
|
225
|
+
monthSummary: "已用{used} 剩餘{left} 總計{total}",
|
|
226
|
+
appraise: "品鑑",
|
|
227
|
+
boxcoin: "盒幣",
|
|
228
|
+
custom: "自訂",
|
|
229
|
+
customPlaceholder: "輸入自訂數量",
|
|
230
|
+
remark: "寄語",
|
|
231
|
+
remarkPlaceholder: "請輸入寄語(必填)",
|
|
232
|
+
insertCurrentRelease: "插入當前版本",
|
|
233
|
+
defaultRemark: "辛苦,感謝!",
|
|
234
|
+
success: "操作成功",
|
|
235
|
+
fetchFailed: "獲取失敗",
|
|
236
|
+
},
|
|
237
|
+
boxcoinUser: {
|
|
238
|
+
tooltip: "投幣",
|
|
239
|
+
disabledTooltip: "您當前等級不足,無法投幣。",
|
|
240
|
+
dialogTitle: "投幣打賞",
|
|
241
|
+
currentBoxcoin: "當前擁有盒幣",
|
|
242
|
+
recharge: "充值",
|
|
243
|
+
reward: "打賞",
|
|
244
|
+
boxcoin: "盒幣",
|
|
245
|
+
custom: "自訂",
|
|
246
|
+
customPlaceholder: "輸入自訂數量",
|
|
247
|
+
remark: "寄語",
|
|
248
|
+
remarkPlaceholder: "請輸入寄語(必填)",
|
|
249
|
+
defaultRemark: "辛苦了,謝謝大大!",
|
|
250
|
+
success: "操作成功",
|
|
251
|
+
},
|
|
252
|
+
boxcoinRecords: {
|
|
253
|
+
participant: "參與打賞",
|
|
254
|
+
author: "收益作者",
|
|
255
|
+
boxcoin: "盒幣",
|
|
256
|
+
remark: "寄語",
|
|
257
|
+
reward: "打賞",
|
|
258
|
+
appraise: "品鑑",
|
|
259
|
+
system: "系統",
|
|
260
|
+
revoke: "撤銷",
|
|
261
|
+
confirmRevoke: "是否確定撤銷該評分?",
|
|
262
|
+
confirmTitle: "確認",
|
|
263
|
+
revokeSuccess: "撤銷成功",
|
|
264
|
+
},
|
|
265
|
+
share: { share: "分享", wechatShare: "微信掃一掃分享", weibo: "微博", qq: "QQ", qzone: "QQ空間", tieba: "貼吧" },
|
|
266
|
+
watchLater: { add: "添加至稍後再看", added: "已添加稍後再看" },
|
|
267
|
+
fav: { collect: "收藏", collected: "已收藏" },
|
|
268
|
+
like: { like: "點讚" },
|
|
269
|
+
rss: { subscribe: "加入訂閱", subscribed: "已訂閱" },
|
|
270
|
+
commentContent: {
|
|
271
|
+
like: "點讚",
|
|
272
|
+
liked: "已讚",
|
|
273
|
+
reply: "回覆",
|
|
274
|
+
delete: "刪除",
|
|
275
|
+
hideTip: "拉入黑洞後,僅評論者自己可見",
|
|
276
|
+
hide: "黑洞",
|
|
277
|
+
top: "置頂",
|
|
278
|
+
cancelTop: "取消置頂",
|
|
279
|
+
star: "加精",
|
|
280
|
+
cancelStar: "取消加精",
|
|
281
|
+
show: "顯示",
|
|
282
|
+
hidden: "隱藏",
|
|
283
|
+
placeholder: "參與評論...",
|
|
284
|
+
submit: "提交",
|
|
285
|
+
collapse: "收起",
|
|
286
|
+
confirmDelete: "確定刪除該評論嗎?",
|
|
287
|
+
confirmHide: "確定隱藏該評論嗎?",
|
|
288
|
+
},
|
|
289
|
+
commentContentSimple: {
|
|
290
|
+
reply: "回覆",
|
|
291
|
+
like: "點讚",
|
|
292
|
+
liked: "已讚",
|
|
293
|
+
delete: "刪除",
|
|
294
|
+
hideTip: "拉入黑洞後,僅評論者自己可見",
|
|
295
|
+
hide: "黑洞",
|
|
296
|
+
confirmDelete: "確定刪除該評論嗎?",
|
|
297
|
+
confirmHide: "確定隱藏該評論嗎?",
|
|
298
|
+
},
|
|
299
|
+
commentInputForm: {
|
|
300
|
+
authMaskPrefix: "參與評論,需先進行",
|
|
301
|
+
authLink: "帳號認證",
|
|
302
|
+
authMaskSuffix: "。",
|
|
303
|
+
placeholder: "參與討論...",
|
|
304
|
+
secret: "悄悄話",
|
|
305
|
+
secretTip: "勾選悄悄話後僅作者和你可見,且不可再變更狀態",
|
|
306
|
+
publish: "發表評論",
|
|
307
|
+
},
|
|
308
|
+
commentWithReply: { defaultName: "無名小俠", top: "置頂", star: "精華", secret: "悄悄話", commentSuccess: "評論成功!", deleteSuccess: "刪除成功!" },
|
|
309
|
+
commentUpload: {
|
|
310
|
+
tip: "最多上傳 {count} 張 {types} 格式圖片,單張圖片不能超過 {size} MB",
|
|
311
|
+
exceed: "最多上傳 {count} 張圖片!",
|
|
312
|
+
maxSize: "單張圖片大小不能超過 {size} MB!",
|
|
313
|
+
uploadFailed: "圖片上傳失敗!",
|
|
314
|
+
},
|
|
315
|
+
quickReply: { title: "快捷回覆" },
|
|
316
|
+
replyForReply: { reply: "回覆", placeholder: "輸入回覆...", submit: "提交", collapse: "收起" },
|
|
317
|
+
replyList: { collapse: "收起", showMore: "查看更多" },
|
|
318
|
+
clientBy: { all: "全部", allClients: "全端", std: "劍三", origin: "緣起", wujie: "無界" },
|
|
319
|
+
menuBy: { all: "全部", default: "篩選" },
|
|
320
|
+
tagBy: { all: "全部" },
|
|
321
|
+
topicBy: { all: "全部", label: "主題" },
|
|
322
|
+
markBy: { all: "全部", default: "精選", newbie: "新手易用", advanced: "進階推薦", recommended: "編輯精選", geek: "骨灰必備" },
|
|
323
|
+
orderBy: { sortLabel: "排序 : {current}", lastUpdate: "最後更新", earliestPublish: "最早發布", mostFavs: "收藏最多", mostLikes: "點讚最多", mostDownloads: "下載最多" },
|
|
324
|
+
versionBy: { all: "雙端", standard: "旗艦", wujie: "無界" },
|
|
325
|
+
zlpBy: { all: "全部", default: "資料片" },
|
|
326
|
+
collection: { included: "該作品已被收錄至作者的劍三小冊" },
|
|
327
|
+
comment: {
|
|
328
|
+
sortMode: "排序模式:",
|
|
329
|
+
desc: "最後靠前",
|
|
330
|
+
asc: "最早靠前",
|
|
331
|
+
likesFirst: "獲讚靠前",
|
|
332
|
+
openWhitelist: "開啟過濾",
|
|
333
|
+
openWhitelistTip: "開啟過濾後,僅設為顯示的評論可被其他人所見",
|
|
334
|
+
deleteSuccess: "刪除成功!",
|
|
335
|
+
actionSuccess: "操作成功!",
|
|
336
|
+
commentFailed: "評論失敗",
|
|
337
|
+
commentSuccess: "評論成功!",
|
|
338
|
+
},
|
|
339
|
+
creators: { title: "聯合創作", editCurrent: "編輯當前作品" },
|
|
340
|
+
postHeader: {
|
|
341
|
+
original: "原創",
|
|
342
|
+
wujie: "無界",
|
|
343
|
+
mysterious: "神秘俠士",
|
|
344
|
+
client: "適用客戶端",
|
|
345
|
+
publishDateTitle: "發布日期:{time}",
|
|
346
|
+
updateDateTitle: "最後更新:{time}",
|
|
347
|
+
wordCount: "累計字數",
|
|
348
|
+
edit: "編輯",
|
|
349
|
+
noTitle: "無標題",
|
|
350
|
+
anonymous: "匿名",
|
|
351
|
+
},
|
|
352
|
+
simpleThx: { record: "打賞記錄" },
|
|
353
|
+
thx: {
|
|
354
|
+
copyright1: "所有原創作品,著作權歸作者所有,所有未經授權的非署名轉載或抄襲將有權追究法律責任,所有法律事務由專聘律師代理。",
|
|
355
|
+
copyright2: "簽約作者獨家特約稿件,及所有魔盒官方評分作品用戶一經兌現則視為有償付費稿件,所有商業稿件的轉載引用需同時徵得魔盒平台授權。",
|
|
356
|
+
},
|
|
357
|
+
cmsSingle: { comment: "評論", commentDisabled: "作者沒有開啟評論功能", authorSet: "作者設定了【" },
|
|
358
|
+
suspendCommon: {
|
|
359
|
+
more: "更多",
|
|
360
|
+
pinButton: "固定按鈕",
|
|
361
|
+
collect: "收藏",
|
|
362
|
+
subscribe: "訂閱",
|
|
363
|
+
collectWork: "收藏作品",
|
|
364
|
+
subscribeWork: "訂閱作品",
|
|
365
|
+
alreadyCollected: "你已經收藏該作品",
|
|
366
|
+
alreadySubscribed: "你已經訂閱該作品",
|
|
367
|
+
tryWatchLater: "喜歡程度不夠?可以試試添加到稍後再看",
|
|
368
|
+
cancelCollect: "取消收藏",
|
|
369
|
+
cancelSubscribe: "取消訂閱",
|
|
370
|
+
workSuffix: "作品",
|
|
371
|
+
addWatchLater: "添加到稍後再看",
|
|
372
|
+
watchLater: "稍後再看",
|
|
373
|
+
cancelPin: "取消固定",
|
|
374
|
+
pinContent: "固定內容",
|
|
375
|
+
viewPinnedAnywhere: "你可以隨時在其他頁面查看固定的內容",
|
|
376
|
+
pinShort: "固",
|
|
377
|
+
pinAgain: "你可以在原頁面再次將其固定",
|
|
378
|
+
supportedPinPrefix: "在支援固定的頁面可以按",
|
|
379
|
+
supportedPinSuffix: "將頁面固定",
|
|
380
|
+
openFailed: "查找頁面失敗",
|
|
381
|
+
searchContent: "搜尋內容",
|
|
382
|
+
pinCurrent: "固定本頁",
|
|
383
|
+
viewPinned: "查看固定",
|
|
384
|
+
author: "作者",
|
|
385
|
+
report: "舉報",
|
|
386
|
+
addedWatchLater: "已添加到稍後再看",
|
|
387
|
+
},
|
|
388
|
+
admin: {
|
|
389
|
+
title: "管理面板",
|
|
390
|
+
status: "狀態變更",
|
|
391
|
+
refreshCache: "刷新快取",
|
|
392
|
+
visible: "可見性變更",
|
|
393
|
+
mark: "推薦角標",
|
|
394
|
+
highlight: "高亮置頂",
|
|
395
|
+
sticky: "置頂",
|
|
396
|
+
enableHighlight: "開啟高亮",
|
|
397
|
+
previewHighlight: "預覽高亮效果",
|
|
398
|
+
banner: "封面海報",
|
|
399
|
+
bannerUrl: "海報地址",
|
|
400
|
+
removeBanner: "移除海報",
|
|
401
|
+
meta: "元信息",
|
|
402
|
+
section: "板塊",
|
|
403
|
+
sectionPlaceholder: "請選擇板塊",
|
|
404
|
+
authorPlaceholder: "請輸入作者ID",
|
|
405
|
+
authorId: "作者ID",
|
|
406
|
+
submit: "提交",
|
|
407
|
+
statusDefault: "預設",
|
|
408
|
+
statusDraft: "草稿",
|
|
409
|
+
statusPending: "待審核",
|
|
410
|
+
statusDeleted: "刪除",
|
|
411
|
+
uploadFailed: "上傳失敗",
|
|
412
|
+
success: "設定成功",
|
|
413
|
+
},
|
|
414
|
+
adminDrop: {
|
|
415
|
+
manage: "管理",
|
|
416
|
+
setting: "設定",
|
|
417
|
+
message: "私訊",
|
|
418
|
+
push: "推送",
|
|
419
|
+
pictureTask: "刷圖",
|
|
420
|
+
messageInput: "請輸入私訊內容",
|
|
421
|
+
messageTitle: "管理私訊",
|
|
422
|
+
noticePrefix: "營運通知:",
|
|
423
|
+
messageSuccess: "私訊成功",
|
|
424
|
+
pictureSuccess: "QQ 機器人圖片生成提交成功",
|
|
425
|
+
invalidParams: "參數不正確",
|
|
426
|
+
},
|
|
427
|
+
adminDirectMessage: {
|
|
428
|
+
button: "私訊",
|
|
429
|
+
title: "管理私訊",
|
|
430
|
+
input: "請輸入私訊內容",
|
|
431
|
+
noticePrefix: "營運通知:",
|
|
432
|
+
success: "私訊成功",
|
|
433
|
+
},
|
|
434
|
+
designTask: {
|
|
435
|
+
title: "快捷推送",
|
|
436
|
+
formTitle: "標題",
|
|
437
|
+
titlePlaceholder: "請輸入標題",
|
|
438
|
+
formType: "類型",
|
|
439
|
+
typePlaceholder: "請選擇類型",
|
|
440
|
+
formVersion: "版本",
|
|
441
|
+
formRemark: "備註",
|
|
442
|
+
remarkPlaceholder: "請輸入備註",
|
|
443
|
+
formStar: "星級",
|
|
444
|
+
recent: "近期推送",
|
|
445
|
+
pushAt: "推送時間",
|
|
446
|
+
pusher: "推送人",
|
|
447
|
+
star: "星級",
|
|
448
|
+
remark: "備註",
|
|
449
|
+
empty: "當前文章暫無歷史推送",
|
|
450
|
+
std: "劍三",
|
|
451
|
+
origin: "緣起",
|
|
452
|
+
wujie: "無界",
|
|
453
|
+
test: "體服",
|
|
454
|
+
success: "提交成功",
|
|
127
455
|
},
|
|
128
456
|
};
|
package/index.js
CHANGED
|
@@ -19,10 +19,17 @@ import menuBy from "./src/filters/menuBy.vue";
|
|
|
19
19
|
import clientBy from "./src/filters/clientBy.vue";
|
|
20
20
|
import zlpBy from "./src/filters/zlpBy.vue";
|
|
21
21
|
import topicBy from "./src/filters/topicBy.vue";
|
|
22
|
+
import versionBy from "./src/filters/versionBy.vue";
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
import
|
|
25
|
-
import
|
|
24
|
+
// 单页
|
|
25
|
+
import CmsSingle from "./src/single/CmsSingle.vue";
|
|
26
|
+
import Comment from "./src/single/Comment.vue";
|
|
27
|
+
import Thx from "./src/single/Thx.vue";
|
|
28
|
+
|
|
29
|
+
// 其他/工具
|
|
30
|
+
import UserPop from "./src/author/UserPop.vue";
|
|
31
|
+
import SuspendCommon from "./src/SuspendCommon.vue";
|
|
32
|
+
import AdminDrop from "./src/bread/AdminDrop.vue";
|
|
26
33
|
|
|
27
34
|
import {
|
|
28
35
|
Jx3boxUiI18n,
|
|
@@ -52,11 +59,16 @@ const components = {
|
|
|
52
59
|
clientBy,
|
|
53
60
|
zlpBy,
|
|
54
61
|
topicBy,
|
|
62
|
+
versionBy,
|
|
55
63
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
64
|
+
CmsSingle,
|
|
65
|
+
Comment,
|
|
66
|
+
Thx,
|
|
67
|
+
|
|
68
|
+
UserPop,
|
|
69
|
+
SuspendCommon,
|
|
70
|
+
AdminDrop,
|
|
71
|
+
}
|
|
60
72
|
|
|
61
73
|
const install = function (app) {
|
|
62
74
|
Object.keys(components).forEach((key) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jx3box/jx3box-ui",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.7",
|
|
4
4
|
"description": "JX3BOX Vue3 UI",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -33,11 +33,8 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@element-plus/icons-vue": "^2.3.2",
|
|
36
|
-
"@jx3box/jx3box-common": "^9.1.
|
|
36
|
+
"@jx3box/jx3box-common": "^9.1.3",
|
|
37
37
|
"@jx3box/jx3box-data": "^3.9.2",
|
|
38
|
-
"@jx3box/jx3box-emotion": "^1.3.0",
|
|
39
|
-
"@jx3box/jx3box-macro": "^1.0.3",
|
|
40
|
-
"@jx3box/jx3box-talent": "^1.3.12",
|
|
41
38
|
"@tinymce/tinymce-vue": "^5.1.1",
|
|
42
39
|
"@vueuse/core": "^9.13.0",
|
|
43
40
|
"@vueuse/head": "^0.7.6",
|
|
@@ -51,9 +48,11 @@
|
|
|
51
48
|
"katex": "^0.16.9",
|
|
52
49
|
"lodash": "^4.17.21",
|
|
53
50
|
"mitt": "^3.0.1",
|
|
51
|
+
"postcss-safe-parser": "^7.0.1",
|
|
54
52
|
"qrcode.vue": "^3.3.4",
|
|
55
53
|
"sortablejs": "^1.15.0",
|
|
56
54
|
"url": "^0.11.3",
|
|
55
|
+
"v-code-diff": "^1.13.1",
|
|
57
56
|
"viewerjs": "^1.11.6",
|
|
58
57
|
"vue": "^3.2.13",
|
|
59
58
|
"vue-i18n": "^9.14.4",
|
|
@@ -62,6 +61,10 @@
|
|
|
62
61
|
"devDependencies": {
|
|
63
62
|
"@babel/core": "^7.12.16",
|
|
64
63
|
"@babel/eslint-parser": "^7.28.6",
|
|
64
|
+
"@jx3box/jx3box-editor": "^3.0.6",
|
|
65
|
+
"@jx3box/jx3box-emotion": "^1.3.0",
|
|
66
|
+
"@jx3box/jx3box-macro": "^1.0.3",
|
|
67
|
+
"@jx3box/jx3box-talent": "^1.3.12",
|
|
65
68
|
"@storybook/addon-essentials": "^8.6.18",
|
|
66
69
|
"@storybook/addon-interactions": "^8.6.18",
|
|
67
70
|
"@storybook/test": "^8.6.18",
|
package/service/cms.js
CHANGED
|
@@ -5,6 +5,11 @@ function getPostAuthors(post_id) {
|
|
|
5
5
|
return $cms({ mute: true }).get(`/api/cms/post/${post_id}/authors`);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
+
// 获取文章内容
|
|
9
|
+
function getPost(post_id) {
|
|
10
|
+
return $cms().get(`/api/cms/post/${post_id}`)
|
|
11
|
+
}
|
|
12
|
+
|
|
8
13
|
function uploadImage(formData) {
|
|
9
14
|
return $cms().post(`/api/cms/upload/avatar`, formData);
|
|
10
15
|
}
|
|
@@ -63,6 +68,20 @@ function getConfig(params) {
|
|
|
63
68
|
});
|
|
64
69
|
}
|
|
65
70
|
|
|
71
|
+
// 获取用户config
|
|
72
|
+
function getUserConfig(params) {
|
|
73
|
+
return $cms()
|
|
74
|
+
.get(`/api/cms/user/conf`, { params })
|
|
75
|
+
.then((res) => {
|
|
76
|
+
return res.data.data;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// 设置用户config
|
|
81
|
+
function setUserConfig(data) {
|
|
82
|
+
return $cms().put(`/api/cms/user/conf`, data);
|
|
83
|
+
}
|
|
84
|
+
|
|
66
85
|
// 获取用户meta
|
|
67
86
|
function getUserMeta(params) {
|
|
68
87
|
return $cms()
|
|
@@ -115,6 +134,7 @@ function getUserPermission() {
|
|
|
115
134
|
}
|
|
116
135
|
|
|
117
136
|
export {
|
|
137
|
+
getPost,
|
|
118
138
|
getPostAuthors,
|
|
119
139
|
uploadImage,
|
|
120
140
|
upload,
|
|
@@ -134,4 +154,6 @@ export {
|
|
|
134
154
|
uploadFile,
|
|
135
155
|
refreshQQBotImage,
|
|
136
156
|
getUserPermission,
|
|
157
|
+
getUserConfig,
|
|
158
|
+
setUserConfig,
|
|
137
159
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { $next } from "@jx3box/jx3box-common/js/api";
|
|
2
|
+
|
|
3
|
+
// 获取提交记录
|
|
4
|
+
export function getCommitHistories(id, params) {
|
|
5
|
+
return $next().get(`/api/next2/userdata/commit-history/content-meta/${id}/commit/history`, {
|
|
6
|
+
params,
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// 通过hash获取提交记录
|
|
11
|
+
export function getCommitByHash(id, hash) {
|
|
12
|
+
return $next().get(`/api/next2/userdata/commit-history/content-meta/${id}/commit/by-hash/${hash}`);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// 提交
|
|
16
|
+
export function commitHistory(id, data) {
|
|
17
|
+
return $next().post(`/api/next2/userdata/commit-history/content-meta/${id}/commit`, data);
|
|
18
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { $cms, $next } from "@jx3box/jx3box-common/js/api";
|
|
2
|
+
|
|
3
|
+
const API_PREFIX = `/api/next2`;
|
|
4
|
+
// 获取分类
|
|
5
|
+
export function getTopicBucket(params) {
|
|
6
|
+
return $cms().get(`/api/cms/topic/bucket`, { params });
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export const recoverTopicFromPosts = (data) => {
|
|
10
|
+
return $next().post(`${API_PREFIX}/community/discussion/manage/topic/recover/from/posts`, data);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const updateTopicItem = (id, data) => {
|
|
14
|
+
return $next().put(`${API_PREFIX}/community/discussion/manage/topic/item/${id}/update`, data);
|
|
15
|
+
};
|
|
16
|
+
export const deleteTopic = (id) => {
|
|
17
|
+
return $next().delete(`${API_PREFIX}/community/discussion/manage/topic/item/${id}`);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// status = pass:审核通过, reject:审核不通过 wait:待审核
|
|
21
|
+
export const auditTopic = (id, action) => {
|
|
22
|
+
return $next().put(`${API_PREFIX}/community/discussion/manage/topic/item/${id}/audit/${action}`);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @param {*} id 帖子id
|
|
28
|
+
* @param {*} action 动作 top:置顶,star: 加精, hight: 高亮
|
|
29
|
+
* @param {*} value 1:确认操作, 0:取消操作
|
|
30
|
+
*/
|
|
31
|
+
export const manageTopic = (id, action, value) => {
|
|
32
|
+
return $next().put(`${API_PREFIX}/community/discussion/manage/topic/item/${id}/opt/${action}/${value}`);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const manageTopicAll = (id, data) => {
|
|
36
|
+
return $next().put(`${API_PREFIX}/community/discussion/manage/topic/item/${id}/opt`, data);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export const getTopicDetails = (id) => {
|
|
40
|
+
return $next().get(`${API_PREFIX}/community/discussion/manage/topic/item/${id}`);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// 菜单
|
|
44
|
+
export function getCommunityTags() {
|
|
45
|
+
return $cms()
|
|
46
|
+
.get(`/api/cms/menu-group/community_tags`)
|
|
47
|
+
.then((res) => {
|
|
48
|
+
return res.data.data.menus || [];
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// 获取原帖子
|
|
53
|
+
export const getOriginalPost = (id) => {
|
|
54
|
+
return $cms().get(`/api/cms/manage/post/by-community/${id}`);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// 迁移帖子
|
|
58
|
+
export const migrateCommunityPost = (data) => {
|
|
59
|
+
return $cms().put(`/api/cms/manage/post/migrate`, data);
|
|
60
|
+
};
|
package/service/fav.js
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
import { $next } from "@jx3box/jx3box-common/js/api";
|
|
2
|
-
const $n = $next();
|
|
3
2
|
|
|
4
3
|
function hasFav(post_type, post_id) {
|
|
5
|
-
return $
|
|
4
|
+
return $next().get(`api/article/favorites/is-my/${post_id}/${post_type}`).then((res) => {
|
|
6
5
|
return res.data.data;
|
|
7
6
|
});
|
|
8
7
|
}
|
|
9
8
|
function addFav(post_type, post_id, post_title) {
|
|
10
|
-
return $
|
|
9
|
+
return $next().post(`api/article/favorites/add/${post_id}/${post_type}`, { post_title }).then((res) => {
|
|
11
10
|
return res.data.data;
|
|
12
11
|
});
|
|
13
12
|
}
|
|
14
13
|
function delFav(id) {
|
|
15
|
-
return $
|
|
14
|
+
return $next().delete(`api/article/favorites/my/${id}`);
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
// 稍后再看
|
|
19
18
|
function addWatchLater(data) {
|
|
20
|
-
return $
|
|
19
|
+
return $next().post(`api/next2/userdata/watch-later/item`, data)
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
function delWatchLater(params) {
|
|
24
|
-
return $
|
|
23
|
+
return $next().delete(`api/next2/userdata/watch-later/item`, { params })
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
export { hasFav, addFav, delFav, addWatchLater, delWatchLater };
|