diff --git a/zyplayer-doc-ui/wiki-ui/package-lock.json b/zyplayer-doc-ui/wiki-ui/package-lock.json index 6746a6d7..d84aa9ae 100644 --- a/zyplayer-doc-ui/wiki-ui/package-lock.json +++ b/zyplayer-doc-ui/wiki-ui/package-lock.json @@ -2898,6 +2898,12 @@ "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true }, + "highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmmirror.com/highlight.js/download/highlight.js-9.18.5.tgz", + "integrity": "sha1-0Yo1mGfzeME41oGe38KorNXymCU=", + "dev": true + }, "supports-color": { "version": "7.1.0", "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz", @@ -5720,9 +5726,9 @@ "dev": true }, "highlight.js": { - "version": "9.16.2", - "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.16.2.tgz", - "integrity": "sha1-aDaNA5/+HGIRvMB+SD2vld4+QD4=" + "version": "11.3.1", + "resolved": "https://registry.npmmirror.com/highlight.js/download/highlight.js-11.3.1.tgz", + "integrity": "sha1-gTB47zqlGcYXAPhP6QRyMcXcMpE=" }, "highlight.js-async-webpack": { "version": "1.0.4", @@ -7009,6 +7015,13 @@ "highlight.js": "^9.11.0", "highlight.js-async-webpack": "^1.0.4", "xss": "^1.0.6" + }, + "dependencies": { + "highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmmirror.com/highlight.js/download/highlight.js-9.18.5.tgz", + "integrity": "sha1-0Yo1mGfzeME41oGe38KorNXymCU=" + } } }, "md5.js": { @@ -10800,6 +10813,13 @@ "integrity": "sha1-1mOeMJZNGsyzFvM7TjJm7cHmAS0=", "requires": { "highlight.js": "^9.13.1" + }, + "dependencies": { + "highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmmirror.com/highlight.js/download/highlight.js-9.18.5.tgz", + "integrity": "sha1-0Yo1mGfzeME41oGe38KorNXymCU=" + } } }, "vue-hot-reload-api": { diff --git a/zyplayer-doc-ui/wiki-ui/package.json b/zyplayer-doc-ui/wiki-ui/package.json index 23abbcb0..56111fc2 100644 --- a/zyplayer-doc-ui/wiki-ui/package.json +++ b/zyplayer-doc-ui/wiki-ui/package.json @@ -14,6 +14,7 @@ "jquery": "^3.5.1", "js-cookie": "^2.2.1", "mavon-editor": "^2.9.0", + "highlight.js": "^11.3.1", "pouchdb": "^7.1.1", "qrcodejs2": "0.0.2", "sql-formatter": "^2.3.3", diff --git a/zyplayer-doc-ui/wiki-ui/src/main.js b/zyplayer-doc-ui/wiki-ui/src/main.js index ee5aff80..5f0ece9e 100644 --- a/zyplayer-doc-ui/wiki-ui/src/main.js +++ b/zyplayer-doc-ui/wiki-ui/src/main.js @@ -32,6 +32,18 @@ let vue = new Vue({ return h(App); } }); + +// 注册一个全局自定义指令 +import hljs from 'highlight.js' +import 'highlight.js/styles/googlecode.css' + +Vue.directive('highlight', function (el) { + let blocks = el.querySelectorAll('pre code'); + blocks.forEach((block) => { + hljs.highlightBlock(block); + }) +}); + export default vue; diff --git a/zyplayer-doc-ui/wiki-ui/src/views/page/Show.vue b/zyplayer-doc-ui/wiki-ui/src/views/page/Show.vue index c8db77cd..97147f9c 100644 --- a/zyplayer-doc-ui/wiki-ui/src/views/page/Show.vue +++ b/zyplayer-doc-ui/wiki-ui/src/views/page/Show.vue @@ -55,7 +55,7 @@
-
+
diff --git a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageCommentController.java b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageCommentController.java index 8b54d3ac..57271f59 100644 --- a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageCommentController.java +++ b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageCommentController.java @@ -59,7 +59,15 @@ public class WikiPageCommentController { public ResponseJson> list(WikiPageComment pageComment) { DocUserDetails currentUser = DocUserUtil.getCurrentUser(); WikiPage wikiPageSel = wikiPageService.getById(pageComment.getPageId()); + // 页面已删除 + if (wikiPageSel == null || Objects.equals(wikiPageSel.getDelFlag(), 1)) { + return DocResponseJson.ok(); + } WikiSpace wikiSpaceSel = wikiSpaceService.getById(wikiPageSel.getSpaceId()); + // 空间已删除 + if (wikiSpaceSel == null || Objects.equals(wikiSpaceSel.getDelFlag(), 1)) { + return DocResponseJson.ok(); + } // 私人空间 if (SpaceType.isOthersPrivate(wikiSpaceSel.getType(), currentUser.getUserId(), wikiSpaceSel.getCreateUserId())) { return DocResponseJson.warn("您没有查看该空间的评论权!"); diff --git a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java index dce1c304..c41c1651 100644 --- a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java +++ b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java @@ -115,7 +115,15 @@ public class WikiPageController { public ResponseJson detail(WikiPage wikiPage) { DocUserDetails currentUser = DocUserUtil.getCurrentUser(); WikiPage wikiPageSel = wikiPageService.getById(wikiPage.getId()); + // 页面已删除 + if (wikiPageSel == null || Objects.equals(wikiPageSel.getDelFlag(), 1)) { + return DocResponseJson.warn("该页面不存在或已删除!"); + } WikiSpace wikiSpaceSel = wikiSpaceService.getById(wikiPageSel.getSpaceId()); + // 空间已删除 + if (wikiSpaceSel == null || Objects.equals(wikiSpaceSel.getDelFlag(), 1)) { + return DocResponseJson.warn("该页面不存在或已删除!"); + } // 私人空间 if (SpaceType.isOthersPrivate(wikiSpaceSel.getType(), currentUser.getUserId(), wikiSpaceSel.getCreateUserId())) { return DocResponseJson.warn("您没有权限查看该空间的文章详情!"); diff --git a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageHistoryController.java b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageHistoryController.java index bcaeb65c..efc58398 100644 --- a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageHistoryController.java +++ b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageHistoryController.java @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; +import java.util.Objects; /** * 文档控制器 @@ -48,7 +49,15 @@ public class WikiPageHistoryController { public ResponseJson> list(Long pageId, Integer pageNum) { DocUserDetails currentUser = DocUserUtil.getCurrentUser(); WikiPage wikiPageSel = wikiPageService.getById(pageId); + // 私人空间 + if (wikiPageSel == null || Objects.equals(wikiPageSel.getDelFlag(), 1)) { + return DocResponseJson.ok(); + } WikiSpace wikiSpaceSel = wikiSpaceService.getById(wikiPageSel.getSpaceId()); + // 空间已删除 + if (wikiSpaceSel == null || Objects.equals(wikiSpaceSel.getDelFlag(), 1)) { + return DocResponseJson.ok(); + } // 私人空间 if (SpaceType.isOthersPrivate(wikiSpaceSel.getType(), currentUser.getUserId(), wikiSpaceSel.getCreateUserId())) { return DocResponseJson.warn("您没有权限查看该空间的文章详情!");