diff --git a/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/repository/manage/dao/ZyplayerStorageMapper.java b/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/repository/manage/dao/ZyplayerStorageMapper.java deleted file mode 100644 index 6ba8098c..00000000 --- a/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/repository/manage/dao/ZyplayerStorageMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.zyplayer.doc.manage.repository.support.plus.manage.mapper; - -import com.zyplayer.doc.manage.repository.support.plus.manage.entity.ZyplayerStorage; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - *
- * Mapper 接口 - *
- * - * @author 暮光:城中城 - * @since 2018-11-27 - */ -public interface ZyplayerStorageMapper extends BaseMapper- * Mapper 接口 - *
- * - * @author 暮光:城中城 - * @since 2018-11-27 - */ -public interface ZyplayerStorageMapper extends BaseMapper- * - *
- * - * @author 暮光:城中城 - * @since 2018-11-27 - */ -public class ZyplayerStorage implements Serializable { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - - private String docKey; - - private String docValue; - - private Date creationTime; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - public String getDocKey() { - return docKey; - } - - public void setDocKey(String docKey) { - this.docKey = docKey; - } - public String getDocValue() { - return docValue; - } - - public void setDocValue(String docValue) { - this.docValue = docValue; - } - public Date getCreationTime() { - return creationTime; - } - - public void setCreationTime(Date creationTime) { - this.creationTime = creationTime; - } - - @Override - public String toString() { - return "ZyplayerStorage{" + - "id=" + id + - ", docKey=" + docKey + - ", docValue=" + docValue + - ", creationTime=" + creationTime + - "}"; - } -} diff --git a/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/repository/manage/entity/ZyplayerStorageMapper.xml b/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/repository/manage/entity/ZyplayerStorageMapper.xml deleted file mode 100644 index 07efc9c6..00000000 --- a/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/repository/manage/entity/ZyplayerStorageMapper.xml +++ /dev/null @@ -1,67 +0,0 @@ -package com.zyplayer.doc.manage.repository.support.plus.manage.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; - -/** - *- * - *
- * - * @author 暮光:城中城 - * @since 2018-11-27 - */ -public class ZyplayerStorage implements Serializable { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - - private String docKey; - - private String docValue; - - private Date creationTime; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - public String getDocKey() { - return docKey; - } - - public void setDocKey(String docKey) { - this.docKey = docKey; - } - public String getDocValue() { - return docValue; - } - - public void setDocValue(String docValue) { - this.docValue = docValue; - } - public Date getCreationTime() { - return creationTime; - } - - public void setCreationTime(Date creationTime) { - this.creationTime = creationTime; - } - - @Override - public String toString() { - return "ZyplayerStorage{" + - "id=" + id + - ", docKey=" + docKey + - ", docValue=" + docValue + - ", creationTime=" + creationTime + - "}"; - } -} diff --git a/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/service/manage/ZyplayerStorageMapper.java b/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/service/manage/ZyplayerStorageMapper.java deleted file mode 100644 index 4c5d0d80..00000000 --- a/zyplayer-doc-manage/src/main/com/zyplayer/doc/manage/service/manage/ZyplayerStorageMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.zyplayer.doc.manage.repository.support.plus.manage.service; - -import com.zyplayer.doc.manage.repository.support.plus.manage.entity.ZyplayerStorage; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - *- * 服务类 - *
- * - * @author 暮光:城中城 - * @since 2018-11-27 - */ -public interface ZyplayerStorageService extends IService- * 服务类 - *
- * - * @author 暮光:城中城 - * @since 2018-11-27 - */ -public interface ZyplayerStorageService extends IService- * 服务实现类 - *
- * - * @author 暮光:城中城 - * @since 2018-11-27 - */ -@Service -public class ZyplayerStorageServiceImpl extends ServiceImpl- * 服务实现类 - *
- * - * @author 暮光:城中城 - * @since 2018-11-27 - */ -@Service -public class ZyplayerStorageServiceImpl extends ServiceImpl+ * 例:笔者的公司后端人较少,一个需求需要10个接口,需求分析完后首先就把接口、参数、返回值定义好,然后一个个的去实现。 + * 也许需要10天才能写完,但前端两天就写好了,急需数据看效果,这时就让他们自己去设置模拟值,加上参数自己测试好。 + * 而不是一味的催后台,把各种锅丢给后端,然后玩自己的去了,浪费各环节等待时间。 + */ +//@Component +public class MgUiTestFilter implements Filter { + + @Autowired + private MgStorageService mgStorageService; + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + // 需要使用模拟值返回的标记 + String mockTestFlag = request.getParameter("mgUiTestFlag"); + if (!"1".equals(mockTestFlag)) { + // 未开启直接跳过 + chain.doFilter(request, response); + return; + } + // 如果是模拟请求则直接返回模拟值 + HttpServletRequest httpServletRequest = (HttpServletRequest) request; + String requestUrl = httpServletRequest.getRequestURI(); + // 文档页面存,这里取,就这么简单。。。 + // 存取位置和文档的一致,"p-simulation-response-" + requestUrl 不能修改,因为存就是这样存的 + String cacheResult = mgStorageService.get("p-simulation-response-" + requestUrl); + if (cacheResult != null) { + HttpServletResponse servletResponse = (HttpServletResponse) response; + servletResponse.setStatus(200); + // response.setContentType("application/json"); + // 模拟返回支持跨域访问,正式对接需要自己协调怎么处理跨域问题 + servletResponse.addHeader("Access-Control-Allow-Origin", "*"); + servletResponse.setContentType("text/html"); + servletResponse.setCharacterEncoding("UTF-8"); + servletResponse.setHeader("Cache-Control", "no-cache, must-revalidate"); + servletResponse.getWriter().write(cacheResult); + } + } + + @Override + public void destroy() { + + } + +} diff --git a/zyplayer-doc-swagger/src/main/resources/document.html b/zyplayer-doc-swagger/src/main/resources/document.html index ae5e2324..20925aea 100644 --- a/zyplayer-doc-swagger/src/main/resources/document.html +++ b/zyplayer-doc-swagger/src/main/resources/document.html @@ -297,13 +297,21 @@
| 功能说明 | +
+ 访问接口时增加参数:mgUiTestFlag=1,即可返回下面提交的模拟返回值 + 需要被访问项目增加 MgUiTestFilter.java + 过滤器才能使用,里面逻辑很简单,一看就懂~ + |
+ |
| 接口地址 | ||
| 测试地址 | -+ | |
| 返回内容 | diff --git a/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui-cache-keys.js b/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui-cache-keys.js index 95b33d24..43a872cc 100644 --- a/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui-cache-keys.js +++ b/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui-cache-keys.js @@ -1,3 +1,6 @@ +/** + * 页面中所有使用到的缓存key必须定义在这里 + */ var cacheKeys = { userSettings: 'userSettings', swaggerResourcesList: 'swagger-resources-list', diff --git a/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui-export.js b/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui-export.js index d0bf1d04..71a0935e 100644 --- a/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui-export.js +++ b/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui-export.js @@ -1,3 +1,7 @@ +/** + * 所有需要iframe页面调用的接口必须定义在这里 + * 通过getExport()来吊起父页面的这些接口 + */ var exports = { regeneratePathTree: function(){ // 定义在mg-ui.js,用于重新生成文档树目录 diff --git a/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui.js b/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui.js index b2926db3..a663915c 100644 --- a/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui.js +++ b/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/mg-ui.js @@ -1,8 +1,8 @@ /** - * zyplayer-doc-swagger是swagger-ui的一个前端实现,使用简单、解析速度快、走心的设计 + * zyplayer-doc-swagger是swagger的一个前端实现,使用简单、解析速度快、走心的设计 * 支持多项目同时展示,多种文档目录的展示方案,多种自定义配置,满足各种使用习惯。 * 使用中您有任何的意见和建议都可到源码地址处反馈哦! - * git地址:https://gitee.com/zyplayer/zyplayer-doc-swagger + * git地址:https://gitee.com/zyplayer/zyplayer-doc * @author 暮光:城中城 * @since 2018年5月20日 */ @@ -35,20 +35,8 @@ var defaultUserSettings = { prevWNow : 360 }; -var swaggerApiDocsArr = []; - var requestParamObj = {}; -// 模板示例 -var requestParamObjTemp = { - taskId: { - value: 1,// 参数值 - paramType: 'string',// 参数类型,string int boolean - required: true,// 是否必填 - paramIn: 'body',// 参数位置,body query header - paramDesc: '参数说明' - } -}; - +// 文档管理的tables var rightContentTabs; /** @@ -169,6 +157,7 @@ $("#searchDocInput").keyup(function(e) { searchDoc(); } }); + /** * 搜索按钮点击 */ @@ -177,7 +166,7 @@ $("#searchDocBt").click(function(){ }); /** - * 导出文档 + * 导出文档-子页面调用-文档地址管理 */ function exportDocument(){ // 清空 @@ -195,6 +184,9 @@ function exportDocument(){ $('#exportDocumentModal').modal('ajustPosition', 'fit'); } +/** + * 确认导出 + */ $("#doExportBtn").click(function(){ var jsonStrAll = ""; var mgUiDataArr = "var mgUiDataArr = ["; @@ -268,22 +260,6 @@ $("#choiseDocBtn").click(function(){ $('#choiseDocModal').modal('hide'); }); -/** - * 增加文档的保存按钮 - */ -$("#addNewDocumentBtn").click(function(){ - var addNewDocumentInput = $("#addNewDocumentInput").val(); - if(isEmpty(addNewDocumentInput)) { - Toast.error("地址不可以为空");return; - } - projectLoadingIndex = 1; - ajaxTemp("swagger-mg-ui/document/addSwaggerResources", "post", "json", {resourcesUrl: addNewDocumentInput}, function(json){ - if(validateResult(json)) { - document.location.reload(); - } - }); -}); - /** * 主页li点击事件,展示主页 */ @@ -578,7 +554,10 @@ function searchDoc() { // } } -// 重新生成文档 +/** + * 重新生成文档 + */ + function regeneratePathTree(keywords){ projectTreeIdIndex = 1; treePathDataMap = new Map(); @@ -909,39 +888,7 @@ function documentLoadFinish() { globalLoadingMessager.hide(); }, 1000); $('#apiPathTree .projects').tree(); - $('#homePageDashboard').dashboard({draggable: false, - // 修改排序 - afterOrdered:function(newOrders){ - /*//console.log(newOrders); - var tempProjects = [], nowIndex = 0, settingTableIndex = 1; - Object.keys(newOrders).forEach(function(key){ - if(key == 1) { - settingTableIndex = newOrders[key]; - return; - } - var subCount = (newOrders[key] > settingTableIndex) ? 2 : 1; - tempProjects[newOrders[key] - subCount] = key; - }); - userSettings.projects = tempProjects; - storeUserSettings(); - */ - // 应该是控件问题,拖动之后单选项被值空了,需要重新设置选中,而且还必须等一会设置才有效果。。 - setTimeout("updateUserSettingsUi();", 500); - }, - // 修改大小 - onResize:function(){ - - }, - // 被移除 - afterPanelRemoved:function(id){ - //console.log(id); - ajaxTemp("swagger-mg-ui/document/deleteSwaggerDoc", "post", "json", {docUrl: id}, function(json){ - if(validateResult(json)) { - document.location.reload(); - } - }); - }, - }); + $('#homePageDashboard').dashboard({draggable: false}); } /** diff --git a/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/toast.js b/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/toast.js index 8de406a8..e826cb07 100644 --- a/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/toast.js +++ b/zyplayer-doc-swagger/src/main/resources/webjars/mg-ui/js/toast.js @@ -1,40 +1,40 @@ -/** - * 提示工具类 - * @author 暮光:城中城 - * @since 2017年5月7日 - */ -var Toast = { - notOpen:function(){ - var data = { - message:"该功能暂未开放,敬请期待!", - icon: 'exclamation-sign',type:"warning", - }; - this.show(data); - }, - success:function(msg, time){ - var data = { - message:msg,time:time, - icon: 'check-circle-o',type:'success', - }; - this.show(data); - }, - warn:function(msg, time){ - var data = { - message:msg,time:time, - icon: 'exclamation-sign',type:'warning', - }; - this.show(data); - }, - error:function(msg, time){ - var data = { - message:msg,time:time, - icon: 'exclamation-sign',type:'danger', - }; - this.show(data); - }, - show:function(data){ - data.time = isEmpty(data.time)?2000:data.time; - data.placement = isEmpty(data.placement)?'top':data.placement; - new $.zui.Messager(data.message, data).show(); - } +/** + * 提示工具类 + * @author 暮光:城中城 + * @since 2017年5月7日 + */ +var Toast = { + notOpen: function () { + var data = { + message: "该功能暂未开放,敬请期待!", + icon: 'exclamation-sign', type: "warning", + }; + this.show(data); + }, + success: function (msg, time) { + var data = { + message: msg, time: time, + icon: 'check-circle-o', type: 'success', + }; + this.show(data); + }, + warn: function (msg, time) { + var data = { + message: msg, time: time, + icon: 'exclamation-sign', type: 'warning', + }; + this.show(data); + }, + error: function (msg, time) { + var data = { + message: msg, time: time, + icon: 'exclamation-sign', type: 'danger', + }; + this.show(data); + }, + show: function (data) { + data.time = isEmpty(data.time) ? 2000 : data.time; + data.placement = isEmpty(data.placement) ? 'top' : data.placement; + new $.zui.Messager(data.message, data).show(); + } } \ No newline at end of file