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("您没有权限查看该空间的文章详情!");