From 5ca5feb9e8b60b56054791bd77ddd35701870cd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=AE=E5=85=89=EF=BC=9A=E5=9F=8E=E4=B8=AD=E5=9F=8E?= <806783409@qq.com> Date: Sat, 9 Mar 2019 22:23:30 +0800 Subject: [PATCH] =?UTF-8?q?wiki=E6=96=87=E6=A1=A3=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=B8=8D=E5=8F=AF=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/manage/entity/WikiPage.java | 22 ++++-- .../repository/manage/entity/WikiSpace.java | 15 +++- .../manage/mapper/WikiPageMapper.java | 2 +- .../manage/mapper/WikiSpaceMapper.java | 2 +- .../support/generator/CodeGenerator.java | 2 +- .../data/service/manage/WikiPageService.java | 2 +- .../data/service/manage/WikiSpaceService.java | 2 +- .../manage/impl/WikiPageServiceImpl.java | 2 +- .../manage/impl/WikiSpaceServiceImpl.java | 2 +- zyplayer-doc-manage/pom.xml | 2 +- zyplayer-doc-swagger/pom.xml | 2 +- .../webjars/zpages/globalParamConfig.html | 2 +- .../wiki/controller/WikiPageController.java | 5 ++ .../wiki/controller/WikiSpaceController.java | 4 ++ .../src/main/resources/doc-wiki.html | 69 ++++++++++++++----- 15 files changed, 102 insertions(+), 33 deletions(-) diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiPage.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiPage.java index 5dad0bbc..aada8b65 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiPage.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiPage.java @@ -1,18 +1,17 @@ package com.zyplayer.doc.data.repository.manage.entity; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; - -import java.io.Serializable; import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; /** *

- * + * *

* * @author 暮光:城中城 - * @since 2019-03-05 + * @since 2019-03-09 */ public class WikiPage implements Serializable { @@ -49,6 +48,11 @@ public class WikiPage implements Serializable { */ private Integer zanNum; + /** + * 编辑类型 0=可编辑 1=不允许编辑 + */ + private Integer editType; + /** * 创建人ID */ @@ -126,6 +130,13 @@ public class WikiPage implements Serializable { public void setZanNum(Integer zanNum) { this.zanNum = zanNum; } + public Integer getEditType() { + return editType; + } + + public void setEditType(Integer editType) { + this.editType = editType; + } public Long getCreateUserId() { return createUserId; } @@ -185,6 +196,7 @@ public class WikiPage implements Serializable { ", parentId=" + parentId + ", nodeType=" + nodeType + ", zanNum=" + zanNum + + ", editType=" + editType + ", createUserId=" + createUserId + ", createUserName=" + createUserName + ", createTime=" + createTime + diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiSpace.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiSpace.java index d63eeb13..41808a01 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiSpace.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiSpace.java @@ -11,7 +11,7 @@ import java.io.Serializable; *

* * @author 暮光:城中城 - * @since 2019-03-08 + * @since 2019-03-09 */ public class WikiSpace implements Serializable { @@ -38,6 +38,11 @@ public class WikiSpace implements Serializable { */ private String spaceExplain; + /** + * 编辑类型 0=可编辑 1=不允许编辑 + */ + private Integer editType; + /** * 创建人ID */ @@ -86,6 +91,13 @@ public class WikiSpace implements Serializable { public void setSpaceExplain(String spaceExplain) { this.spaceExplain = spaceExplain; } + public Integer getEditType() { + return editType; + } + + public void setEditType(Integer editType) { + this.editType = editType; + } public Long getCreateUserId() { return createUserId; } @@ -122,6 +134,7 @@ public class WikiSpace implements Serializable { ", name=" + name + ", type=" + type + ", spaceExplain=" + spaceExplain + + ", editType=" + editType + ", createUserId=" + createUserId + ", createUserName=" + createUserName + ", createTime=" + createTime + diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/WikiPageMapper.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/WikiPageMapper.java index e739e8a1..fcac7c85 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/WikiPageMapper.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/WikiPageMapper.java @@ -11,7 +11,7 @@ import org.apache.ibatis.annotations.Update; *

* * @author 暮光:城中城 - * @since 2019-03-05 + * @since 2019-03-09 */ public interface WikiPageMapper extends BaseMapper { diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/WikiSpaceMapper.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/WikiSpaceMapper.java index 5f58ab43..15b0729b 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/WikiSpaceMapper.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/WikiSpaceMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; *

* * @author 暮光:城中城 - * @since 2019-03-08 + * @since 2019-03-09 */ public interface WikiSpaceMapper extends BaseMapper { diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/support/generator/CodeGenerator.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/support/generator/CodeGenerator.java index 442af51a..2f8bdf45 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/support/generator/CodeGenerator.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/support/generator/CodeGenerator.java @@ -19,7 +19,7 @@ public class CodeGenerator { final String moduleName = "manage"; // final String[] tableName = { "zyplayer_storage", "auth_info", "user_auth", "user_info" }; // final String[] tableName = { "wiki_space", "wiki_page", "wiki_page_content", "wiki_page_file", "wiki_page_comment", "wiki_page_zan" }; - final String[] tableName = { "wiki_space" }; + final String[] tableName = { "wiki_space", "wiki_page" }; // 代码生成器 AutoGenerator mpg = new AutoGenerator(); diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/WikiPageService.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/WikiPageService.java index 9e094916..a482c486 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/WikiPageService.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/WikiPageService.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService; *

* * @author 暮光:城中城 - * @since 2019-03-05 + * @since 2019-03-09 */ public interface WikiPageService extends IService { diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/WikiSpaceService.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/WikiSpaceService.java index 28d08b2e..cfd3f234 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/WikiSpaceService.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/WikiSpaceService.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService; *

* * @author 暮光:城中城 - * @since 2019-03-08 + * @since 2019-03-09 */ public interface WikiSpaceService extends IService { diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiPageServiceImpl.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiPageServiceImpl.java index 037f7e34..7d8a6ad0 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiPageServiceImpl.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiPageServiceImpl.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; *

* * @author 暮光:城中城 - * @since 2019-03-05 + * @since 2019-03-09 */ @Service public class WikiPageServiceImpl extends ServiceImpl implements WikiPageService { diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiSpaceServiceImpl.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiSpaceServiceImpl.java index f0ec885e..bca00dbd 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiSpaceServiceImpl.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiSpaceServiceImpl.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; *

* * @author 暮光:城中城 - * @since 2019-03-08 + * @since 2019-03-09 */ @Service public class WikiSpaceServiceImpl extends ServiceImpl implements WikiSpaceService { diff --git a/zyplayer-doc-manage/pom.xml b/zyplayer-doc-manage/pom.xml index 4d04d228..4d91f6a6 100644 --- a/zyplayer-doc-manage/pom.xml +++ b/zyplayer-doc-manage/pom.xml @@ -22,7 +22,7 @@ 1.8 3.0.6 1.2.53 - 2.0.1 + 1.0.1 2.0 6.1.0 1.1.9 diff --git a/zyplayer-doc-swagger/pom.xml b/zyplayer-doc-swagger/pom.xml index 958f204a..da68e6d1 100644 --- a/zyplayer-doc-swagger/pom.xml +++ b/zyplayer-doc-swagger/pom.xml @@ -6,7 +6,7 @@ com.zyplayer zyplayer-doc-swagger - 2.0.1 + 1.0.1 jar zyplayer-doc-swagger zyplayer-doc-swagger是swagger-ui的一个前端实现,使用简单、解析速度快、走心的设计,支持多项目同时展示,多种文档目录的展示方案,多种自定义配置,满足各种使用习惯 diff --git a/zyplayer-doc-swagger/src/main/resources/webjars/zpages/globalParamConfig.html b/zyplayer-doc-swagger/src/main/resources/webjars/zpages/globalParamConfig.html index ba05daff..ed8dce49 100644 --- a/zyplayer-doc-swagger/src/main/resources/webjars/zpages/globalParamConfig.html +++ b/zyplayer-doc-swagger/src/main/resources/webjars/zpages/globalParamConfig.html @@ -36,7 +36,7 @@ - + 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 fe62e191..bd91de59 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 @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 文档控制器 @@ -94,6 +95,10 @@ public class WikiPageController { Long id = wikiPage.getId(); if (id != null && id > 0) { + WikiPage wikiPageSel = wikiPageService.getById(id); + if (wikiPageSel == null || Objects.equals(wikiPageSel.getEditType(), 1)) { + return DocResponseJson.warn("当前页面不允许编辑!"); + } wikiPage.setUpdateTime(new Date()); wikiPage.setUpdateUserId(currentUser.getUserId()); wikiPage.setUpdateUserName(currentUser.getUsername()); diff --git a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiSpaceController.java b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiSpaceController.java index 02382345..d592f85b 100644 --- a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiSpaceController.java +++ b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiSpaceController.java @@ -53,6 +53,10 @@ public class WikiSpaceController { public ResponseJson update(WikiSpace wikiSpace) { Long id = wikiSpace.getId(); if (id != null && id > 0) { + WikiSpace wikiSpaceSel = wikiSpaceService.getById(id); + if (Objects.equals(wikiSpaceSel.getEditType(), 1)) { + return DocResponseJson.warn("当前空间不允许编辑!"); + } wikiSpaceService.updateById(wikiSpace); } else { DocUserDetails currentUser = DocUserUtil.getCurrentUser(); diff --git a/zyplayer-doc-wiki/src/main/resources/doc-wiki.html b/zyplayer-doc-wiki/src/main/resources/doc-wiki.html index f9659ffc..a4025955 100644 --- a/zyplayer-doc-wiki/src/main/resources/doc-wiki.html +++ b/zyplayer-doc-wiki/src/main/resources/doc-wiki.html @@ -16,7 +16,8 @@ - 我的资料 + 关于 + 我的资料 退出登录 @@ -29,9 +30,9 @@ - + - + @@ -39,11 +40,12 @@
创建文档
- + + @node-expand="handleNodeExpand" draggable @node-drop="handlePageDrop" + ref="wikiPageTree" :filter-node-method="filterPageNode" highlight-current> @@ -57,6 +59,7 @@
编辑 访问权限 + 删除
@@ -91,7 +94,7 @@
- + 成为第一个赞同者 @@ -128,14 +131,17 @@
提交评论 - 取消 + 取消回复
-
+
+ 编辑:{{lastClickNode.nodePath}} +
+
父级:{{lastClickNode.nodePath || '/'}}  - + 根目录
@@ -148,7 +154,7 @@ - + @@ -164,7 +170,7 @@ - + @@ -277,6 +283,10 @@ this.loadSpaceList(); }, methods: { + filterPageNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, editSpaceInfo(row) { app.newSpaceForm = {id: row.id, name: row.name, spaceExplain: row.spaceExplain}; app.newSpaceDialogVisible = true; @@ -315,6 +325,8 @@ console.log("command:" + command); if (command == 'userSignOut') { this.userSignOut(); + } else if (command == 'aboutDoc') { + app.aboutDialogVisible = true; } else { Toast.notOpen(); } @@ -345,6 +357,7 @@ }); app.nowSpaceId = json.data.id; app.choiceSpace = app.nowSpaceId; + app.rightContentType = 0; app.doGetPageList(null); } app.newSpaceForm = {id: '', name: '', spaceExplain: ''}; @@ -428,6 +441,22 @@ notOpen() { Toast.notOpen(); }, + deleteWikiPage() { + this.$confirm('确定要删除此页面吗?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + var param = {id: app.wikiPage.id, delFlag: 1}; + ajaxTemp("zyplayer-doc-wiki/page/update", "post", "json", param, function (json) { + if (validateResult(json)) { + app.rightContentType = 0; + app.wikiPage = {}; + app.doGetPageList(null); + } + }); + }); + }, editWiki() { this.rightContentType = 2; this.newPageId = app.wikiPage.id; @@ -435,10 +464,14 @@ page.newPageContentEditor.txt.html(app.pageContent.content || ""); }, createWiki() { - this.newPageId = ""; - this.newPageTitle = ""; - page.newPageContentEditor.txt.html(""); - this.rightContentType = 2; + if (app.nowSpaceId > 0) { + this.newPageId = ""; + this.newPageTitle = ""; + page.newPageContentEditor.txt.html(""); + this.rightContentType = 2; + } else { + Toast.warn("请先选择或创建空间"); + } }, createWikiCancel() { if (isEmpty(this.lastClickNode.label)) { @@ -558,7 +591,7 @@ return color; }, searchByKeywords() { - //app.pathIndex = createTreeViewByTreeWithMerge(app.dubboDocList, app.searchKeywords); + this.$refs.wikiPageTree.filter(app.searchKeywords); }, doGetPageList(parentId, node) { var nodePath = ""; @@ -596,6 +629,7 @@ init(){ page.newPageContentEditor = new window.wangEditor('#newPageContentDiv'); page.newPageContentEditor.customConfig.uploadImgServer = 'zyplayer-doc-wiki/common/upload'; + page.newPageContentEditor.customConfig.zIndex = 100; page.newPageContentEditor.create(); } } @@ -621,7 +655,8 @@ .upload-page-file .el-upload-list{display: none;} .is-link{color: #1e88e5;cursor: pointer;} - + /*编辑框高度*/ + #newPageContentDiv .w-e-text-container{height: 600px !important;} /*评论*/ .comment-box .head{ float: left;background-color: #ccc;border-radius: 50%;margin-right: 10px;