#I3BMNS 代码块高亮,增加判空和状态判断
This commit is contained in:
26
zyplayer-doc-ui/wiki-ui/package-lock.json
generated
26
zyplayer-doc-ui/wiki-ui/package-lock.json
generated
@@ -2898,6 +2898,12 @@
|
|||||||
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
|
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
|
||||||
"dev": true
|
"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": {
|
"supports-color": {
|
||||||
"version": "7.1.0",
|
"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",
|
"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
|
"dev": true
|
||||||
},
|
},
|
||||||
"highlight.js": {
|
"highlight.js": {
|
||||||
"version": "9.16.2",
|
"version": "11.3.1",
|
||||||
"resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.16.2.tgz",
|
"resolved": "https://registry.npmmirror.com/highlight.js/download/highlight.js-11.3.1.tgz",
|
||||||
"integrity": "sha1-aDaNA5/+HGIRvMB+SD2vld4+QD4="
|
"integrity": "sha1-gTB47zqlGcYXAPhP6QRyMcXcMpE="
|
||||||
},
|
},
|
||||||
"highlight.js-async-webpack": {
|
"highlight.js-async-webpack": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
@@ -7009,6 +7015,13 @@
|
|||||||
"highlight.js": "^9.11.0",
|
"highlight.js": "^9.11.0",
|
||||||
"highlight.js-async-webpack": "^1.0.4",
|
"highlight.js-async-webpack": "^1.0.4",
|
||||||
"xss": "^1.0.6"
|
"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": {
|
"md5.js": {
|
||||||
@@ -10800,6 +10813,13 @@
|
|||||||
"integrity": "sha1-1mOeMJZNGsyzFvM7TjJm7cHmAS0=",
|
"integrity": "sha1-1mOeMJZNGsyzFvM7TjJm7cHmAS0=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"highlight.js": "^9.13.1"
|
"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": {
|
"vue-hot-reload-api": {
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
"jquery": "^3.5.1",
|
"jquery": "^3.5.1",
|
||||||
"js-cookie": "^2.2.1",
|
"js-cookie": "^2.2.1",
|
||||||
"mavon-editor": "^2.9.0",
|
"mavon-editor": "^2.9.0",
|
||||||
|
"highlight.js": "^11.3.1",
|
||||||
"pouchdb": "^7.1.1",
|
"pouchdb": "^7.1.1",
|
||||||
"qrcodejs2": "0.0.2",
|
"qrcodejs2": "0.0.2",
|
||||||
"sql-formatter": "^2.3.3",
|
"sql-formatter": "^2.3.3",
|
||||||
|
|||||||
@@ -32,6 +32,18 @@ let vue = new Vue({
|
|||||||
return h(App);
|
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;
|
export default vue;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<div ref="pageContent" class="wiki-page-content">
|
<div ref="pageContent" class="wiki-page-content">
|
||||||
<div v-html="pageShowDetail" class="markdown-body" v-if="wikiPage.editorType == 2"></div>
|
<div v-html="pageShowDetail" class="markdown-body" v-if="wikiPage.editorType == 2" v-highlight></div>
|
||||||
<div v-html="pageShowDetail" class="wang-editor-body" v-else></div>
|
<div v-html="pageShowDetail" class="wang-editor-body" v-else></div>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 40px; font-size: 14px;">
|
<div style="margin-top: 40px; font-size: 14px;">
|
||||||
|
|||||||
@@ -59,7 +59,15 @@ public class WikiPageCommentController {
|
|||||||
public ResponseJson<List<WikiPageCommentVo>> list(WikiPageComment pageComment) {
|
public ResponseJson<List<WikiPageCommentVo>> list(WikiPageComment pageComment) {
|
||||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||||
WikiPage wikiPageSel = wikiPageService.getById(pageComment.getPageId());
|
WikiPage wikiPageSel = wikiPageService.getById(pageComment.getPageId());
|
||||||
|
// 页面已删除
|
||||||
|
if (wikiPageSel == null || Objects.equals(wikiPageSel.getDelFlag(), 1)) {
|
||||||
|
return DocResponseJson.ok();
|
||||||
|
}
|
||||||
WikiSpace wikiSpaceSel = wikiSpaceService.getById(wikiPageSel.getSpaceId());
|
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())) {
|
if (SpaceType.isOthersPrivate(wikiSpaceSel.getType(), currentUser.getUserId(), wikiSpaceSel.getCreateUserId())) {
|
||||||
return DocResponseJson.warn("您没有查看该空间的评论权!");
|
return DocResponseJson.warn("您没有查看该空间的评论权!");
|
||||||
|
|||||||
@@ -115,7 +115,15 @@ public class WikiPageController {
|
|||||||
public ResponseJson<WikiPageContentVo> detail(WikiPage wikiPage) {
|
public ResponseJson<WikiPageContentVo> detail(WikiPage wikiPage) {
|
||||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||||
WikiPage wikiPageSel = wikiPageService.getById(wikiPage.getId());
|
WikiPage wikiPageSel = wikiPageService.getById(wikiPage.getId());
|
||||||
|
// 页面已删除
|
||||||
|
if (wikiPageSel == null || Objects.equals(wikiPageSel.getDelFlag(), 1)) {
|
||||||
|
return DocResponseJson.warn("该页面不存在或已删除!");
|
||||||
|
}
|
||||||
WikiSpace wikiSpaceSel = wikiSpaceService.getById(wikiPageSel.getSpaceId());
|
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())) {
|
if (SpaceType.isOthersPrivate(wikiSpaceSel.getType(), currentUser.getUserId(), wikiSpaceSel.getCreateUserId())) {
|
||||||
return DocResponseJson.warn("您没有权限查看该空间的文章详情!");
|
return DocResponseJson.warn("您没有权限查看该空间的文章详情!");
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文档控制器
|
* 文档控制器
|
||||||
@@ -48,7 +49,15 @@ public class WikiPageHistoryController {
|
|||||||
public ResponseJson<List<WikiPageHistory>> list(Long pageId, Integer pageNum) {
|
public ResponseJson<List<WikiPageHistory>> list(Long pageId, Integer pageNum) {
|
||||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||||
WikiPage wikiPageSel = wikiPageService.getById(pageId);
|
WikiPage wikiPageSel = wikiPageService.getById(pageId);
|
||||||
|
// 私人空间
|
||||||
|
if (wikiPageSel == null || Objects.equals(wikiPageSel.getDelFlag(), 1)) {
|
||||||
|
return DocResponseJson.ok();
|
||||||
|
}
|
||||||
WikiSpace wikiSpaceSel = wikiSpaceService.getById(wikiPageSel.getSpaceId());
|
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())) {
|
if (SpaceType.isOthersPrivate(wikiSpaceSel.getType(), currentUser.getUserId(), wikiSpaceSel.getCreateUserId())) {
|
||||||
return DocResponseJson.warn("您没有权限查看该空间的文章详情!");
|
return DocResponseJson.warn("您没有权限查看该空间的文章详情!");
|
||||||
|
|||||||
Reference in New Issue
Block a user