swagger文档管理改为API接口文档管理

This commit is contained in:
暮光:城中城
2021-11-26 23:51:14 +08:00
parent 4408525b45
commit 91aef6f9f4
165 changed files with 3892 additions and 5744 deletions

View File

@@ -1,24 +1,46 @@
# zyplayer-doc
## 项目介绍
zyplayer-doc是一款在线文档工具现有swagger 文档、dubbo文档、数据库文档、WIKI文档等管理端具有人员管理、权限管理功能等功能
项目后端使用spring-boot、mybatis-plus等框架前端使用zui、Vue、element-ui等框架。
为开发者服务欢迎有想法的一起来完善给个Star鼓励下呗作为给作者快速更新的动力。
欢迎加群讨论QQ群号466363173
# 项目介绍
zyplayer-doc是一款前后端完全开源的在线文档工具,现有API接口文档Swagger、OpenApi、自建接口、WIKI文档、数据库文档数据库表结构查看管理、SQL执行、Dubbo文档
体验地址:[http://doc.zyplayer.com](http://doc.zyplayer.com/zyplayer-doc-manage/) 账号zyplayer 密码123456
各模块的详细使用文档地址,部署必看
各模块的详细使用文档地址,可参考
[详细部署文档](http://doc.zyplayer.com/zyplayer-doc-manage/doc-wiki#/page/share/view?pageId=1&space=23f3f59a60824d21af9f7c3bbc9bc3cb)
## 功能介绍
### 一、zyplayer-doc-manage 文档管理后台
欢迎有想法的一起来完善如果觉得不错就给个Star鼓励下呗作为给作者快速更新的动力
欢迎加群讨论QQ群号466363173
# 快速启动
## 数据库依赖
你得有一个MySQL数据库建议版本号为5.7.25建库zyplayer_doc_manage再执行脚本建表[全量建表语句.sql](https://gitee.com/zyplayer/zyplayer-doc/blob/master/zyplayer-doc-manage/src/main/resources/sql/全量建表语句.sql)
## main方法启动
1. 修改 zyplayer-doc/zyplayer-doc-manage/src/main/resources/application.yml 配置文件里面的数据库账号密码
2. 执行 com.zyplayer.doc.manage.Application.main 方法启动项目启动后访问http://127.0.0.1:8083/zyplayer-doc-manage/
## jar方式启动
1. 直接下载直接下载编译好的jar打包文件下载地址https://pan.baidu.com/s/1yMmnle01XR4TDjo2hfvw-Q 提取码: 3adf下载最新版后解压
2. 自行编译也可以自己动手编译双击执行zyplayer-doc\build.bat将使用maven编译整个项目为可执行的jar文件编译结果文件放在zyplayer-doc\dist\version 文件夹下如果电脑没有安装maven则需要先安装
3. 修改第一步或第二步结果文件夹下的 application.yml 文件里面数据库帐号密码
4. 双击第一步或第二步结果文件夹下的 startup.bat 启动项目启动后访问http://127.0.0.1:8083/zyplayer-doc-manage/
## Tomcat容器启动
1. 直接下载编译好的war打包文件下载地址https://pan.baidu.com/s/1yMmnle01XR4TDjo2hfvw-Q 提取码: 3adf下载最新版后解压
2. 修改配置文件zyplayer-doc.zip\apache-tomcat\webapps\zyplayer-doc-manage\WEB-INF\classes\application.yml 配置文件里面的数据库账号密码
3. 双击tomcat\bin\startup.bat启动即可
默认登录账号zyplayer 密码123456
# 各模块介绍
## zyplayer-doc-manage 文档管理后台
1. 具有项目模块导航,人员及权限管理功能,分组管理等功能。
2. 集成了本项目内的各个子模块功能,是各模块的协调管理模块。
### 二、zyplayer-doc-db 数据库文档
## zyplayer-doc-db 数据库文档
一款在线管理数据库的工具,你可以将所有的数据源统一管理到这里面,团队间的各成员就不必每人在自己电脑上装一个数据库管理软件,
然后再添加数据源,修改账号密码也可以统一进行修改,新员工进入后对他关心的数据源进行授权即可查看
然后再添加数据源,可以统一修改数据库账号密码而不用群广播通知,新员工进入后对他使用到的数据源进行授权即可使用
1. 支持MySQL、DorisMySQL协议、SQLServer、Oracle、PostgreSQL、Hive、Impala数据源。
2. 支持数据库表、字段文档查看修改表文档导出、建表语句DDL导出、表数据导出。
@@ -27,7 +49,7 @@ zyplayer-doc是一款在线文档工具现有swagger 文档、dubbo文档、
5. 支持库函数和存储过程的增删改查,修改记录查询等。
6. 目标是取代Navicat做一个小而精的开源免费的在线数据库管理工具。
### 三、zyplayer-doc-wiki wiki文档工具
## zyplayer-doc-wiki wiki文档工具
1. 在线管理公司、项目及任意形式的文档
2. 文档支持按空间划分,按人员分组授权,支持空间收藏和空间内的文档开放访问。
3. 文档支持编辑、查看、评论、上传附件、历史版本查看、页面权限控制、文档搜索等功能。
@@ -35,46 +57,38 @@ zyplayer-doc是一款在线文档工具现有swagger 文档、dubbo文档、
5. 本工具使用的开源工具有vue、element-ui、mavon-editor、wangeditor等。
6. 参考学习了Atlassian Confluence文档工具进行开发争取作为该软件的开源免费替代产品同时作为内部文档管理工具最好的存在。
### 四、zyplayer-doc-swagger swagger的UI及整套解决方案
1. 支持swagger文档展示,接口调试,文档导出等,解析速度快,界面设计走心
2. 支持将所有的swagger文档进行统一管理支持全局参数设置请求参数缓存下次自动填充等。
3. 目标是解决swagger官方文档查看及接口调试不方便的问题。
## zyplayer-doc-api API接口文档管理工具
一款支持统一管理Swagger文档、OpenApi文档、自建接口文档的管理工具具有文档查看、接口请求、全局参数管理等功能设计走心前端代码使用最新技术构建每一行代码都是全新手动敲出来的超级简单明了代码简洁美观可读性好、易维护
### 五、zyplayer-doc-dubbo 将dubbo的文档在线化管理
1. 支持Swagger的文档展示接口调试解析速度快界面设计走心。
2. 支持将所有的Swagger文档、OpenApi文档、自建接口文档进行统一管理支持全局参数设置请求参数缓存下次自动填充等。
3. 目标是实现一个平台解决所有项目的接口文档统一管理。
## zyplayer-doc-dubbo 将dubbo的文档在线化管理
1. 支持zookeeper、nacos的注册中心文档获取支持在线调试接口
### 六、其他
## 其他
1. zyplayer-doc-ui 前面各模块的前端UI源码
2. zyplayer-doc-core 一些核心、公用的类
3. zyplayer-doc-data 数据库层面的交互
4. zyplayer-doc-grpc grpc文档工具
5. zyplayer-doc-other 一些测试
## 运行方式
1. 创建数据库zyplayer_doc_manage执行脚本[全量建表语句.sql](https://gitee.com/zyplayer/zyplayer-doc/blob/master/zyplayer-doc-manage/src/main/resources/sql/全量建表语句.sql)
2. 修改zyplayer-doc-manage项目的application.yml配置文件里面的数据库账号密码
3. 启动zyplayer-doc-manage项目访问地址http://127.0.0.1:8083/zyplayer-doc-manage/
更多详细的使用部署文档http://doc.zyplayer.com/zyplayer-doc-manage/doc-wiki#/page/share/view?pageId=1&space=23f3f59a60824d21af9f7c3bbc9bc3cb
#### 界面展示
# 界面展示
控制台页面
![主页面](https://images.gitee.com/uploads/images/2020/0516/125840_d6284954_596905.png "主页面.png")
数据库文档页面
![数据库文档](https://images.gitee.com/uploads/images/2020/0516/130017_254f9559_596905.png "数据库文档.png")
wiki文档页面
WIKI文档页面
![wiki文档](https://images.gitee.com/uploads/images/2020/0516/130119_bc2f5021_596905.png "wiki文档.png")
Swagger主页面
API文档主页面
![主页面](https://images.gitee.com/uploads/images/2021/1120/181101_87903c1f_596905.png "主页面.png")
Swagger文档查看页面
API文档查看页面
![文档查看页面](https://images.gitee.com/uploads/images/2021/1120/181135_0b6034e4_596905.png "文档查看页面.png")
Swagger在线调试页面
API文档在线调试页面
![在线调试页面](https://images.gitee.com/uploads/images/2021/1120/181205_462cb4aa_596905.png "在线调试页面.png")

View File

@@ -25,7 +25,7 @@
<modules>
<module>zyplayer-doc-manage</module>
<module>zyplayer-doc-db</module>
<module>zyplayer-doc-swagger-plus</module>
<module>zyplayer-doc-api</module>
<module>zyplayer-doc-wiki</module>
<module>zyplayer-doc-dubbo</module>
<module>zyplayer-doc-core</module>
@@ -208,12 +208,12 @@
</dependency>
<dependency>
<groupId>com.zyplayer</groupId>
<artifactId>zyplayer-doc-wiki</artifactId>
<artifactId>zyplayer-doc-api</artifactId>
<version>${zyplayer.doc.version}</version>
</dependency>
<dependency>
<groupId>com.zyplayer</groupId>
<artifactId>zyplayer-doc-swagger-plus</artifactId>
<artifactId>zyplayer-doc-wiki</artifactId>
<version>${zyplayer.doc.version}</version>
</dependency>
</dependencies>

View File

@@ -4,10 +4,10 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>zyplayer-doc-swagger-plus</artifactId>
<artifactId>zyplayer-doc-api</artifactId>
<packaging>jar</packaging>
<name>zyplayer-doc-swagger-plus</name>
<description>zyplayer-doc-swagger是swagger-ui的一个前端实现使用简单、解析速度快、走心的设计支持多项目同时展示多种文档目录的展示方案多种自定义配置满足各种使用习惯</description>
<name>zyplayer-doc-api</name>
<description>zyplayer-doc-api是一款接口文档管理系统</description>
<url>https://gitee.com/zyplayer/zyplayer-doc/zyplayer-doc</url>
<developers>
<developer>

View File

@@ -0,0 +1,186 @@
package com.zyplayer.doc.api.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zyplayer.doc.api.framework.utils.SwaggerDocUtil;
import com.zyplayer.doc.api.service.SwaggerHttpRequestService;
import com.zyplayer.doc.core.annotation.AuthMan;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
import com.zyplayer.doc.data.service.manage.ApiDocService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.swagger.web.SwaggerResource;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* 文档控制器
*
* @author 暮光:城中城
* @since 2021年10月16日
*/
@AuthMan
@RestController
@RequestMapping("/doc-api/doc")
public class ApiDocumentController {
private static Logger logger = LoggerFactory.getLogger(ApiDocumentController.class);
@Resource
private ApiDocService swaggerDocService;
@Resource
private SwaggerHttpRequestService swaggerHttpRequestService;
/**
* 获取所有的文档地址
*
* @return 文档内容
* @author 暮光:城中城
* @since 2021年10月16日
*/
@ResponseBody
@PostMapping(value = "/list")
public ResponseJson<List<ApiDoc>> list(ApiDoc apiDoc, Integer pageNum, Integer pageSize) {
IPage<ApiDoc> docList = swaggerDocService.getApiDocList(apiDoc, pageNum, pageSize);
return DocResponseJson.ok(docList);
}
/**
* 获取文档内容
*
* @return 文档内容
* @author 暮光:城中城
* @since 2021年10月16日
*/
@ResponseBody
@PostMapping(value = "/detail")
public ResponseJson<List<ApiDoc>> detail(Long id) {
ApiDoc apiDoc = swaggerDocService.getById(id);
return DocResponseJson.ok(apiDoc);
}
/**
* 添加文档
*
* @return 文档内容
* @author 暮光:城中城
* @since 2021年10月16日
*/
@ResponseBody
@PostMapping(value = "/add")
public ResponseJson<List<ApiDoc>> add(HttpServletRequest request, ApiDoc apiDoc) {
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
apiDoc.setYn(1);
apiDoc.setCreateTime(new Date());
apiDoc.setCreateUserId(currentUser.getUserId());
apiDoc.setCreateUserName(currentUser.getUsername());
// url类型
if (Objects.equals(apiDoc.getDocType(), 1)) {
// UI地址替换为文档json地址
String docUrl = SwaggerDocUtil.replaceSwaggerResources(apiDoc.getDocUrl());
if (SwaggerDocUtil.isSwaggerResources(docUrl)) {
String swaggerDomain = SwaggerDocUtil.getSwaggerResourceDomain(docUrl);
List<SwaggerResource> resourceList;
try {
String resourcesStr = swaggerHttpRequestService.requestSwaggerUrl(request, docUrl, swaggerDomain);
resourceList = JSON.parseArray(resourcesStr, SwaggerResource.class);
} catch (Exception e) {
e.printStackTrace();
return DocResponseJson.warn("解析文档地址失败:" + e.getMessage());
}
if (resourceList == null || resourceList.isEmpty()) {
return DocResponseJson.warn("该地址未找到文档");
}
// 删除原有文档
if (apiDoc.getId() != null) {
swaggerDocService.removeById(apiDoc.getId());
}
// 存明细地址
for (SwaggerResource resource : resourceList) {
apiDoc.setId(null);
apiDoc.setDocUrl(swaggerDomain + resource.getUrl());
apiDoc.setName(resource.getName());
swaggerDocService.save(apiDoc);
}
} else {
swaggerDocService.saveOrUpdate(apiDoc);
}
} else if (Objects.equals(apiDoc.getDocType(), 2) || Objects.equals(apiDoc.getDocType(), 4)) {
swaggerDocService.saveOrUpdate(apiDoc);
} else {
return DocResponseJson.warn("暂不支持的文档类型");
}
return DocResponseJson.ok();
}
/**
* 修改文档基本信息
*
* @return 无
* @author 暮光:城中城
* @since 2021年10月16日
*/
@ResponseBody
@PostMapping(value = "/update")
public ResponseJson<List<ApiDoc>> update(ApiDoc apiDoc) {
if (apiDoc.getId() == null) {
return DocResponseJson.warn("请指定修改的记录ID");
}
ApiDoc swaggerDocUp = new ApiDoc();
swaggerDocUp.setId(apiDoc.getId());
swaggerDocUp.setDocStatus(apiDoc.getDocStatus());
swaggerDocUp.setDocUrl(apiDoc.getDocUrl());
swaggerDocUp.setJsonContent(apiDoc.getJsonContent());
swaggerDocUp.setName(apiDoc.getName());
swaggerDocUp.setOpenVisit(apiDoc.getOpenVisit());
swaggerDocUp.setRewriteDomain(apiDoc.getRewriteDomain());
swaggerDocUp.setYn(apiDoc.getYn());
swaggerDocService.updateById(swaggerDocUp);
return DocResponseJson.ok();
}
@RequestMapping("/apis")
public ResponseJson<List<ApiDoc>> resources() {
QueryWrapper<ApiDoc> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("yn", 1);
queryWrapper.eq("doc_status", 1);
queryWrapper.orderByAsc("id");
queryWrapper.select("id", "name", "doc_type", "doc_url", "rewrite_domain", "open_visit", "doc_status");
List<ApiDoc> docList = swaggerDocService.list(queryWrapper);
return DocResponseJson.ok(docList);
}
@RequestMapping("/apis/detail")
public ResponseJson<Object> detail(HttpServletRequest request, Long id) {
ApiDoc apiDoc = swaggerDocService.getById(id);
if (apiDoc == null) {
return DocResponseJson.warn("文档不存在");
}
if (Objects.equals(apiDoc.getDocType(), 1)) {
try {
String docsDomain = SwaggerDocUtil.getV2ApiDocsDomain(apiDoc.getDocUrl());
String contentStr = swaggerHttpRequestService.requestSwaggerUrl(request, apiDoc.getDocUrl(), docsDomain);
return DocResponseJson.ok(contentStr);
} catch (Exception e) {
e.printStackTrace();
return DocResponseJson.warn("请求文档失败");
}
}
if (Objects.equals(apiDoc.getDocType(), 2) || Objects.equals(apiDoc.getDocType(), 4)) {
return DocResponseJson.ok(apiDoc.getJsonContent());
}
return DocResponseJson.warn("暂不支持的文档类型");
}
}

View File

@@ -1,16 +1,14 @@
package com.zyplayer.doc.swaggerplus.controller;
package com.zyplayer.doc.api.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zyplayer.doc.core.annotation.AuthMan;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
import com.zyplayer.doc.data.service.manage.SwaggerGlobalParamService;
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
import com.zyplayer.doc.data.repository.manage.entity.ApiGlobalParam;
import com.zyplayer.doc.data.service.manage.ApiGlobalParamService;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -23,7 +21,6 @@ import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 全局参数控制器
@@ -33,12 +30,12 @@ import java.util.stream.Collectors;
*/
@AuthMan
@RestController
@RequestMapping("/doc-swagger/global-param")
public class SwaggerGlobalParamController {
private static Logger logger = LoggerFactory.getLogger(SwaggerGlobalParamController.class);
@RequestMapping("/doc-api/global-param")
public class ApiGlobalParamController {
private static Logger logger = LoggerFactory.getLogger(ApiGlobalParamController.class);
@Resource
private SwaggerGlobalParamService swaggerGlobalParamService;
private ApiGlobalParamService apiGlobalParamService;
/**
* 获取所有的全局参数
@@ -49,13 +46,13 @@ public class SwaggerGlobalParamController {
*/
@ResponseBody
@PostMapping(value = "/list")
public ResponseJson<List<SwaggerGlobalParam>> list() {
public ResponseJson<List<ApiGlobalParam>> list() {
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
QueryWrapper<SwaggerGlobalParam> queryWrapper = new QueryWrapper<>();
QueryWrapper<ApiGlobalParam> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("yn", 1);
queryWrapper.eq("create_user_id", currentUser.getUserId());
queryWrapper.orderByDesc("id");
List<SwaggerGlobalParam> globalParamList = swaggerGlobalParamService.list(queryWrapper);
List<ApiGlobalParam> globalParamList = apiGlobalParamService.list(queryWrapper);
return DocResponseJson.ok(globalParamList);
}
@@ -68,7 +65,7 @@ public class SwaggerGlobalParamController {
*/
@ResponseBody
@PostMapping(value = "/update")
public ResponseJson<List<SwaggerDoc>> update(SwaggerGlobalParam globalParam) {
public ResponseJson<List<ApiDoc>> update(ApiGlobalParam globalParam) {
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
if (globalParam.getId() == null) {
globalParam.setYn(1);
@@ -76,22 +73,22 @@ public class SwaggerGlobalParamController {
globalParam.setCreateUserId(currentUser.getUserId());
globalParam.setCreateUserName(currentUser.getUsername());
} else {
SwaggerGlobalParam param = swaggerGlobalParamService.getById(globalParam.getId());
ApiGlobalParam param = apiGlobalParamService.getById(globalParam.getId());
if (param == null || !Objects.equals(param.getCreateUserId(), currentUser.getUserId())) {
return DocResponseJson.warn("目标全局参数不存在");
}
}
QueryWrapper<SwaggerGlobalParam> wrapper = new QueryWrapper<>();
QueryWrapper<ApiGlobalParam> wrapper = new QueryWrapper<>();
wrapper.eq("yn", 1);
wrapper.eq("param_key", globalParam.getParamKey());
wrapper.eq("create_user_id", currentUser.getUserId());
List<SwaggerGlobalParam> paramList = swaggerGlobalParamService.list(wrapper);
List<ApiGlobalParam> paramList = apiGlobalParamService.list(wrapper);
if (CollectionUtils.isNotEmpty(paramList)) {
if (paramList.size() > 1 || !Objects.equals(paramList.get(0).getId(), globalParam.getId())) {
return DocResponseJson.warn("全局参数名称不能重复");
}
}
swaggerGlobalParamService.saveOrUpdate(globalParam);
apiGlobalParamService.saveOrUpdate(globalParam);
return DocResponseJson.ok();
}
}

View File

@@ -1,11 +1,11 @@
package com.zyplayer.doc.swaggerplus.controller;
package com.zyplayer.doc.api.controller;
import com.zyplayer.doc.core.annotation.AuthMan;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.swaggerplus.controller.param.ProxyRequestParam;
import com.zyplayer.doc.swaggerplus.controller.vo.ProxyRequestResultVo;
import com.zyplayer.doc.swaggerplus.service.SwaggerHttpRequestService;
import com.zyplayer.doc.api.controller.param.ProxyRequestParam;
import com.zyplayer.doc.api.controller.vo.ProxyRequestResultVo;
import com.zyplayer.doc.api.service.SwaggerHttpRequestService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
@@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Objects;
/**
* 请求参数控制器
@@ -26,9 +25,9 @@ import java.util.Objects;
*/
@AuthMan
@RestController
@RequestMapping("/doc-swagger/proxy")
public class SwaggerPoxyRequestController {
private static Logger logger = LoggerFactory.getLogger(SwaggerPoxyRequestController.class);
@RequestMapping("/doc-api/proxy")
public class ApiPoxyRequestController {
private static Logger logger = LoggerFactory.getLogger(ApiPoxyRequestController.class);
@Resource
private SwaggerHttpRequestService swaggerHttpRequestService;

View File

@@ -1,4 +1,4 @@
package com.zyplayer.doc.swaggerplus.controller;
package com.zyplayer.doc.api.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zyplayer.doc.core.annotation.AuthMan;
@@ -6,9 +6,9 @@ import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerRequestParam;
import com.zyplayer.doc.data.service.manage.SwaggerRequestParamService;
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
import com.zyplayer.doc.data.repository.manage.entity.ApiRequestParam;
import com.zyplayer.doc.data.service.manage.ApiRequestParamService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
@@ -28,12 +28,12 @@ import java.util.List;
*/
@AuthMan
@RestController
@RequestMapping("/doc-swagger/request-param")
public class SwaggerRequestParamController {
private static Logger logger = LoggerFactory.getLogger(SwaggerRequestParamController.class);
@RequestMapping("/doc-api/request-param")
public class ApiRequestParamController {
private static Logger logger = LoggerFactory.getLogger(ApiRequestParamController.class);
@Resource
private SwaggerRequestParamService swaggerRequestParamService;
private ApiRequestParamService apiRequestParamService;
/**
* 获取所有的请求参数
@@ -44,11 +44,11 @@ public class SwaggerRequestParamController {
*/
@ResponseBody
@PostMapping(value = "/query")
public ResponseJson<SwaggerRequestParam> query(String docUrl) {
QueryWrapper<SwaggerRequestParam> queryWrapper = new QueryWrapper<>();
public ResponseJson<ApiRequestParam> query(String docUrl) {
QueryWrapper<ApiRequestParam> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("yn", 1);
queryWrapper.eq("doc_url", docUrl);
SwaggerRequestParam requestParam = swaggerRequestParamService.getOne(queryWrapper);
ApiRequestParam requestParam = apiRequestParamService.getOne(queryWrapper);
return DocResponseJson.ok(requestParam);
}
@@ -61,15 +61,15 @@ public class SwaggerRequestParamController {
*/
@ResponseBody
@PostMapping(value = "/update")
public ResponseJson<List<SwaggerDoc>> update(SwaggerRequestParam swaggerRequestParam) {
QueryWrapper<SwaggerRequestParam> updateWrapper = new QueryWrapper<>();
updateWrapper.eq("doc_url", swaggerRequestParam.getDocUrl());
public ResponseJson<List<ApiDoc>> update(ApiRequestParam apiRequestParam) {
QueryWrapper<ApiRequestParam> updateWrapper = new QueryWrapper<>();
updateWrapper.eq("doc_url", apiRequestParam.getDocUrl());
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
swaggerRequestParam.setYn(1);
swaggerRequestParam.setCreateTime(new Date());
swaggerRequestParam.setCreateUserId(currentUser.getUserId());
swaggerRequestParam.setCreateUserName(currentUser.getUsername());
swaggerRequestParamService.update(swaggerRequestParam, updateWrapper);
apiRequestParam.setYn(1);
apiRequestParam.setCreateTime(new Date());
apiRequestParam.setCreateUserId(currentUser.getUserId());
apiRequestParam.setCreateUserName(currentUser.getUsername());
apiRequestParamService.update(apiRequestParam, updateWrapper);
return DocResponseJson.ok();
}
}

View File

@@ -1,13 +1,15 @@
package com.zyplayer.doc.swaggerplus.controller;
package com.zyplayer.doc.api.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zyplayer.doc.core.annotation.AuthMan;
import com.zyplayer.doc.core.exception.ConfirmException;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
import com.zyplayer.doc.data.service.manage.SwaggerDocService;
import com.zyplayer.doc.swaggerplus.controller.vo.SwaggerResourceVo;
import com.zyplayer.doc.swaggerplus.framework.utils.SwaggerDocUtil;
import com.zyplayer.doc.swaggerplus.service.SwaggerHttpRequestService;
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
import com.zyplayer.doc.data.service.manage.ApiDocService;
import com.zyplayer.doc.api.controller.vo.SwaggerResourceVo;
import com.zyplayer.doc.api.framework.utils.SwaggerDocUtil;
import com.zyplayer.doc.api.service.SwaggerHttpRequestService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MimeTypeUtils;
@@ -29,12 +31,12 @@ import java.util.*;
*/
@AuthMan
@RestController
public class SwaggerProxyController {
public class ApiSwaggerProxyController {
private static final String HAL_MEDIA_TYPE = "application/hal+json";
@Resource
private SwaggerDocService swaggerDocService;
private ApiDocService swaggerDocService;
@Resource
private SwaggerHttpRequestService swaggerHttpRequestService;
@@ -42,11 +44,14 @@ public class SwaggerProxyController {
@RequestMapping("/swagger-resources")
public List<SwaggerResourceVo> swaggerResources() {
List<SwaggerResourceVo> resourceList = new LinkedList<>();
SwaggerDoc swaggerSearch = new SwaggerDoc();
swaggerSearch.setYn(1);
swaggerSearch.setDocStatus(1);
List<SwaggerDoc> docList = swaggerDocService.getSwaggerDocList(swaggerSearch);
for (SwaggerDoc swaggerDoc : docList) {
QueryWrapper<ApiDoc> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("yn", 1);
queryWrapper.eq("doc_status", 1);
queryWrapper.in("doc_type", 1, 2);
queryWrapper.orderByAsc("id");
queryWrapper.select("id", "name", "rewrite_domain");
List<ApiDoc> docList = swaggerDocService.list(queryWrapper);
for (ApiDoc swaggerDoc : docList) {
SwaggerResourceVo resource = new SwaggerResourceVo();
resource.setUrl("/v2/api-docs?id=" + swaggerDoc.getId());
resource.setName(swaggerDoc.getName());
@@ -60,7 +65,7 @@ public class SwaggerProxyController {
@ResponseBody
@RequestMapping(value = "/v2/api-docs", produces = {MimeTypeUtils.APPLICATION_JSON_VALUE, HAL_MEDIA_TYPE})
public ResponseEntity<Object> content(HttpServletRequest request, Long id) {
SwaggerDoc swaggerDoc = swaggerDocService.getById(id);
ApiDoc swaggerDoc = swaggerDocService.getById(id);
if (swaggerDoc == null) {
throw new ConfirmException("文档不存在");
}

View File

@@ -1,4 +1,4 @@
package com.zyplayer.doc.swaggerplus.controller.param;
package com.zyplayer.doc.api.controller.param;
/**
* 参数信息

View File

@@ -1,4 +1,4 @@
package com.zyplayer.doc.swaggerplus.controller.param;
package com.zyplayer.doc.api.controller.param;
import com.alibaba.fastjson.JSON;

View File

@@ -1,4 +1,4 @@
package com.zyplayer.doc.swaggerplus.controller.vo;
package com.zyplayer.doc.api.controller.vo;
/**
* cookie返回值对象

View File

@@ -1,4 +1,4 @@
package com.zyplayer.doc.swaggerplus.controller.vo;
package com.zyplayer.doc.api.controller.vo;
/**
* header返回值对象

View File

@@ -1,5 +1,5 @@
package com.zyplayer.doc.swaggerplus.controller.vo;
package com.zyplayer.doc.api.controller.vo;
import java.util.List;

View File

@@ -1,5 +1,5 @@
package com.zyplayer.doc.swaggerplus.controller.vo;
package com.zyplayer.doc.api.controller.vo;
import com.google.common.collect.ComparisonChain;

View File

@@ -1,4 +1,4 @@
package com.zyplayer.doc.swaggerplus.framework.config;
package com.zyplayer.doc.api.framework.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@@ -6,7 +6,7 @@ import org.springframework.context.annotation.Configuration;
import java.lang.annotation.*;
/**
* 开启swagger模块注解
* 开启api接口文档模块注解
*
* @author 暮光城中城
* @since 2021-11-04
@@ -16,8 +16,8 @@ import java.lang.annotation.*;
@Documented
@Configuration
@ComponentScan(basePackages = {
"com.zyplayer.doc.swaggerplus",
"com.zyplayer.doc.api",
})
public @interface EnableDocSwaggerPlus {
public @interface EnableDocApi {
}

View File

@@ -1,4 +1,4 @@
package com.zyplayer.doc.swaggerplus.framework.utils;
package com.zyplayer.doc.api.framework.utils;
/**
* swagger文档工具类

View File

@@ -1,17 +1,17 @@
package com.zyplayer.doc.swaggerplus.service;
package com.zyplayer.doc.api.service;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.http.Method;
import com.zyplayer.doc.api.controller.param.ProxyRequestParam;
import com.zyplayer.doc.api.controller.vo.HttpCookieVo;
import com.zyplayer.doc.api.controller.vo.HttpHeaderVo;
import com.zyplayer.doc.api.controller.vo.ProxyRequestResultVo;
import com.zyplayer.doc.api.framework.utils.SwaggerDocUtil;
import com.zyplayer.doc.core.exception.ConfirmException;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
import com.zyplayer.doc.data.service.manage.SwaggerGlobalParamService;
import com.zyplayer.doc.swaggerplus.controller.param.ProxyRequestParam;
import com.zyplayer.doc.swaggerplus.controller.vo.HttpCookieVo;
import com.zyplayer.doc.swaggerplus.controller.vo.HttpHeaderVo;
import com.zyplayer.doc.swaggerplus.controller.vo.ProxyRequestResultVo;
import com.zyplayer.doc.swaggerplus.framework.utils.SwaggerDocUtil;
import com.zyplayer.doc.data.repository.manage.entity.ApiGlobalParam;
import com.zyplayer.doc.data.service.manage.ApiGlobalParamService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.ArrayUtils;
@@ -37,7 +37,7 @@ import java.util.stream.Stream;
public class SwaggerHttpRequestService {
@Resource
private SwaggerGlobalParamService swaggerGlobalParamService;
private ApiGlobalParamService apiGlobalParamService;
private static final Map<String, Method> requestMethodMap = Stream.of(Method.values()).collect(Collectors.toMap(val -> val.name().toLowerCase(), val -> val));
@@ -51,13 +51,13 @@ public class SwaggerHttpRequestService {
* @since 2021-11-04
*/
public String requestSwaggerUrl(HttpServletRequest request, String docUrl, String docDomain) {
List<SwaggerGlobalParam> globalParamList = swaggerGlobalParamService.getGlobalParamList();
List<ApiGlobalParam> globalParamList = apiGlobalParamService.getGlobalParamList();
Map<String, Object> globalFormParamMap = globalParamList.stream().filter(item -> Objects.equals(item.getParamType(), 1))
.collect(Collectors.toMap(SwaggerGlobalParam::getParamKey, SwaggerGlobalParam::getParamValue, (val1, val2) -> val1));
.collect(Collectors.toMap(ApiGlobalParam::getParamKey, ApiGlobalParam::getParamValue, (val1, val2) -> val1));
Map<String, String> globalHeaderParamMap = globalParamList.stream().filter(item -> Objects.equals(item.getParamType(), 2))
.collect(Collectors.toMap(SwaggerGlobalParam::getParamKey, SwaggerGlobalParam::getParamValue, (val1, val2) -> val1));
.collect(Collectors.toMap(ApiGlobalParam::getParamKey, ApiGlobalParam::getParamValue, (val1, val2) -> val1));
Map<String, String> globalCookieParamMap = globalParamList.stream().filter(item -> Objects.equals(item.getParamType(), 3))
.collect(Collectors.toMap(SwaggerGlobalParam::getParamKey, SwaggerGlobalParam::getParamValue, (val1, val2) -> val1));
.collect(Collectors.toMap(ApiGlobalParam::getParamKey, ApiGlobalParam::getParamValue, (val1, val2) -> val1));
Map<String, String> requestHeaders = this.getHttpHeader(request, globalHeaderParamMap);
if (StringUtils.isNotBlank(docDomain)) {
domainHeaderKeys.forEach(key -> requestHeaders.put(key, docDomain));

View File

@@ -1 +1 @@
import{J as S,P as w,r as c,o,c as l,w as t,a,m as f,t as n,b as i,F as g,k as s,e as m,d as B}from"./vendor.e1de8368.js";import{m as C}from"./index.f5a9d5cc.js";import{_ as N}from"./main.5d87f661.js";const V={setup(){const _=S(),D=w(()=>_.state.swaggerDoc),u=w(()=>_.state.swaggerDoc.info),e=w(()=>_.state.methodStatistic);return{swaggerDoc:D,swaggerDocInfo:u,methodStatistic:e,getDescription:I=>C.exports.markdownIt.render(I||"")}}},j=["href"],L=["href"],O=["href"],T=["innerHTML"],E={key:1,style:{"text-align":"center"}};function F(_,D,u,e,p,I){const r=c("a-form-item"),h=c("a-divider"),v=c("a-statistic"),k=c("a-card"),b=c("a-col"),y=c("a-row"),x=c("a-form");return o(),l(k,null,{default:t(()=>[e.swaggerDocInfo?(o(),l(x,{key:0,"label-col":{span:4},"wrapper-col":{span:20}},{default:t(()=>[a(r,{label:"\u6807\u9898"},{default:t(()=>[f(n(e.swaggerDocInfo.title),1)]),_:1}),a(r,{label:"\u7248\u672C"},{default:t(()=>[f(n(e.swaggerDocInfo.version),1)]),_:1}),e.swaggerDocInfo.contact?(o(),l(r,{key:0,label:"\u4F5C\u8005"},{default:t(()=>[e.swaggerDocInfo.contact.name?(o(),i(g,{key:0},[f(n(e.swaggerDocInfo.contact.name),1)],64)):s("",!0),e.swaggerDocInfo.contact.email?(o(),i(g,{key:1},[a(h,{type:"vertical"}),f(n(e.swaggerDocInfo.contact.email),1)],64)):s("",!0),e.swaggerDocInfo.contact.url?(o(),i(g,{key:2},[a(h,{type:"vertical"}),m("a",{href:e.swaggerDocInfo.contact.url,target:"_blank"},n(e.swaggerDocInfo.contact.url),9,j)],64)):s("",!0)]),_:1})):s("",!0),a(r,{label:"host"},{default:t(()=>[f(n(e.swaggerDoc.host),1)]),_:1}),e.swaggerDocInfo.license?(o(),l(r,{key:1,label:"\u8BB8\u53EF\u8BC1"},{default:t(()=>[m("a",{href:e.swaggerDocInfo.license.url,target:"_blank"},n(e.swaggerDocInfo.license.name),9,L)]),_:1})):s("",!0),e.swaggerDocInfo.termsOfService?(o(),l(r,{key:2,label:"\u670D\u52A1\u6761\u6B3E"},{default:t(()=>[m("a",{href:e.swaggerDocInfo.termsOfService,target:"_blank"},n(e.swaggerDocInfo.termsOfService),9,O)]),_:1})):s("",!0),a(r,{label:"\u6587\u6863\u8BF4\u660E"},{default:t(()=>[m("div",{class:"markdown-body",innerHTML:e.getDescription(e.swaggerDocInfo.description)},null,8,T)]),_:1}),a(r,{label:"\u63A5\u53E3\u7EDF\u8BA1"},{default:t(()=>[a(y,{gutter:[16,16]},{default:t(()=>[(o(),i(g,null,B(["get","post","put","delete","head","patch","options","trace","total"],d=>(o(),i(g,null,[e.methodStatistic[d]?(o(),l(b,{key:0,span:6},{default:t(()=>[a(k,{size:"small"},{default:t(()=>[a(v,{title:d==="total"?"\u603B\u8BA1":d.toUpperCase()+"\u65B9\u6CD5",value:e.methodStatistic[d],suffix:"\u4E2A"},null,8,["title","value"])]),_:2},1024)]),_:2},1024)):s("",!0)],64))),64))]),_:1})]),_:1})]),_:1})):(o(),i("div",E,"\u6682\u65E0\u6587\u6863\u4FE1\u606F\uFF0C\u8BF7\u5148\u9009\u62E9\u6587\u6863"))]),_:1})}var J=N(V,[["render",F]]);export{J as default};
import{u as S,V as w,r as c,o,c as l,w as t,a,m as f,t as n,b as i,F as g,k as s,e as m,d as V}from"./vendor.d3f949c4.js";import{m as B}from"./index.ea6b273d.js";import{_ as C}from"./main.c59b3205.js";const N={setup(){const _=S(),D=w(()=>_.state.swaggerDoc),u=w(()=>_.state.swaggerDoc.info),e=w(()=>_.state.methodStatistic);return{swaggerDoc:D,swaggerDocInfo:u,methodStatistic:e,getDescription:I=>B.exports.markdownIt.render(I||"")}}},j=["href"],L=["href"],O=["href"],T=["innerHTML"],E={key:1,style:{"text-align":"center"}};function F(_,D,u,e,p,I){const r=c("a-form-item"),h=c("a-divider"),b=c("a-statistic"),k=c("a-card"),v=c("a-col"),y=c("a-row"),x=c("a-form");return o(),l(k,null,{default:t(()=>[e.swaggerDocInfo?(o(),l(x,{key:0,"label-col":{span:4},"wrapper-col":{span:20}},{default:t(()=>[a(r,{label:"\u6807\u9898"},{default:t(()=>[f(n(e.swaggerDocInfo.title),1)]),_:1}),a(r,{label:"\u7248\u672C"},{default:t(()=>[f(n(e.swaggerDocInfo.version),1)]),_:1}),e.swaggerDocInfo.contact?(o(),l(r,{key:0,label:"\u4F5C\u8005"},{default:t(()=>[e.swaggerDocInfo.contact.name?(o(),i(g,{key:0},[f(n(e.swaggerDocInfo.contact.name),1)],64)):s("",!0),e.swaggerDocInfo.contact.email?(o(),i(g,{key:1},[a(h,{type:"vertical"}),f(n(e.swaggerDocInfo.contact.email),1)],64)):s("",!0),e.swaggerDocInfo.contact.url?(o(),i(g,{key:2},[a(h,{type:"vertical"}),m("a",{href:e.swaggerDocInfo.contact.url,target:"_blank"},n(e.swaggerDocInfo.contact.url),9,j)],64)):s("",!0)]),_:1})):s("",!0),a(r,{label:"host"},{default:t(()=>[f(n(e.swaggerDoc.host),1)]),_:1}),e.swaggerDocInfo.license?(o(),l(r,{key:1,label:"\u8BB8\u53EF\u8BC1"},{default:t(()=>[m("a",{href:e.swaggerDocInfo.license.url,target:"_blank"},n(e.swaggerDocInfo.license.name),9,L)]),_:1})):s("",!0),e.swaggerDocInfo.termsOfService?(o(),l(r,{key:2,label:"\u670D\u52A1\u6761\u6B3E"},{default:t(()=>[m("a",{href:e.swaggerDocInfo.termsOfService,target:"_blank"},n(e.swaggerDocInfo.termsOfService),9,O)]),_:1})):s("",!0),a(r,{label:"\u6587\u6863\u8BF4\u660E"},{default:t(()=>[m("div",{class:"markdown-body",innerHTML:e.getDescription(e.swaggerDocInfo.description)},null,8,T)]),_:1}),a(r,{label:"\u63A5\u53E3\u7EDF\u8BA1"},{default:t(()=>[a(y,{gutter:[16,16]},{default:t(()=>[(o(),i(g,null,V(["get","post","put","delete","head","patch","options","trace","total"],d=>(o(),i(g,null,[e.methodStatistic[d]?(o(),l(v,{key:0,span:6},{default:t(()=>[a(k,{size:"small"},{default:t(()=>[a(b,{title:d==="total"?"\u603B\u8BA1":d.toUpperCase()+"\u65B9\u6CD5",value:e.methodStatistic[d],suffix:"\u4E2A"},null,8,["title","value"])]),_:2},1024)]),_:2},1024)):s("",!0)],64))),64))]),_:1})]),_:1})]),_:1})):(o(),i("div",E,"\u6682\u65E0\u6587\u6863\u4FE1\u606F\uFF0C\u8BF7\u5148\u9009\u62E9\u6587\u6863"))]),_:1})}var U=C(N,[["render",F]]);export{U as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
var G=Object.defineProperty;var V=Object.getOwnPropertySymbols;var K=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable;var w=(c,e,l)=>e in c?G(c,e,{enumerable:!0,configurable:!0,writable:!0,value:l}):c[e]=l,I=(c,e)=>{for(var l in e||(e={}))K.call(e,l)&&w(c,l,e[l]);if(V)for(var l of V(e))N.call(e,l)&&w(c,l,e[l]);return c};import{z as D}from"./custom.914a01ae.js";import{u as P,y as x,G as U,r as v,o,b as r,e as A,a as s,w as n,F as f,B as F,c as k,t as B,k as C,m as d}from"./vendor.d3f949c4.js";import{_ as S}from"./main.c59b3205.js";const j={setup(){const c=P();let e=x([]),l=x(!1);const a=async()=>{i.value={},l.value=!0,D.docApiGlobalParamList().then(t=>{setTimeout(()=>l.value=!1,500),e.value=t.data||[],c.commit("setGlobalParam",e.value)})};let i=x({}),T=x();const p=()=>{i.value.isEdit&&y(i.value);let t={isEdit:!0};e.value.unshift(t),i.value=t,setTimeout(()=>{let _=document.getElementsByClassName("ant-table-body")[0];_.scrollTop=0},0)},b=t=>{i.value.isEdit&&y(i.value),t.isEdit=!0,i.value=I({},t)},y=t=>{t.isEdit=!1,t.id?e.value.forEach(_=>_.isEdit=!1):e.value=e.value.filter(_=>_!==t),i.value={}},L=t=>{if(!i.value.paramKey||!i.value.paramValue){F.error("\u53C2\u6570\u540D\u6216\u53C2\u6570\u503C\u4E0D\u80FD\u4E3A\u7A7A");return}D.docApiGlobalParamUpdate(i.value).then(_=>{t.isEdit=!1,a()})},h=async t=>{D.docApiGlobalParamUpdate({id:t.id,yn:0}).then(_=>{a()})};return U(()=>{a()}),{docList:e,docListLoading:l,docEdit:i,tableRef:T,searchDocList:a,deleteDoc:h,editDoc:b,saveEditDoc:L,cancelEditDoc:y,addDocLine:p,docListColumns:[{title:"\u53C2\u6570\u540D\u79F0",dataIndex:"paramKey",width:250},{title:"\u53C2\u6570\u503C",dataIndex:"paramValue"},{title:"\u53C2\u6570\u4F4D\u7F6E",dataIndex:"paramType",width:120},{title:"\u64CD\u4F5C",dataIndex:"operation",fixed:"right",width:170}]}}},z={style:{"margin-bottom":"10px","text-align":"right"}},H=d("\u5237\u65B0"),M=d("\u65B0\u5EFA"),R={key:1},q={key:1},J=d("Form"),O=d("Header"),Q=d("Cookie"),W=d("Form"),X=d("Header"),Y=d("Cookie"),Z=d("\u53D6\u6D88"),$=d("\u4FDD\u5B58"),ee=d("\u7F16\u8F91"),ae=d("\u5220\u9664");function te(c,e,l,a,i,T){const p=v("a-button"),b=v("a-input"),y=v("a-select-option"),L=v("a-select"),h=v("a-tag"),t=v("a-popconfirm"),_=v("a-table");return o(),r(f,null,[A("div",z,[s(p,{onClick:a.searchDocList,type:"primary"},{default:n(()=>[H]),_:1},8,["onClick"]),s(p,{onClick:a.addDocLine},{default:n(()=>[M]),_:1},8,["onClick"])]),s(_,{dataSource:a.docList,columns:a.docListColumns,size:"middle",id:"paramTable",loading:a.docListLoading,pagination:!1,scroll:{x:1e3,y:"calc(100vh - 240px)"}},{bodyCell:n(({column:g,text:E,record:m})=>[g.dataIndex==="paramKey"?(o(),r(f,{key:0},[m.isEdit?(o(),k(b,{key:0,placeholder:"\u8BF7\u8F93\u5165\u53C2\u6570\u540D\u79F0",value:a.docEdit.paramKey,"onUpdate:value":e[0]||(e[0]=u=>a.docEdit.paramKey=u)},null,8,["value"])):(o(),r("span",R,B(E),1))],64)):C("",!0),g.dataIndex==="paramValue"?(o(),r(f,{key:1},[m.isEdit?(o(),k(b,{key:0,rows:1,placeholder:"\u8BF7\u8F93\u5165\u53C2\u6570\u503C",value:a.docEdit.paramValue,"onUpdate:value":e[1]||(e[1]=u=>a.docEdit.paramValue=u)},null,8,["value"])):(o(),r("span",q,B(E),1))],64)):C("",!0),g.dataIndex==="paramType"?(o(),r(f,{key:2},[m.isEdit?(o(),k(L,{key:0,placeholder:"\u53C2\u6570\u4F4D\u7F6E",value:a.docEdit.paramType,"onUpdate:value":e[2]||(e[2]=u=>a.docEdit.paramType=u),style:{width:"110px"}},{default:n(()=>[s(y,{value:1},{default:n(()=>[J]),_:1}),s(y,{value:2},{default:n(()=>[O]),_:1}),s(y,{value:3},{default:n(()=>[Q]),_:1})]),_:1},8,["value"])):(o(),r(f,{key:1},[E===1?(o(),k(h,{key:0,color:"green"},{default:n(()=>[W]),_:1})):E===2?(o(),k(h,{key:1,color:"pink"},{default:n(()=>[X]),_:1})):E===3?(o(),k(h,{key:2,color:"pink"},{default:n(()=>[Y]),_:1})):C("",!0)],64))],64)):C("",!0),g.dataIndex==="operation"?(o(),r(f,{key:3},[m.isEdit?(o(),r(f,{key:0},[s(p,{type:"link",onClick:u=>a.cancelEditDoc(m)},{default:n(()=>[Z]),_:2},1032,["onClick"]),s(p,{type:"link",onClick:u=>a.saveEditDoc(m)},{default:n(()=>[$]),_:2},1032,["onClick"])],64)):(o(),r(f,{key:1},[s(p,{type:"link",onClick:u=>a.editDoc(m)},{default:n(()=>[ee]),_:2},1032,["onClick"]),s(t,{title:"\u786E\u5B9A\u8981\u5220\u9664\u5417\uFF1F",onConfirm:u=>a.deleteDoc(m)},{default:n(()=>[s(p,{type:"link",danger:""},{default:n(()=>[ae]),_:1})]),_:2},1032,["onConfirm"])],64))],64)):C("",!0)]),_:1},8,["dataSource","columns","loading","scroll"])],64)}var de=S(j,[["render",te]]);export{de as default};

View File

@@ -0,0 +1 @@
import{_ as e}from"./main.c59b3205.js";import{o as t,b as o}from"./vendor.d3f949c4.js";const n={name:"SettingView",components:{},data(){return{}},computed:{},mounted(){},methods:{}};function r(a,c,s,m,d,i){return t(),o("div",null," \u5C55\u793A\u914D\u7F6E\u9875\u9762 ")}var f=e(n,[["render",r]]);export{f as default};

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@@ -1,4 +1,4 @@
import"./index.f5a9d5cc.js";import{_ as we}from"./main.5d87f661.js";import{R as ke,Z as xe,L as se,r as re,o as J,b as le,e as Fe,a as ie,w as Q,c as ee,k as ce,F as ue,m as ne,t as pe,d as Ee,_ as Le}from"./vendor.e1de8368.js";function Re(v,w={}){w.filter=w.filter||(()=>!0);function D(){return a()||t()||i()||e()}function _(){return u(/\s*/),a(!0)||i()||n()||s(!1)}function y(){const b=f(),l=[];let m,c=_();for(;c;){if(c.node.type==="Element"){if(m)throw new Error("Found multiple root nodes");m=c.node}c.excluded||l.push(c.node),c=_()}if(!m)throw new Error("Failed to parse XML");return{declaration:b?b.node:null,root:m,children:l}}function f(){return s(!0)}function s(b){const l=u(b?/^<\?(xml)\s*/:/^<\?([\w-:.]+)\s*/);if(!l)return;const m={name:l[1],type:"ProcessingInstruction",attributes:{}};for(;!(h()||d("?>"));){const c=r();if(!c)return m;m.attributes[c.name]=c.value}return u(/\?>/),{excluded:b?!1:w.filter(m)===!1,node:m}}function a(b){const l=u(/^<([\w-:.]+)\s*/);if(!l)return;const m={type:"Element",name:l[1],attributes:{},children:[]};for(;!(h()||d(">")||d("?>")||d("/>"));){const g=r();if(!g)return m;m.attributes[g.name]=g.value}const c=b?!1:w.filter(m)===!1;if(u(/^\s*\/>/))return m.children=null,{excluded:c,node:m};if(u(/\??>/),!c){let g=D();for(;g;)g.excluded||m.children.push(g.node),g=D()}return u(/^<\/[\w-:.]+>/),{excluded:c,node:m}}function n(){const b=u(/^<!DOCTYPE\s+[^>]*>/);if(b){const l={type:"DocumentType",content:b[0]};return{excluded:w.filter(l)===!1,node:l}}}function e(){if(v.startsWith("<![CDATA[")){const b=v.indexOf("]]>");if(b>-1){const l=b+3,m={type:"CDATA",content:v.substring(0,l)};return v=v.slice(l),{excluded:w.filter(m)===!1,node:m}}}}function i(){const b=u(/^<!--[\s\S]*?-->/);if(b){const l={type:"Comment",content:b[0]};return{excluded:w.filter(l)===!1,node:l}}}function t(){const b=u(/^([^<]+)/);if(b){const l={type:"Text",content:b[1]};return{excluded:w.filter(l)===!1,node:l}}}function r(){const b=u(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(!!b)return{name:b[1],value:o(b[2])}}function o(b){return b.replace(/^['"]|['"]$/g,"")}function u(b){const l=v.match(b);if(!!l)return v=v.slice(l[0].length),l}function h(){return v.length===0}function d(b){return v.indexOf(b)===0}return v=v.trim(),y()}var $e=Re;function de(v){if(!v.options.indentation&&!v.options.lineSeparator)return;v.content+=v.options.lineSeparator;let w;for(w=0;w<v.level;w++)v.content+=v.options.indentation}function oe(v,w){v.content+=w}function _e(v,w,D){if(typeof v.content=="string")De(v,w,D);else if(v.type==="Element")Ne(v,w,D);else if(v.type==="ProcessingInstruction")Ce(v,w);else throw new Error("Unknown node type: "+v.type)}function De(v,w,D){D||(v.content=v.content.trim()),v.content.length>0&&(!D&&w.content.length>0&&de(w),oe(w,v.content))}function Ne(v,w,D){if(!D&&w.content.length>0&&de(w),oe(w,"<"+v.name),Te(w,v.attributes),v.children===null){const _=w.options.whiteSpaceAtEndOfSelfclosingTag?" />":"/>";oe(w,_)}else if(v.children.length===0)oe(w,"></"+v.name+">");else{oe(w,">"),w.level++;let _=v.attributes["xml:space"]==="preserve";if(!_&&w.options.collapseContent){let y=!1,f=!1,s=!1;v.children.forEach(function(a,n){a.type==="Text"?(a.content.includes(`
import"./index.ea6b273d.js";import{_ as we}from"./main.c59b3205.js";import{X as ke,$ as xe,y as se,r as re,o as J,b as le,e as Fe,a as ie,w as Q,c as ee,k as ce,F as ue,m as ne,t as pe,d as Ee,a0 as Le}from"./vendor.d3f949c4.js";function Re(v,w={}){w.filter=w.filter||(()=>!0);function D(){return a()||t()||i()||e()}function _(){return u(/\s*/),a(!0)||i()||n()||s(!1)}function y(){const b=f(),l=[];let m,c=_();for(;c;){if(c.node.type==="Element"){if(m)throw new Error("Found multiple root nodes");m=c.node}c.excluded||l.push(c.node),c=_()}if(!m)throw new Error("Failed to parse XML");return{declaration:b?b.node:null,root:m,children:l}}function f(){return s(!0)}function s(b){const l=u(b?/^<\?(xml)\s*/:/^<\?([\w-:.]+)\s*/);if(!l)return;const m={name:l[1],type:"ProcessingInstruction",attributes:{}};for(;!(h()||d("?>"));){const c=r();if(!c)return m;m.attributes[c.name]=c.value}return u(/\?>/),{excluded:b?!1:w.filter(m)===!1,node:m}}function a(b){const l=u(/^<([\w-:.]+)\s*/);if(!l)return;const m={type:"Element",name:l[1],attributes:{},children:[]};for(;!(h()||d(">")||d("?>")||d("/>"));){const g=r();if(!g)return m;m.attributes[g.name]=g.value}const c=b?!1:w.filter(m)===!1;if(u(/^\s*\/>/))return m.children=null,{excluded:c,node:m};if(u(/\??>/),!c){let g=D();for(;g;)g.excluded||m.children.push(g.node),g=D()}return u(/^<\/[\w-:.]+>/),{excluded:c,node:m}}function n(){const b=u(/^<!DOCTYPE\s+[^>]*>/);if(b){const l={type:"DocumentType",content:b[0]};return{excluded:w.filter(l)===!1,node:l}}}function e(){if(v.startsWith("<![CDATA[")){const b=v.indexOf("]]>");if(b>-1){const l=b+3,m={type:"CDATA",content:v.substring(0,l)};return v=v.slice(l),{excluded:w.filter(m)===!1,node:m}}}}function i(){const b=u(/^<!--[\s\S]*?-->/);if(b){const l={type:"Comment",content:b[0]};return{excluded:w.filter(l)===!1,node:l}}}function t(){const b=u(/^([^<]+)/);if(b){const l={type:"Text",content:b[1]};return{excluded:w.filter(l)===!1,node:l}}}function r(){const b=u(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(!!b)return{name:b[1],value:o(b[2])}}function o(b){return b.replace(/^['"]|['"]$/g,"")}function u(b){const l=v.match(b);if(!!l)return v=v.slice(l[0].length),l}function h(){return v.length===0}function d(b){return v.indexOf(b)===0}return v=v.trim(),y()}var $e=Re;function de(v){if(!v.options.indentation&&!v.options.lineSeparator)return;v.content+=v.options.lineSeparator;let w;for(w=0;w<v.level;w++)v.content+=v.options.indentation}function oe(v,w){v.content+=w}function _e(v,w,D){if(typeof v.content=="string")De(v,w,D);else if(v.type==="Element")Ne(v,w,D);else if(v.type==="ProcessingInstruction")Ce(v,w);else throw new Error("Unknown node type: "+v.type)}function De(v,w,D){D||(v.content=v.content.trim()),v.content.length>0&&(!D&&w.content.length>0&&de(w),oe(w,v.content))}function Ne(v,w,D){if(!D&&w.content.length>0&&de(w),oe(w,"<"+v.name),Te(w,v.attributes),v.children===null){const _=w.options.whiteSpaceAtEndOfSelfclosingTag?" />":"/>";oe(w,_)}else if(v.children.length===0)oe(w,"></"+v.name+">");else{oe(w,">"),w.level++;let _=v.attributes["xml:space"]==="preserve";if(!_&&w.options.collapseContent){let y=!1,f=!1,s=!1;v.children.forEach(function(a,n){a.type==="Text"?(a.content.includes(`
`)?(f=!0,a.content=a.content.trim()):(n===0||n===v.children.length-1)&&a.content.trim().length===0&&(a.content=""),a.content.length>0&&(y=!0)):s=!0}),y&&(!s||!f)&&(_=!0)}v.children.forEach(function(y){_e(y,w,D||_,w.options)}),w.level--,!D&&!_&&de(w),oe(w,"</"+v.name+">")}}function Te(v,w){Object.keys(w).forEach(function(D){const _=w[D].replace(/"/g,"&quot;");oe(v," "+D+'="'+_+'"')})}function Ce(v,w){w.content.length>0&&de(w),oe(w,"<?"+v.name),Te(w,v.attributes),oe(w,"?>")}function Me(v,w={}){w.indentation="indentation"in w?w.indentation:" ",w.collapseContent=w.collapseContent===!0,w.lineSeparator="lineSeparator"in w?w.lineSeparator:`\r
`,w.whiteSpaceAtEndOfSelfclosingTag=!!w.whiteSpaceAtEndOfSelfclosingTag;const _=$e(v,{filter:w.filter}),y={content:"",level:0,options:w};return _.declaration&&Ce(_.declaration,y),_.children.forEach(function(f){_e(f,y,!1)}),y.content.replace(/\r\n/g,`
`).replace(/\n/g,w.lineSeparator)}var ot=Me;const Oe={props:{paramList:{type:Array,required:!0},showType:{type:Boolean}},components:{CloseOutlined:ke,UploadOutlined:xe},emits:["update:selected"],setup(v,{attrs:w,slots:D,emit:_,expose:y}){let f=se(v.paramList),s=1e4;(f.value.length<=0||!f.value[f.value.length-1].isLastRow)&&v.paramList.push({name:"",value:void 0,type:"integer",key:++s,isLastRow:!0});let a=se([]);f.value.forEach(g=>{g.value=g.value||g.example||void 0,(g.enum&&g.type==="array"||g.type==="file"||g.subType==="MultipartFile")&&(g.value=[]),a.value.push(g.key)});const n=(g,k)=>{a.value=g},e=g=>{g.isLastRow&&(g.isLastRow=!1,v.paramList.push({name:"",value:void 0,type:"integer",key:++s,isLastRow:!0}),a.value.push(s))},i=g=>{if(!g.isLastRow){let k=v.paramList.findIndex(E=>E===g);v.paramList.splice(k,1)}};let t=se([]);t.value.push({title:"\u53C2\u6570\u540D",dataIndex:"name",width:250}),v.showType,t.value.push({title:"\u53C2\u6570\u503C",dataIndex:"value"}),t.value.push({title:"",dataIndex:"action",width:40});const r=(g,k)=>(k.type!=="array"?k.value=[g]:k.value=[...k.value,g],!1),o=(g,k)=>{k.value=k.value.filter(E=>E!==g)},u=g=>g.type==="file"||g.subType==="file"||g.subType==="MultipartFile";let h=se(!1),d=se("");const b=()=>{h.value=!0,d.value=f.value.filter(g=>g.name||g.value).map(g=>u(g)?(g.name||"")+":":(g.name||"")+":"+(g.value||"")).join(`

View File

@@ -4,10 +4,10 @@
<meta charset="UTF-8" />
<link rel="icon" href="logo.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Swagger文档管理</title>
<script type="module" crossorigin src="assets/main.5d87f661.js"></script>
<link rel="modulepreload" href="assets/vendor.e1de8368.js">
<link rel="stylesheet" href="assets/style.e64f6728.css">
<title>API文档管理</title>
<script type="module" crossorigin src="assets/main.c59b3205.js"></script>
<link rel="modulepreload" href="assets/vendor.d3f949c4.js">
<link rel="stylesheet" href="assets/style.038e99c3.css">
</head>
<body>
<div id="app"></div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@@ -1,19 +1,21 @@
package com.zyplayer.doc.data.repository.manage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* swagger文档地址
* api文档地址
* </p>
*
* @author 暮光城中城
* @since 2021-10-15
* @since 2021-11-25
*/
public class SwaggerDoc implements Serializable {
@TableName("api_doc")
public class ApiDoc implements Serializable {
private static final long serialVersionUID = 1L;
@@ -29,7 +31,7 @@ public class SwaggerDoc implements Serializable {
private String name;
/**
* 文档类型 1=url 2=swagger文档json
* 文档类型 1=swagger url 2=swagger json 3=openapi url 4=openapi json 5=自建API分组
*/
private Integer docType;
@@ -39,7 +41,7 @@ public class SwaggerDoc implements Serializable {
private String docUrl;
/**
* swagger文档json内容
* 文档json内容
*/
private String jsonContent;
@@ -165,19 +167,19 @@ public class SwaggerDoc implements Serializable {
@Override
public String toString() {
return "SwaggerDoc{" +
"id=" + id +
", name=" + name +
", docType=" + docType +
", docUrl=" + docUrl +
", jsonContent=" + jsonContent +
", rewriteDomain=" + rewriteDomain +
", openVisit=" + openVisit +
", docStatus=" + docStatus +
", createUserId=" + createUserId +
", createUserName=" + createUserName +
", createTime=" + createTime +
", yn=" + yn +
return "ApiDoc{" +
"id=" + id +
", name=" + name +
", docType=" + docType +
", docUrl=" + docUrl +
", jsonContent=" + jsonContent +
", rewriteDomain=" + rewriteDomain +
", openVisit=" + openVisit +
", docStatus=" + docStatus +
", createUserId=" + createUserId +
", createUserName=" + createUserName +
", createTime=" + createTime +
", yn=" + yn +
"}";
}
}

View File

@@ -1,19 +1,21 @@
package com.zyplayer.doc.data.repository.manage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* swagger文档全局参数记录
* api文档全局参数记录
* </p>
*
* @author 暮光城中城
* @since 2021-10-15
* @since 2021-11-25
*/
public class SwaggerGlobalParam implements Serializable {
@TableName("api_global_param")
public class ApiGlobalParam implements Serializable {
private static final long serialVersionUID = 1L;
@@ -38,6 +40,11 @@ public class SwaggerGlobalParam implements Serializable {
*/
private String paramValue;
/**
* 状态 1=启用 2=禁用
*/
private Integer paramStatus;
/**
* 创建人ID
*/
@@ -86,6 +93,13 @@ public class SwaggerGlobalParam implements Serializable {
public void setParamValue(String paramValue) {
this.paramValue = paramValue;
}
public Integer getParamStatus() {
return paramStatus;
}
public void setParamStatus(Integer paramStatus) {
this.paramStatus = paramStatus;
}
public Long getCreateUserId() {
return createUserId;
}
@@ -117,15 +131,16 @@ public class SwaggerGlobalParam implements Serializable {
@Override
public String toString() {
return "SwaggerGlobalParam{" +
"id=" + id +
", paramType=" + paramType +
", paramKey=" + paramKey +
", paramValue=" + paramValue +
", createUserId=" + createUserId +
", createUserName=" + createUserName +
", createTime=" + createTime +
", yn=" + yn +
return "ApiGlobalParam{" +
"id=" + id +
", paramType=" + paramType +
", paramKey=" + paramKey +
", paramValue=" + paramValue +
", paramStatus=" + paramStatus +
", createUserId=" + createUserId +
", createUserName=" + createUserName +
", createTime=" + createTime +
", yn=" + yn +
"}";
}
}

View File

@@ -1,19 +1,21 @@
package com.zyplayer.doc.data.repository.manage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* swagger文档请求参数记录
* 文档请求参数记录
* </p>
*
* @author 暮光城中城
* @since 2021-10-15
* @since 2021-11-25
*/
public class SwaggerRequestParam implements Serializable {
@TableName("api_request_param")
public class ApiRequestParam implements Serializable {
private static final long serialVersionUID = 1L;
@@ -23,6 +25,11 @@ public class SwaggerRequestParam implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* api_doc主键ID
*/
private Long docId;
/**
* 文档url
*/
@@ -75,6 +82,13 @@ public class SwaggerRequestParam implements Serializable {
public void setId(Long id) {
this.id = id;
}
public Long getDocId() {
return docId;
}
public void setDocId(Long docId) {
this.docId = docId;
}
public String getDocUrl() {
return docUrl;
}
@@ -141,17 +155,18 @@ public class SwaggerRequestParam implements Serializable {
@Override
public String toString() {
return "SwaggerRequestParam{" +
"id=" + id +
", docUrl=" + docUrl +
", formData=" + formData +
", bodyData=" + bodyData +
", headerData=" + headerData +
", cookieData=" + cookieData +
", createUserId=" + createUserId +
", createUserName=" + createUserName +
", createTime=" + createTime +
", yn=" + yn +
return "ApiRequestParam{" +
"id=" + id +
", docId=" + docId +
", docUrl=" + docUrl +
", formData=" + formData +
", bodyData=" + bodyData +
", headerData=" + headerData +
", cookieData=" + cookieData +
", createUserId=" + createUserId +
", createUserName=" + createUserName +
", createTime=" + createTime +
", yn=" + yn +
"}";
}
}

View File

@@ -0,0 +1,16 @@
package com.zyplayer.doc.data.repository.manage.mapper;
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* api文档地址 Mapper 接口
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
public interface ApiDocMapper extends BaseMapper<ApiDoc> {
}

View File

@@ -0,0 +1,16 @@
package com.zyplayer.doc.data.repository.manage.mapper;
import com.zyplayer.doc.data.repository.manage.entity.ApiGlobalParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* api文档全局参数记录 Mapper 接口
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
public interface ApiGlobalParamMapper extends BaseMapper<ApiGlobalParam> {
}

View File

@@ -0,0 +1,16 @@
package com.zyplayer.doc.data.repository.manage.mapper;
import com.zyplayer.doc.data.repository.manage.entity.ApiRequestParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 文档请求参数记录 Mapper 接口
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
public interface ApiRequestParamMapper extends BaseMapper<ApiRequestParam> {
}

View File

@@ -1,16 +0,0 @@
package com.zyplayer.doc.data.repository.manage.mapper;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* swagger文档地址 Mapper 接口
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
public interface SwaggerDocMapper extends BaseMapper<SwaggerDoc> {
}

View File

@@ -1,16 +0,0 @@
package com.zyplayer.doc.data.repository.manage.mapper;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* swagger文档全局参数记录 Mapper 接口
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
public interface SwaggerGlobalParamMapper extends BaseMapper<SwaggerGlobalParam> {
}

View File

@@ -1,16 +0,0 @@
package com.zyplayer.doc.data.repository.manage.mapper;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerRequestParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* swagger文档请求参数记录 Mapper 接口
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
public interface SwaggerRequestParamMapper extends BaseMapper<SwaggerRequestParam> {
}

View File

@@ -16,7 +16,7 @@ import java.util.Collections;
public class CodeGenerator {
public static void main(String[] args) {
final String[] tableName = {"swagger_doc"};
final String[] tableName = {"api_doc", "api_request_param", "api_global_param"};
String url = "jdbc:mysql://127.0.0.1:3306/zyplayer_doc_manage?useUnicode=true&useSSL=false&characterEncoding=utf8";
String projectPath = System.getProperty("user.dir") + "/zyplayer-doc-data";
String outputDir = projectPath + "/src/main/java";

View File

@@ -0,0 +1,17 @@
package com.zyplayer.doc.data.service.manage;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* api文档地址 服务类
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
public interface ApiDocService extends IService<ApiDoc> {
IPage<ApiDoc> getApiDocList(ApiDoc apiDoc, Integer pageNum, Integer pageSize);
}

View File

@@ -0,0 +1,19 @@
package com.zyplayer.doc.data.service.manage;
import com.zyplayer.doc.data.repository.manage.entity.ApiGlobalParam;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* api文档全局参数记录 服务类
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
public interface ApiGlobalParamService extends IService<ApiGlobalParam> {
List<ApiGlobalParam> getGlobalParamList();
}

View File

@@ -0,0 +1,16 @@
package com.zyplayer.doc.data.service.manage;
import com.zyplayer.doc.data.repository.manage.entity.ApiRequestParam;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 文档请求参数记录 服务类
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
public interface ApiRequestParamService extends IService<ApiRequestParam> {
}

View File

@@ -1,18 +0,0 @@
package com.zyplayer.doc.data.service.manage;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* swagger文档地址 服务类
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
public interface SwaggerDocService extends IService<SwaggerDoc> {
public List<SwaggerDoc> getSwaggerDocList(SwaggerDoc swaggerDoc);
}

View File

@@ -1,18 +0,0 @@
package com.zyplayer.doc.data.service.manage;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* swagger文档全局参数记录 服务类
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
public interface SwaggerGlobalParamService extends IService<SwaggerGlobalParam> {
public List<SwaggerGlobalParam> getGlobalParamList();
}

View File

@@ -1,16 +0,0 @@
package com.zyplayer.doc.data.service.manage;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerRequestParam;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* swagger文档请求参数记录 服务类
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
public interface SwaggerRequestParamService extends IService<SwaggerRequestParam> {
}

View File

@@ -0,0 +1,35 @@
package com.zyplayer.doc.data.service.manage.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
import com.zyplayer.doc.data.repository.manage.mapper.ApiDocMapper;
import com.zyplayer.doc.data.service.manage.ApiDocService;
import org.springframework.stereotype.Service;
/**
* <p>
* api文档地址 服务实现类
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
@Service
public class ApiDocServiceImpl extends ServiceImpl<ApiDocMapper, ApiDoc> implements ApiDocService {
@Override
public IPage<ApiDoc> getApiDocList(ApiDoc apiDoc, Integer pageNum, Integer pageSize) {
QueryWrapper<ApiDoc> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("yn", 1);
queryWrapper.eq(apiDoc.getDocType() != null, "doc_type", apiDoc.getDocType());
queryWrapper.eq(apiDoc.getOpenVisit() != null, "open_visit", apiDoc.getOpenVisit());
queryWrapper.eq(apiDoc.getDocStatus() != null, "doc_status", apiDoc.getDocStatus());
queryWrapper.orderByAsc("id");
queryWrapper.select("id", "name", "doc_type", "doc_url", "rewrite_domain", "open_visit", "doc_status", "create_user_id", "create_user_name", "create_time");
IPage<ApiDoc> page = new Page<>(pageNum, pageSize);
return this.page(page, queryWrapper);
}
}

View File

@@ -0,0 +1,29 @@
package com.zyplayer.doc.data.service.manage.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zyplayer.doc.data.repository.manage.entity.ApiGlobalParam;
import com.zyplayer.doc.data.repository.manage.mapper.ApiGlobalParamMapper;
import com.zyplayer.doc.data.service.manage.ApiGlobalParamService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* api文档全局参数记录 服务实现类
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
@Service
public class ApiGlobalParamServiceImpl extends ServiceImpl<ApiGlobalParamMapper, ApiGlobalParam> implements ApiGlobalParamService {
@Override
public List<ApiGlobalParam> getGlobalParamList() {
QueryWrapper<ApiGlobalParam> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("yn", 1);
return this.list(queryWrapper);
}
}

View File

@@ -0,0 +1,20 @@
package com.zyplayer.doc.data.service.manage.impl;
import com.zyplayer.doc.data.repository.manage.entity.ApiRequestParam;
import com.zyplayer.doc.data.repository.manage.mapper.ApiRequestParamMapper;
import com.zyplayer.doc.data.service.manage.ApiRequestParamService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 文档请求参数记录 服务实现类
* </p>
*
* @author 暮光:城中城
* @since 2021-11-25
*/
@Service
public class ApiRequestParamServiceImpl extends ServiceImpl<ApiRequestParamMapper, ApiRequestParam> implements ApiRequestParamService {
}

View File

@@ -1,33 +0,0 @@
package com.zyplayer.doc.data.service.manage.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
import com.zyplayer.doc.data.repository.manage.mapper.SwaggerDocMapper;
import com.zyplayer.doc.data.service.manage.SwaggerDocService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* swagger文档地址 服务实现类
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
@Service
public class SwaggerDocServiceImpl extends ServiceImpl<SwaggerDocMapper, SwaggerDoc> implements SwaggerDocService {
@Override
public List<SwaggerDoc> getSwaggerDocList(SwaggerDoc swaggerDoc) {
QueryWrapper<SwaggerDoc> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("yn", 1);
queryWrapper.eq(swaggerDoc.getDocType() != null, "doc_type", swaggerDoc.getDocType());
queryWrapper.eq(swaggerDoc.getOpenVisit() != null, "open_visit", swaggerDoc.getOpenVisit());
queryWrapper.eq(swaggerDoc.getDocStatus() != null, "doc_status", swaggerDoc.getDocStatus());
queryWrapper.orderByAsc("id");
return this.list(queryWrapper);
}
}

View File

@@ -1,30 +0,0 @@
package com.zyplayer.doc.data.service.manage.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
import com.zyplayer.doc.data.repository.manage.mapper.SwaggerGlobalParamMapper;
import com.zyplayer.doc.data.service.manage.SwaggerGlobalParamService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* swagger文档全局参数记录 服务实现类
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
@Service
public class SwaggerGlobalParamServiceImpl extends ServiceImpl<SwaggerGlobalParamMapper, SwaggerGlobalParam> implements SwaggerGlobalParamService {
@Override
public List<SwaggerGlobalParam> getGlobalParamList() {
QueryWrapper<SwaggerGlobalParam> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("yn", 1);
return this.list(queryWrapper);
}
}

View File

@@ -1,20 +0,0 @@
package com.zyplayer.doc.data.service.manage.impl;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerRequestParam;
import com.zyplayer.doc.data.repository.manage.mapper.SwaggerRequestParamMapper;
import com.zyplayer.doc.data.service.manage.SwaggerRequestParamService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* swagger文档请求参数记录 服务实现类
* </p>
*
* @author 暮光:城中城
* @since 2021-10-15
*/
@Service
public class SwaggerRequestParamServiceImpl extends ServiceImpl<SwaggerRequestParamMapper, SwaggerRequestParam> implements SwaggerRequestParamService {
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zyplayer.doc.data.repository.manage.mapper.ApiDocMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zyplayer.doc.data.repository.manage.mapper.ApiGlobalParamMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zyplayer.doc.data.repository.manage.mapper.ApiRequestParamMapper">
</mapper>

View File

@@ -59,7 +59,7 @@
</dependency>
<dependency>
<groupId>com.zyplayer</groupId>
<artifactId>zyplayer-doc-swagger-plus</artifactId>
<artifactId>zyplayer-doc-api</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>

View File

@@ -2,7 +2,7 @@ package com.zyplayer.doc.manage.framework.config;
import com.zyplayer.doc.db.framework.configuration.EnableDocDb;
import com.zyplayer.doc.dubbo.framework.config.EnableDocDubbo;
import com.zyplayer.doc.swaggerplus.framework.config.EnableDocSwaggerPlus;
import com.zyplayer.doc.api.framework.config.EnableDocApi;
import com.zyplayer.doc.wiki.framework.config.EnableDocWiki;
import org.springframework.context.annotation.Configuration;
@@ -27,7 +27,7 @@ public class ZyplayerDocConfig {
public class enableDocDb {
}
@EnableDocSwaggerPlus
public class enableDocSwaggerPlus {
@EnableDocApi
public class enableDocApi {
}
}

View File

@@ -38,9 +38,9 @@ public class DocSystemController {
}
@AuthMan
@GetMapping("/doc-swagger-plus")
@GetMapping("/doc-api")
public ModelAndView swaggerPlus() {
ModelAndView modelAndView = new ModelAndView("/doc-swagger-plus.html");
ModelAndView modelAndView = new ModelAndView("/doc-api.html");
modelAndView.setStatus(HttpStatus.OK);
return modelAndView;
}

View File

@@ -5,23 +5,6 @@ server:
servlet:
context-path: /zyplayer-doc-manage
spring:
application:
name: zyplayer-doc-manage
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
datasource:
continue-on-error: true
ldap:
enable: false
urls: ['ldap://10.0.1.1:10389']
base: dc=xx,dc=net
username: cn=Manager,dc=xx,dc=net
password: MKDSHYDNIS
anonymousReadOnly: true
# 整个文档项目的配置
zyplayer:
doc:
@@ -76,6 +59,23 @@ zyplayer:
# service: "com.zyplayer.dubbo.service.UserService;\
# com.zyplayer.dubbo.service.AnnotateService;"
spring:
application:
name: zyplayer-doc-manage
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
datasource:
continue-on-error: true
ldap:
enable: false
urls: ['ldap://10.0.1.1:10389']
base: dc=xx,dc=net
username: cn=Manager,dc=xx,dc=net
password: MKDSHYDNIS
anonymousReadOnly: true
# 下面的配置可以不用管了
mybatis-plus:
mapper-locations: classpath:/mapper/**/*Mapper.xml

View File

@@ -1 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon-console.png><title>文档管理系统</title><link href=css/chunk-073e4e5b.e7241bfc.css rel=prefetch><link href=css/chunk-0741282a.cbb897f6.css rel=prefetch><link href=css/chunk-30126bdc.ee6e60f7.css rel=prefetch><link href=css/chunk-32cc5643.5a5b2ca1.css rel=prefetch><link href=css/chunk-35c34f90.938e4b31.css rel=prefetch><link href=css/chunk-4582ecc6.ee6e60f7.css rel=prefetch><link href=css/chunk-7349f4ef.b670b642.css rel=prefetch><link href=js/chunk-073e4e5b.c26a900f.js rel=prefetch><link href=js/chunk-0741282a.4a9caaa8.js rel=prefetch><link href=js/chunk-2d207ece.b459da59.js rel=prefetch><link href=js/chunk-30126bdc.c9a7c363.js rel=prefetch><link href=js/chunk-32cc5643.13e15f9b.js rel=prefetch><link href=js/chunk-35c34f90.e5d5fc88.js rel=prefetch><link href=js/chunk-4582ecc6.9dc9f4c1.js rel=prefetch><link href=js/chunk-7349f4ef.49a2e9a0.js rel=prefetch><link href=css/chunk-vendors.8924efc6.css rel=preload as=style><link href=css/index.ddfd3d93.css rel=preload as=style><link href=js/chunk-vendors.14026b60.js rel=preload as=script><link href=js/index.7893e63c.js rel=preload as=script><link href=css/chunk-vendors.8924efc6.css rel=stylesheet><link href=css/index.ddfd3d93.css rel=stylesheet></head><body><noscript><strong>We're sorry but zyplayer-console-ui doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.14026b60.js></script><script src=js/index.7893e63c.js></script></body></html>
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon-console.png><title>文档管理系统</title><link href=css/chunk-073e4e5b.e7241bfc.css rel=prefetch><link href=css/chunk-0741282a.cbb897f6.css rel=prefetch><link href=css/chunk-30126bdc.ee6e60f7.css rel=prefetch><link href=css/chunk-32cc5643.5a5b2ca1.css rel=prefetch><link href=css/chunk-35c34f90.938e4b31.css rel=prefetch><link href=css/chunk-4582ecc6.ee6e60f7.css rel=prefetch><link href=css/chunk-7349f4ef.b670b642.css rel=prefetch><link href=js/chunk-073e4e5b.c26a900f.js rel=prefetch><link href=js/chunk-0741282a.6bc51b43.js rel=prefetch><link href=js/chunk-2d207ece.b459da59.js rel=prefetch><link href=js/chunk-30126bdc.593dc4bc.js rel=prefetch><link href=js/chunk-32cc5643.68207d52.js rel=prefetch><link href=js/chunk-35c34f90.e5d5fc88.js rel=prefetch><link href=js/chunk-4582ecc6.0d05fa2c.js rel=prefetch><link href=js/chunk-7349f4ef.9db2fc61.js rel=prefetch><link href=css/chunk-vendors.8924efc6.css rel=preload as=style><link href=css/index.ddfd3d93.css rel=preload as=style><link href=js/chunk-vendors.14026b60.js rel=preload as=script><link href=js/index.b995ba0c.js rel=preload as=script><link href=css/chunk-vendors.8924efc6.css rel=stylesheet><link href=css/index.ddfd3d93.css rel=stylesheet></head><body><noscript><strong>We're sorry but zyplayer-console-ui doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.14026b60.js></script><script src=js/index.b995ba0c.js></script></body></html>

View File

@@ -1 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0741282a"],{"40c0":function(e,t,n){},9231:function(e,t,n){"use strict";var a=n("40c0"),r=n.n(a);r.a},ac2a:function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"login-background linear-gradient-"+e.bgImgRandom},[n("div",{staticClass:"login-box"},[n("el-form",{ref:"loginParam",staticClass:"demo-ruleForm login-container",attrs:{model:e.loginParam,rules:e.loginRules,"label-position":"left","label-width":"0px"}},[n("h3",{staticClass:"title"},[e._v("文档管理-系统登录")]),n("el-form-item",{attrs:{prop:"username"}},[n("el-input",{attrs:{type:"text","auto-complete":"off",placeholder:"账号"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.username,callback:function(t){e.$set(e.loginParam,"username",t)},expression:"loginParam.username"}})],1),n("el-form-item",{attrs:{prop:"password"}},[n("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"密码"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.password,callback:function(t){e.$set(e.loginParam,"password",t)},expression:"loginParam.password"}})],1),n("el-form-item",{staticStyle:{width:"100%"}},[n("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.loginLoading},nativeOn:{click:function(t){return t.preventDefault(),e.loginSubmit(t)}}},[e._v("登录")])],1)],1)],1),e._m(0)])},r=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"power-by"},[e._v("Powered By "),n("a",{attrs:{target:"_blank",href:"https://gitee.com/zyplayer/zyplayer-doc"}},[e._v("zyplayer-doc")])])}],o=n("3099"),i={data:function(){return{loginLoading:!1,redirect:"",loginParam:{username:"",password:""},loginRules:{username:[{required:!0,message:"请输入账号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},bgImgRandom:Math.ceil(5*Math.random())}},mounted:function(){this.redirect=this.$route.query.redirect},methods:{loginSubmit:function(){var e=this;this.$refs.loginParam.validate((function(t){t&&(e.loginLoading=!0,o["a"].userLogin(e.loginParam).then((function(){e.$emit("loginSuccess"),e.loginLoading=!1,e.redirect?location.href=decodeURIComponent(e.redirect):e.$router.back()})).catch((function(t){console.log("登录失败",t),e.loginLoading=!1})))}))}}},l=i,s=(n("9231"),n("2877")),u=Object(s["a"])(l,a,r,!1,null,null,null);t["default"]=u.exports}}]);
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0741282a"],{"40c0":function(e,t,n){},9231:function(e,t,n){"use strict";var a=n("40c0"),r=n.n(a);r.a},ac2a:function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"login-background linear-gradient-"+e.bgImgRandom},[n("div",{staticClass:"login-box"},[n("el-form",{ref:"loginParam",staticClass:"demo-ruleForm login-container",attrs:{model:e.loginParam,rules:e.loginRules,"label-position":"left","label-width":"0px"}},[n("h3",{staticClass:"title"},[e._v("文档管理-系统登录")]),n("el-form-item",{attrs:{prop:"username"}},[n("el-input",{attrs:{type:"text","auto-complete":"off",placeholder:"账号"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.username,callback:function(t){e.$set(e.loginParam,"username",t)},expression:"loginParam.username"}})],1),n("el-form-item",{attrs:{prop:"password"}},[n("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"密码"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.password,callback:function(t){e.$set(e.loginParam,"password",t)},expression:"loginParam.password"}})],1),n("el-form-item",{staticStyle:{width:"100%"}},[n("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.loginLoading},nativeOn:{click:function(t){return t.preventDefault(),e.loginSubmit(t)}}},[e._v("登录")])],1)],1)],1),e._m(0)])},r=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"power-by"},[e._v("Powered By "),n("a",{attrs:{target:"_blank",href:"https://gitee.com/zyplayer/zyplayer-doc"}},[e._v("zyplayer-doc")])])}],o=n("3099"),i={data:function(){return{loginLoading:!1,redirect:"",loginParam:{username:"",password:""},loginRules:{username:[{required:!0,message:"请输入账号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},bgImgRandom:Math.ceil(5*Math.random())}},mounted:function(){this.redirect=this.$route.query.redirect},methods:{loginSubmit:function(){var e=this;this.$refs.loginParam.validate((function(t){t&&(e.loginLoading=!0,o["a"].userLogin(e.loginParam).then((function(){e.$emit("loginSuccess"),e.loginLoading=!1,e.redirect?location.href=decodeURIComponent(e.redirect):e.$router.back()})).catch((function(t){console.log("登录失败",t),e.loginLoading=!1})))}))}}},l=i,s=(n("9231"),n("2877")),u=Object(s["a"])(l,a,r,!1,null,null,null);t["default"]=u.exports}}]);

View File

@@ -1 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-30126bdc"],{"0b39":function(e,t,a){"use strict";a.r(t);var n=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticStyle:{"border-bottom":"1px solid #eee",padding:"10px","margin-bottom":"10px"}},[e._v("权限列表")]),a("div",{staticStyle:{padding:"10px"}},[a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.searchResultList,border:"","max-height":"500"}},[a("el-table-column",{attrs:{prop:"id",label:"编号",width:"60"}}),a("el-table-column",{attrs:{prop:"name",label:"权限名"}}),a("el-table-column",{attrs:{prop:"spaceExplain",label:"权限说明"}}),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间"}})],1)],1),a("div",{staticClass:"page-info-box"},[a("el-pagination",{attrs:{"page-sizes":[20,50,100],"page-size":20,"current-page":e.searchParam.pageNum,layout:"prev, pager, next, jumper, sizes, total",total:e.totalCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)])},i=[],r={data:function(){return{editUserDialogVisible:!1,totalCount:0,searchParam:{type:1,keyword:"",pageSize:20,pageNum:1},searchResultList:[{name:"张三"}],roleOptions:[{value:"管理员"}],editUserForm:{}}},mounted:function(){},methods:{handleSizeChange:function(e){this.searchParam.pageSize=e},handleCurrentChange:function(e){this.searchParam.pageNum=e},editUserInfo:function(){this.editUserDialogVisible=!0},resetPassword:function(){}}},l=r,s=(a("cc1a"),a("2877")),o=Object(s["a"])(l,n,i,!1,null,null,null);t["default"]=o.exports},"594a":function(e,t,a){},cc1a:function(e,t,a){"use strict";var n=a("594a"),i=a.n(n);i.a}}]);
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-30126bdc"],{"0b39":function(e,t,a){"use strict";a.r(t);var n=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticStyle:{"border-bottom":"1px solid #eee",padding:"10px","margin-bottom":"10px"}},[e._v("权限列表")]),a("div",{staticStyle:{padding:"10px"}},[a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.searchResultList,border:"","max-height":"500"}},[a("el-table-column",{attrs:{prop:"id",label:"编号",width:"60"}}),a("el-table-column",{attrs:{prop:"name",label:"权限名"}}),a("el-table-column",{attrs:{prop:"spaceExplain",label:"权限说明"}}),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间"}})],1)],1),a("div",{staticClass:"page-info-box"},[a("el-pagination",{attrs:{"page-sizes":[20,50,100],"page-size":20,"current-page":e.searchParam.pageNum,layout:"prev, pager, next, jumper, sizes, total",total:e.totalCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)])},i=[],r={data:function(){return{editUserDialogVisible:!1,totalCount:0,searchParam:{type:1,keyword:"",pageSize:20,pageNum:1},searchResultList:[{name:"张三"}],roleOptions:[{value:"管理员"}],editUserForm:{}}},mounted:function(){},methods:{handleSizeChange:function(e){this.searchParam.pageSize=e},handleCurrentChange:function(e){this.searchParam.pageNum=e},editUserInfo:function(){this.editUserDialogVisible=!0},resetPassword:function(){}}},l=r,s=(a("cc1a"),a("2877")),o=Object(s["a"])(l,n,i,!1,null,null,null);t["default"]=o.exports},"594a":function(e,t,a){},cc1a:function(e,t,a){"use strict";var n=a("594a"),i=a.n(n);i.a}}]);

View File

@@ -1 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-32cc5643"],{"408e":function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"my-info-vue"},[a("el-breadcrumb",{staticStyle:{padding:"20px 10px"},attrs:{"separator-class":"el-icon-arrow-right"}},[a("el-breadcrumb-item",{attrs:{to:{path:"/"}}},[e._v("首页")]),a("el-breadcrumb-item",[e._v("我的信息")])],1),a("div",{staticStyle:{margin:"0 auto","max-width":"1000px"}},[a("el-card",{staticClass:"box-card"},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[e._v("我的信息")]),a("el-form",{staticClass:"search-form-box",attrs:{"label-width":"100px"}},[a("el-form-item",{attrs:{label:"账号:"}},[e._v(e._s(e.userInfo.userNo))]),a("el-form-item",{attrs:{label:"用户名:"}},[e._v(e._s(e.userInfo.userName))]),a("el-form-item",{attrs:{label:"手机号:"}},[e._v(e._s(e.userInfo.phone))]),a("el-form-item",{attrs:{label:"邮箱:"}},[e._v(e._s(e.userInfo.email))]),a("el-form-item",{attrs:{label:"状态:"}},[e._v(e._s(0==e.userInfo.delFlag?"正常":"停用"))]),a("el-form-item",{attrs:{label:"性别:"}},[e._v(e._s(0==e.userInfo.sex?"女":"男"))])],1)],1)],1)],1)},r=[],l=a("3099"),n={data:function(){return{userInfo:{}}},mounted:function(){this.getUserInfo()},methods:{getUserInfo:function(){var e=this;l["a"].getSelfUserInfo().then((function(t){e.userInfo=t.data}))}}},o=n,i=(a("dcfc"),a("2877")),c=Object(i["a"])(o,s,r,!1,null,null,null);t["default"]=c.exports},dcfc:function(e,t,a){"use strict";var s=a("ed55"),r=a.n(s);r.a},ed55:function(e,t,a){}}]);
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-32cc5643"],{"408e":function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"my-info-vue"},[a("el-breadcrumb",{staticStyle:{padding:"20px 10px"},attrs:{"separator-class":"el-icon-arrow-right"}},[a("el-breadcrumb-item",{attrs:{to:{path:"/"}}},[e._v("首页")]),a("el-breadcrumb-item",[e._v("我的信息")])],1),a("div",{staticStyle:{margin:"0 auto","max-width":"1000px"}},[a("el-card",{staticClass:"box-card"},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[e._v("我的信息")]),a("el-form",{staticClass:"search-form-box",attrs:{"label-width":"100px"}},[a("el-form-item",{attrs:{label:"账号:"}},[e._v(e._s(e.userInfo.userNo))]),a("el-form-item",{attrs:{label:"用户名:"}},[e._v(e._s(e.userInfo.userName))]),a("el-form-item",{attrs:{label:"手机号:"}},[e._v(e._s(e.userInfo.phone))]),a("el-form-item",{attrs:{label:"邮箱:"}},[e._v(e._s(e.userInfo.email))]),a("el-form-item",{attrs:{label:"状态:"}},[e._v(e._s(0==e.userInfo.delFlag?"正常":"停用"))]),a("el-form-item",{attrs:{label:"性别:"}},[e._v(e._s(0==e.userInfo.sex?"女":"男"))])],1)],1)],1)],1)},r=[],l=a("3099"),n={data:function(){return{userInfo:{}}},mounted:function(){this.getUserInfo()},methods:{getUserInfo:function(){var e=this;l["a"].getSelfUserInfo().then((function(t){e.userInfo=t.data}))}}},o=n,i=(a("dcfc"),a("2877")),c=Object(i["a"])(o,s,r,!1,null,null,null);t["default"]=c.exports},dcfc:function(e,t,a){"use strict";var s=a("ed55"),r=a.n(s);r.a},ed55:function(e,t,a){}}]);

View File

@@ -1 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4582ecc6"],{"4a12":function(e,t,a){"use strict";var r=a("4de9"),l=a.n(r);l.a},"4de9":function(e,t,a){},"97ae":function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticStyle:{"border-bottom":"1px solid #eee",padding:"10px","margin-bottom":"10px"}},[e._v("角色管理")]),a("el-form",{staticClass:"search-form-box",attrs:{inline:!0,model:e.searchParam}},[a("el-form-item",{attrs:{label:"搜索类型"}},[a("el-select",{attrs:{placeholder:"请选择"},model:{value:e.searchParam.type,callback:function(t){e.$set(e.searchParam,"type",t)},expression:"searchParam.type"}},[a("el-option",{attrs:{label:"角色名",value:1}})],1)],1),a("el-form-item",{attrs:{label:"关键字"}},[a("el-input",{attrs:{placeholder:"输入关键字"},model:{value:e.searchParam.keyword,callback:function(t){e.$set(e.searchParam,"keyword",t)},expression:"searchParam.keyword"}})],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:function(e){}}},[e._v("查询")])],1)],1),a("div",{staticStyle:{padding:"10px"}},[a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.searchResultList,border:"","max-height":"500"}},[a("el-table-column",{attrs:{prop:"id",label:"编号",width:"60"}}),a("el-table-column",{attrs:{prop:"name",label:"角色名"}}),a("el-table-column",{attrs:{prop:"spaceExplain",label:"CODE"}}),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间"}}),a("el-table-column",{attrs:{label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"small",plain:"",type:"primary"},on:{click:function(a){return e.editUserInfo(t.row)}}},[e._v("修改")]),a("el-button",{attrs:{size:"small",plain:"",type:"primary"},on:{click:function(a){return e.resetPassword(t.row)}}},[e._v("权限管理")]),a("el-button",{attrs:{size:"small",plain:"",type:"warning"},on:{click:function(a){return e.editUserInfo(t.row)}}},[e._v("删除")])]}}])})],1)],1),a("div",{staticClass:"page-info-box"},[a("el-pagination",{attrs:{"page-sizes":[20,50,100],"page-size":20,"current-page":e.searchParam.pageNum,layout:"prev, pager, next, jumper, sizes, total",total:e.totalCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),a("el-dialog",{attrs:{title:"修改用户",visible:e.editUserDialogVisible,width:"600px"},on:{"update:visible":function(t){e.editUserDialogVisible=t}}},[a("el-form",{ref:"form",attrs:{model:e.editUserForm,"label-width":"80px"}},[a("el-form-item",{attrs:{label:"账号"}},[a("el-input",{model:{value:e.editUserForm.name,callback:function(t){e.$set(e.editUserForm,"name",t)},expression:"editUserForm.name"}})],1),a("el-form-item",{attrs:{label:"用户名"}},[a("el-input",{model:{value:e.editUserForm.name,callback:function(t){e.$set(e.editUserForm,"name",t)},expression:"editUserForm.name"}})],1),a("el-form-item",{attrs:{label:"手机号"}},[a("el-input",{model:{value:e.editUserForm.name,callback:function(t){e.$set(e.editUserForm,"name",t)},expression:"editUserForm.name"}})],1),a("el-form-item",{attrs:{label:"邮箱"}},[a("el-input",{model:{value:e.editUserForm.name,callback:function(t){e.$set(e.editUserForm,"name",t)},expression:"editUserForm.name"}})],1),a("el-form-item",{attrs:{label:"性别"}},[a("el-radio-group",{model:{value:e.editUserForm.resource,callback:function(t){e.$set(e.editUserForm,"resource",t)},expression:"editUserForm.resource"}},[a("el-radio",{attrs:{label:"男"}}),a("el-radio",{attrs:{label:"女"}})],1)],1),a("el-form-item",{attrs:{label:"角色"}},[a("el-select",{attrs:{multiple:"",filterable:"",placeholder:"请选择"},model:{value:e.editUserForm.xx,callback:function(t){e.$set(e.editUserForm,"xx",t)},expression:"editUserForm.xx"}},e._l(e.roleOptions,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:function(e){}}},[e._v("确定")]),a("el-button",[e._v("取消")])],1)],1)],1)],1)},l=[],i={data:function(){return{editUserDialogVisible:!1,totalCount:0,searchParam:{type:1,keyword:"",pageSize:20,pageNum:1},searchResultList:[{name:"张三"}],roleOptions:[{value:"管理员"}],editUserForm:{}}},mounted:function(){},methods:{handleSizeChange:function(e){this.searchParam.pageSize=e},handleCurrentChange:function(e){this.searchParam.pageNum=e},editUserInfo:function(){this.editUserDialogVisible=!0},resetPassword:function(){}}},o=i,s=(a("4a12"),a("2877")),n=Object(s["a"])(o,r,l,!1,null,null,null);t["default"]=n.exports}}]);
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4582ecc6"],{"4a12":function(e,t,a){"use strict";var r=a("4de9"),l=a.n(r);l.a},"4de9":function(e,t,a){},"97ae":function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticStyle:{"border-bottom":"1px solid #eee",padding:"10px","margin-bottom":"10px"}},[e._v("角色管理")]),a("el-form",{staticClass:"search-form-box",attrs:{inline:!0,model:e.searchParam}},[a("el-form-item",{attrs:{label:"搜索类型"}},[a("el-select",{attrs:{placeholder:"请选择"},model:{value:e.searchParam.type,callback:function(t){e.$set(e.searchParam,"type",t)},expression:"searchParam.type"}},[a("el-option",{attrs:{label:"角色名",value:1}})],1)],1),a("el-form-item",{attrs:{label:"关键字"}},[a("el-input",{attrs:{placeholder:"输入关键字"},model:{value:e.searchParam.keyword,callback:function(t){e.$set(e.searchParam,"keyword",t)},expression:"searchParam.keyword"}})],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:function(e){}}},[e._v("查询")])],1)],1),a("div",{staticStyle:{padding:"10px"}},[a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.searchResultList,border:"","max-height":"500"}},[a("el-table-column",{attrs:{prop:"id",label:"编号",width:"60"}}),a("el-table-column",{attrs:{prop:"name",label:"角色名"}}),a("el-table-column",{attrs:{prop:"spaceExplain",label:"CODE"}}),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间"}}),a("el-table-column",{attrs:{label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"small",plain:"",type:"primary"},on:{click:function(a){return e.editUserInfo(t.row)}}},[e._v("修改")]),a("el-button",{attrs:{size:"small",plain:"",type:"primary"},on:{click:function(a){return e.resetPassword(t.row)}}},[e._v("权限管理")]),a("el-button",{attrs:{size:"small",plain:"",type:"warning"},on:{click:function(a){return e.editUserInfo(t.row)}}},[e._v("删除")])]}}])})],1)],1),a("div",{staticClass:"page-info-box"},[a("el-pagination",{attrs:{"page-sizes":[20,50,100],"page-size":20,"current-page":e.searchParam.pageNum,layout:"prev, pager, next, jumper, sizes, total",total:e.totalCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),a("el-dialog",{attrs:{title:"修改用户",visible:e.editUserDialogVisible,width:"600px"},on:{"update:visible":function(t){e.editUserDialogVisible=t}}},[a("el-form",{ref:"form",attrs:{model:e.editUserForm,"label-width":"80px"}},[a("el-form-item",{attrs:{label:"账号"}},[a("el-input",{model:{value:e.editUserForm.name,callback:function(t){e.$set(e.editUserForm,"name",t)},expression:"editUserForm.name"}})],1),a("el-form-item",{attrs:{label:"用户名"}},[a("el-input",{model:{value:e.editUserForm.name,callback:function(t){e.$set(e.editUserForm,"name",t)},expression:"editUserForm.name"}})],1),a("el-form-item",{attrs:{label:"手机号"}},[a("el-input",{model:{value:e.editUserForm.name,callback:function(t){e.$set(e.editUserForm,"name",t)},expression:"editUserForm.name"}})],1),a("el-form-item",{attrs:{label:"邮箱"}},[a("el-input",{model:{value:e.editUserForm.name,callback:function(t){e.$set(e.editUserForm,"name",t)},expression:"editUserForm.name"}})],1),a("el-form-item",{attrs:{label:"性别"}},[a("el-radio-group",{model:{value:e.editUserForm.resource,callback:function(t){e.$set(e.editUserForm,"resource",t)},expression:"editUserForm.resource"}},[a("el-radio",{attrs:{label:"男"}}),a("el-radio",{attrs:{label:"女"}})],1)],1),a("el-form-item",{attrs:{label:"角色"}},[a("el-select",{attrs:{multiple:"",filterable:"",placeholder:"请选择"},model:{value:e.editUserForm.xx,callback:function(t){e.$set(e.editUserForm,"xx",t)},expression:"editUserForm.xx"}},e._l(e.roleOptions,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:function(e){}}},[e._v("确定")]),a("el-button",[e._v("取消")])],1)],1)],1)],1)},l=[],i={data:function(){return{editUserDialogVisible:!1,totalCount:0,searchParam:{type:1,keyword:"",pageSize:20,pageNum:1},searchResultList:[{name:"张三"}],roleOptions:[{value:"管理员"}],editUserForm:{}}},mounted:function(){},methods:{handleSizeChange:function(e){this.searchParam.pageSize=e},handleCurrentChange:function(e){this.searchParam.pageNum=e},editUserInfo:function(){this.editUserDialogVisible=!0},resetPassword:function(){}}},o=i,s=(a("4a12"),a("2877")),n=Object(s["a"])(o,r,l,!1,null,null,null);t["default"]=n.exports}}]);

View File

@@ -1 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7349f4ef"],{2629:function(t,i,A){"use strict";var a=A("d7846"),o=A.n(a);o.a},"3c4a":function(t,i){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE2UlEQVR4nO3bW4hVVRzH8c+aM6VZPXRTC5qkHvIlSAhLujxGN3qooEizIrpoN7xkF0rLLmamFaSZWYlUVChkUARGUBFpkIiWBtlFu5iWRGWpM+ec1cOeqWnce8aZs8+Zxu0PNpyZ/3/vtfZ3/9dl7/VfQRfNvjRCwOAYBIghscUQdf77n9+BjrOidN//+HX2DbHrudUY7EF85IXmrtXLXVklDMVTGI5q3Wvxr0IMduNLfHL3deU1gh8Ev4nMWpw/kND1H+0R0IIPY9BCYyOg07UrMdgh2BRZJsSV2IjKo88dVMs9/0f1j7G+qySJxKEYg614LbLkzolt65SZvah2EE01X6ExCjguMkmwQtmdkSOm3dBm2g1tNV14oADorBF4CEsFp8C0G/sOYSACIGm6F+H1GFxYJdzRRwgDFUCHRmJx4Aol4Y6beg9hoAOA4YInRZcd+idTJ/QOwv4AAIZGHt95mHPoHYR6D4Ot2ISfu/GJGIxRGFRDWS2YjbH4el9PqheAiDVYiLfwq5RJV7uqOAHv4vgayz0Dd8UQb58ysXXX3AUH93hCvQAsx1RsDpEZL5cyHe+9pgy7dZok1qhxeA+vTpnYqicIuQMIrIpMCTFsmf5Kv3Qxh2Bq5AP82JNz3gDasCCwJetxTr+60vFzUKSZGCNDZDeRvuhUjA3MmTyx1bxuoiBvABuxEtKe/vTxFaJjBONwLg5vNw2SzPnzUgljY/CS5B0iU3nH6DpNtqcZZoyvCEl4zhLNxXk4s/04TW0jQJpOwSUw+ebWTKe8AfyhrHpfdts/G5fLN9yz1ITzJUNst06N1Ik4rIHljZHMLzLVaACNePKddWTktO7G1/1lKtydRkdKkzL6gSIAOCNwXJaxCACOlbwnpKoIAAZhWJaxCACaOz6dTbpl736gCABgpCapb2RFAdAiGpJmKAqAo2VMwIoCYDBSV1GKAiBTBwD0dwX6WwcA9HcF+lsHAPR3BfpbRQHwl2SVai8VBcA2/JFmKAqAzUr+SjP8n3OE8lO0UVl8Yv7eCyRFiIA2fJ5lLAKA3fgly1gEAJvxTZaxCAA+qiajQKqKAGBNk/QOkMaPApWeXXLV1sDq7hzqEgEPXpmZX70BO+pRZobe180IQP4AjlJK//pKkj2C+diTc7lp2oU3UJ6XEf7k3wRGiY7Ht10NDywtmT6+UsZswQaMlnyojJJEiYvlu3L8Cd7pySlvACfhgsCCmVdW98oSmbm0RPJi8lr70ZEk1YKz5AdgFxaKfuvJMe8m0BS5rdq+Jv/A2Eb3ef9oJd5Gt/lB1KcTPBnzY4in0y8QfsKjgd/3JRmhXsPgGLyKl2Pw5v3jKl/FoDV1x4hYjUno55E8UcXTlVJlValS6jFHkPrOA0bgHkzAd6S/jrYrryyx5VjQXG6Ojz+zb7tJ6j0RCjiy/ai3PpYA/3Vfb579Zyq8PkS3hmhTb0/cHwCsFV2v6lPozdNnYAOoSpKixwdWC8xZ2PtdZAMVwE4swlWB9TDn2b5toRto3wSrkinuE1gh2vNYjXsHBwqAVnwWWBKjZdgaQj4bJ/+vACJ+l2y1WY1lYlht2LatYftQjdg6u0cyrn6jcZuny5Kb/h5fYC224JcQtc56vj7PKuuq23Gtxub2xkCbqAwPv9iY4Pwbdbxk84RcOcgAAAAASUVORK5CYII="},b3d7:function(t,i,A){"use strict";A.r(i);var a=function(){var t=this,i=t.$createElement,a=t._self._c||i;return a("div",{staticStyle:{padding:"10px"}},[a("div",{staticStyle:{"max-width":"800px",margin:"20px auto"}},[a("div",{staticStyle:{"text-align":"center"}},[t._v('欢迎使用ヾ(๑╹◡╹)ノ" - 今天也要加油鸭')]),a("div",{staticStyle:{padding:"20px"}},[a("el-card",{staticClass:"box-card"},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[a("span",[t._v("所有产品")])]),a("div",{staticClass:"product-list"},[a("div",{staticClass:"item",on:{click:function(i){return t.jumpToDocPage("doc-swagger-plus")}}},[a("div",{staticClass:"logo-text text1"},[t._v("Swagger")]),a("div",[t._v("Swagger文档")])]),a("div",{staticClass:"item",on:{click:function(i){return t.jumpToDocPage("doc-db")}}},[a("div",{staticClass:"logo-text text2"},[t._v("DB")]),a("div",[t._v("数据库文档")])]),a("div",{staticClass:"item",on:{click:function(i){return t.jumpToDocPage("doc-wiki")}}},[a("div",{staticClass:"logo-text text3"},[t._v("WIKI")]),a("div",[t._v("WIKI文档")])]),a("div",{staticClass:"item",on:{click:function(i){return t.jumpToDocPage("doc-dubbo")}}},[a("div",{staticClass:"logo-img"},[a("img",{attrs:{src:A("3c4a")}})]),a("div",[t._v("Dubbo文档")])])])])],1)])])},o=[],s={data:function(){return{}},mounted:function(){},methods:{jumpToDocPage:function(t){window.open(t)}}},c=s,d=(A("2629"),A("2877")),e=Object(d["a"])(c,a,o,!1,null,null,null);i["default"]=e.exports},d7846:function(t,i,A){}}]);
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7349f4ef"],{2629:function(t,A,i){"use strict";var a=i("d7846"),o=i.n(a);o.a},"3c4a":function(t,A){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE2UlEQVR4nO3bW4hVVRzH8c+aM6VZPXRTC5qkHvIlSAhLujxGN3qooEizIrpoN7xkF0rLLmamFaSZWYlUVChkUARGUBFpkIiWBtlFu5iWRGWpM+ec1cOeqWnce8aZs8+Zxu0PNpyZ/3/vtfZ3/9dl7/VfQRfNvjRCwOAYBIghscUQdf77n9+BjrOidN//+HX2DbHrudUY7EF85IXmrtXLXVklDMVTGI5q3Wvxr0IMduNLfHL3deU1gh8Ev4nMWpw/kND1H+0R0IIPY9BCYyOg07UrMdgh2BRZJsSV2IjKo88dVMs9/0f1j7G+qySJxKEYg614LbLkzolt65SZvah2EE01X6ExCjguMkmwQtmdkSOm3dBm2g1tNV14oADorBF4CEsFp8C0G/sOYSACIGm6F+H1GFxYJdzRRwgDFUCHRmJx4Aol4Y6beg9hoAOA4YInRZcd+idTJ/QOwv4AAIZGHt95mHPoHYR6D4Ot2ISfu/GJGIxRGFRDWS2YjbH4el9PqheAiDVYiLfwq5RJV7uqOAHv4vgayz0Dd8UQb58ysXXX3AUH93hCvQAsx1RsDpEZL5cyHe+9pgy7dZok1qhxeA+vTpnYqicIuQMIrIpMCTFsmf5Kv3Qxh2Bq5AP82JNz3gDasCCwJetxTr+60vFzUKSZGCNDZDeRvuhUjA3MmTyx1bxuoiBvABuxEtKe/vTxFaJjBONwLg5vNw2SzPnzUgljY/CS5B0iU3nH6DpNtqcZZoyvCEl4zhLNxXk4s/04TW0jQJpOwSUw+ebWTKe8AfyhrHpfdts/G5fLN9yz1ITzJUNst06N1Ik4rIHljZHMLzLVaACNePKddWTktO7G1/1lKtydRkdKkzL6gSIAOCNwXJaxCACOlbwnpKoIAAZhWJaxCACaOz6dTbpl736gCABgpCapb2RFAdAiGpJmKAqAo2VMwIoCYDBSV1GKAiBTBwD0dwX6WwcA9HcF+lsHAPR3BfpbRQHwl2SVai8VBcA2/JFmKAqAzUr+SjP8n3OE8lO0UVl8Yv7eCyRFiIA2fJ5lLAKA3fgly1gEAJvxTZaxCAA+qiajQKqKAGBNk/QOkMaPApWeXXLV1sDq7hzqEgEPXpmZX70BO+pRZobe180IQP4AjlJK//pKkj2C+diTc7lp2oU3UJ6XEf7k3wRGiY7Ht10NDywtmT6+UsZswQaMlnyojJJEiYvlu3L8Cd7pySlvACfhgsCCmVdW98oSmbm0RPJi8lr70ZEk1YKz5AdgFxaKfuvJMe8m0BS5rdq+Jv/A2Eb3ef9oJd5Gt/lB1KcTPBnzY4in0y8QfsKjgd/3JRmhXsPgGLyKl2Pw5v3jKl/FoDV1x4hYjUno55E8UcXTlVJlValS6jFHkPrOA0bgHkzAd6S/jrYrryyx5VjQXG6Ojz+zb7tJ6j0RCjiy/ai3PpYA/3Vfb579Zyq8PkS3hmhTb0/cHwCsFV2v6lPozdNnYAOoSpKixwdWC8xZ2PtdZAMVwE4swlWB9TDn2b5toRto3wSrkinuE1gh2vNYjXsHBwqAVnwWWBKjZdgaQj4bJ/+vACJ+l2y1WY1lYlht2LatYftQjdg6u0cyrn6jcZuny5Kb/h5fYC224JcQtc56vj7PKuuq23Gtxub2xkCbqAwPv9iY4Pwbdbxk84RcOcgAAAAASUVORK5CYII="},b3d7:function(t,A,i){"use strict";i.r(A);var a=function(){var t=this,A=t.$createElement,a=t._self._c||A;return a("div",{staticStyle:{padding:"10px"}},[a("div",{staticStyle:{"max-width":"800px",margin:"20px auto"}},[a("div",{staticStyle:{"text-align":"center"}},[t._v('欢迎使用ヾ(๑╹◡╹)ノ" - 今天也要加油鸭')]),a("div",{staticStyle:{padding:"20px"}},[a("el-card",{staticClass:"box-card"},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[a("span",[t._v("所有产品")])]),a("div",{staticClass:"product-list"},[a("div",{staticClass:"item",on:{click:function(A){return t.jumpToDocPage("doc-api")}}},[a("div",{staticClass:"logo-text text1"},[t._v("API")]),a("div",[t._v("API接口文档")])]),a("div",{staticClass:"item",on:{click:function(A){return t.jumpToDocPage("doc-db")}}},[a("div",{staticClass:"logo-text text2"},[t._v("DB")]),a("div",[t._v("数据库文档")])]),a("div",{staticClass:"item",on:{click:function(A){return t.jumpToDocPage("doc-wiki")}}},[a("div",{staticClass:"logo-text text3"},[t._v("WIKI")]),a("div",[t._v("WIKI文档")])]),a("div",{staticClass:"item",on:{click:function(A){return t.jumpToDocPage("doc-dubbo")}}},[a("div",{staticClass:"logo-img"},[a("img",{attrs:{src:i("3c4a")}})]),a("div",[t._v("Dubbo文档")])])])])],1)])])},o=[],c={data:function(){return{}},mounted:function(){},methods:{jumpToDocPage:function(t){window.open(t)}}},d=c,s=(i("2629"),i("2877")),l=Object(s["a"])(d,a,o,!1,null,null,null);A["default"]=l.exports},d7846:function(t,A,i){}}]);

File diff suppressed because one or more lines are too long

View File

@@ -510,13 +510,13 @@ CREATE TABLE `db_table_relation` (
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='';
DROP TABLE IF EXISTS `swagger_doc`;
CREATE TABLE `swagger_doc` (
DROP TABLE IF EXISTS `api_doc`;
CREATE TABLE `api_doc` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(100) DEFAULT NULL COMMENT '',
`doc_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1=url 2=swagger文档json',
`doc_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1=swagger url 2=swagger json 3=openapi url 4=openapi json 5=API分组',
`doc_url` varchar(250) DEFAULT NULL COMMENT 'URL地址',
`json_content` mediumtext DEFAULT NULL COMMENT 'swagger文档json内容',
`json_content` mediumtext DEFAULT NULL COMMENT 'json内容',
`rewrite_domain` varchar(100) DEFAULT NULL COMMENT '',
`open_visit` tinyint(4) NOT NULL DEFAULT '0' COMMENT '访 0= 1=',
`doc_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1= 2=',
@@ -525,11 +525,12 @@ CREATE TABLE `swagger_doc` (
`create_time` datetime DEFAULT NULL COMMENT '',
`yn` tinyint(4) DEFAULT NULL COMMENT ' 0= 1=',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档地址';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='api文档地址';
DROP TABLE IF EXISTS `swagger_request_param`;
CREATE TABLE `swagger_request_param` (
DROP TABLE IF EXISTS `api_request_param`;
CREATE TABLE `api_request_param` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`doc_id` bigint(20) DEFAULT NULL COMMENT 'api_doc主键ID',
`doc_url` varchar(250) DEFAULT NULL COMMENT 'url',
`form_data` text DEFAULT NULL COMMENT 'form参数',
`body_data` text DEFAULT NULL COMMENT 'body参数',
@@ -540,20 +541,21 @@ CREATE TABLE `swagger_request_param` (
`create_time` datetime DEFAULT NULL COMMENT '',
`yn` tinyint(4) DEFAULT NULL COMMENT ' 0= 1=',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档请求参数记';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='';
DROP TABLE IF EXISTS `swagger_global_param`;
CREATE TABLE `swagger_global_param` (
DROP TABLE IF EXISTS `api_global_param`;
CREATE TABLE `api_global_param` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`param_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1=form 2=header 3=cookie',
`param_key` varchar(100) DEFAULT NULL COMMENT '',
`param_value` varchar(1024) DEFAULT NULL COMMENT '',
`param_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1= 2=',
`create_user_id` bigint(20) DEFAULT NULL COMMENT 'ID',
`create_user_name` varchar(20) DEFAULT NULL COMMENT '',
`create_time` datetime DEFAULT NULL COMMENT '',
`yn` tinyint(4) DEFAULT NULL COMMENT ' 0= 1=',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档全局参数记录';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='api文档全局参数记录';
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -513,13 +513,13 @@ CREATE TABLE `db_table_relation` (
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='';
DROP TABLE IF EXISTS `swagger_doc`;
CREATE TABLE `swagger_doc` (
DROP TABLE IF EXISTS `api_doc`;
CREATE TABLE `api_doc` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(100) DEFAULT NULL COMMENT '',
`doc_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1=url 2=swagger文档json',
`doc_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1=swagger url 2=swagger json 3=openapi url 4=openapi json 5=API分组',
`doc_url` varchar(250) DEFAULT NULL COMMENT 'URL地址',
`json_content` mediumtext DEFAULT NULL COMMENT 'swagger文档json内容',
`json_content` mediumtext DEFAULT NULL COMMENT 'json内容',
`rewrite_domain` varchar(100) DEFAULT NULL COMMENT '',
`open_visit` tinyint(4) NOT NULL DEFAULT '0' COMMENT '访 0= 1=',
`doc_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1= 2=',
@@ -528,11 +528,12 @@ CREATE TABLE `swagger_doc` (
`create_time` datetime DEFAULT NULL COMMENT '',
`yn` tinyint(4) DEFAULT NULL COMMENT ' 0= 1=',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档地址';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='api文档地址';
DROP TABLE IF EXISTS `swagger_request_param`;
CREATE TABLE `swagger_request_param` (
DROP TABLE IF EXISTS `api_request_param`;
CREATE TABLE `api_request_param` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`doc_id` bigint(20) DEFAULT NULL COMMENT 'api_doc主键ID',
`doc_url` varchar(250) DEFAULT NULL COMMENT 'url',
`form_data` text DEFAULT NULL COMMENT 'form参数',
`body_data` text DEFAULT NULL COMMENT 'body参数',
@@ -543,19 +544,20 @@ CREATE TABLE `swagger_request_param` (
`create_time` datetime DEFAULT NULL COMMENT '',
`yn` tinyint(4) DEFAULT NULL COMMENT ' 0= 1=',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档请求参数记';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='';
DROP TABLE IF EXISTS `swagger_global_param`;
CREATE TABLE `swagger_global_param` (
DROP TABLE IF EXISTS `api_global_param`;
CREATE TABLE `api_global_param` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`param_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1=form 2=header 3=cookie',
`param_key` varchar(100) DEFAULT NULL COMMENT '',
`param_value` varchar(1024) DEFAULT NULL COMMENT '',
`param_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 1= 2=',
`create_user_id` bigint(20) DEFAULT NULL COMMENT 'ID',
`create_user_name` varchar(20) DEFAULT NULL COMMENT '',
`create_time` datetime DEFAULT NULL COMMENT '',
`yn` tinyint(4) DEFAULT NULL COMMENT ' 0= 1=',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档全局参数记录';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='api文档全局参数记录';
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -9,12 +9,13 @@
--
-- ------------------------从1.0.9版本升级------------------------
CREATE TABLE `swagger_doc` (
DROP TABLE IF EXISTS `api_doc`;
CREATE TABLE `api_doc` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键自增ID',
`name` varchar(100) DEFAULT NULL COMMENT '文档名称',
`doc_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '文档类型 1=url 2=swagger文档json',
`doc_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '文档类型 1=swagger url 2=swagger json 3=openapi url 4=openapi json 5=自建API分组',
`doc_url` varchar(250) DEFAULT NULL COMMENT '文档URL地址',
`json_content` mediumtext DEFAULT NULL COMMENT 'swagger文档json内容',
`json_content` mediumtext DEFAULT NULL COMMENT '文档json内容',
`rewrite_domain` varchar(100) DEFAULT NULL COMMENT '重写的域名',
`open_visit` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否开放访问 0=否 1=是',
`doc_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态 1=启用 2=禁用',
@@ -23,10 +24,12 @@ CREATE TABLE `swagger_doc` (
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`yn` tinyint(4) DEFAULT NULL COMMENT '是否有效 0=无效 1=有效',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档地址';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='api文档地址';
CREATE TABLE `swagger_request_param` (
DROP TABLE IF EXISTS `api_request_param`;
CREATE TABLE `api_request_param` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键自增ID',
`doc_id` bigint(20) DEFAULT NULL COMMENT 'api_doc主键ID',
`doc_url` varchar(250) DEFAULT NULL COMMENT '文档url',
`form_data` text DEFAULT NULL COMMENT 'form参数',
`body_data` text DEFAULT NULL COMMENT 'body参数',
@@ -37,19 +40,21 @@ CREATE TABLE `swagger_request_param` (
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`yn` tinyint(4) DEFAULT NULL COMMENT '是否有效 0=无效 1=有效',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档请求参数记录';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='文档请求参数记录';
CREATE TABLE `swagger_global_param` (
DROP TABLE IF EXISTS `api_global_param`;
CREATE TABLE `api_global_param` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键自增ID',
`param_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 1=form 2=header 3=cookie',
`param_key` varchar(100) DEFAULT NULL COMMENT '参数名',
`param_value` varchar(1024) DEFAULT NULL COMMENT '参数值',
`param_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态 1=启用 2=禁用',
`create_user_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',
`create_user_name` varchar(20) DEFAULT NULL COMMENT '创建人名字',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`yn` tinyint(4) DEFAULT NULL COMMENT '是否有效 0=无效 1=有效',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='swagger文档全局参数记录';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='api文档全局参数记录';

View File

@@ -1,39 +0,0 @@
package ${package.Controller};
import org.springframework.web.bind.annotation.RequestMapping;
<#if restControllerStyle>
import org.springframework.web.bind.annotation.RestController;
<#else>
import org.springframework.stereotype.Controller;
</#if>
<#if superControllerClassPackage??>
import ${superControllerClassPackage};
</#if>
/**
* <p>
* ${table.comment!} 前端控制器
* </p>
*
* @author ${author}
* @since ${date}
*/
<#if restControllerStyle>
@RestController
<#else>
@Controller
</#if>
@RequestMapping("<#if package.ModuleName??>/${package.ModuleName}</#if>/<#if controllerMappingHyphenStyle??>${controllerMappingHyphen}<#else>${table.entityPath}</#if>")
<#if kotlin>
class ${table.controllerName}<#if superControllerClass??> : ${superControllerClass}()</#if>
<#else>
<#if superControllerClass??>
public class ${table.controllerName} extends ${superControllerClass} {
<#else>
public class ${table.controllerName} {
</#if>
}
</#if>

View File

@@ -1,41 +0,0 @@
package ${package.Controller};
import org.springframework.web.bind.annotation.RequestMapping;
#if(${restControllerStyle})
import org.springframework.web.bind.annotation.RestController;
#else
import org.springframework.stereotype.Controller;
#end
#if(${superControllerClassPackage})
import ${superControllerClassPackage};
#end
/**
* <p>
* $!{table.comment} 前端控制器
* </p>
*
* @author ${author}
* @since ${date}
*/
#if(${restControllerStyle})
@RestController
#else
@Controller
#end
@RequestMapping("#if(${package.ModuleName})/${package.ModuleName}#end/#if(${controllerMappingHyphenStyle})${controllerMappingHyphen}#else${table.entityPath}#end")
#if(${kotlin})
class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end
#else
#if(${superControllerClass})
public class ${table.controllerName} extends ${superControllerClass} {
#else
public class ${table.controllerName} {
#end
}
#end

View File

@@ -1,150 +0,0 @@
package ${package.Entity};
<#list table.importPackages as pkg>
import ${pkg};
</#list>
<#if swagger2>
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
</#if>
<#if entityLombokModel>
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
</#if>
/**
* <p>
* ${table.comment!}
* </p>
*
* @author ${author}
* @since ${date}
*/
<#if entityLombokModel>
@Data
<#if superEntityClass??>
@EqualsAndHashCode(callSuper = true)
<#else>
@EqualsAndHashCode(callSuper = false)
</#if>
@Accessors(chain = true)
</#if>
<#if table.convert>
@TableName("${table.name}")
</#if>
<#if swagger2>
@ApiModel(value="${entity}对象", description="${table.comment!}")
</#if>
<#if superEntityClass??>
public class ${entity} extends ${superEntityClass}<#if activeRecord><${entity}></#if> {
<#elseif activeRecord>
public class ${entity} extends Model<${entity}> {
<#else>
public class ${entity} implements Serializable {
</#if>
private static final long serialVersionUID = 1L;
<#-- ---------- BEGIN 字段循环遍历 ---------->
<#list table.fields as field>
<#if field.keyFlag>
<#assign keyPropertyName="${field.propertyName}"/>
</#if>
<#if field.comment!?length gt 0>
<#if swagger2>
@ApiModelProperty(value = "${field.comment}")
<#else>
/**
* ${field.comment}
*/
</#if>
</#if>
<#if field.keyFlag>
<#-- 主键 -->
<#if field.keyIdentityFlag>
@TableId(value = "${field.name}", type = IdType.AUTO)
<#elseif idType??>
@TableId(value = "${field.name}", type = IdType.${idType})
<#elseif field.convert>
@TableId("${field.name}")
</#if>
<#-- 普通字段 -->
<#elseif field.fill??>
<#-- ----- 存在字段填充设置 ----->
<#if field.convert>
@TableField(value = "${field.name}", fill = FieldFill.${field.fill})
<#else>
@TableField(fill = FieldFill.${field.fill})
</#if>
<#elseif field.convert>
@TableField("${field.name}")
</#if>
<#-- 乐观锁注解 -->
<#if (versionFieldName!"") == field.name>
@Version
</#if>
<#-- 逻辑删除注解 -->
<#if (logicDeleteFieldName!"") == field.name>
@TableLogic
</#if>
private ${field.propertyType} ${field.propertyName};
</#list>
<#------------ END 字段循环遍历 ---------->
<#if !entityLombokModel>
<#list table.fields as field>
<#if field.propertyType == "boolean">
<#assign getprefix="is"/>
<#else>
<#assign getprefix="get"/>
</#if>
public ${field.propertyType} ${getprefix}${field.capitalName}() {
return ${field.propertyName};
}
<#if entityBuilderModel>
public ${entity} set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
<#else>
public void set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
</#if>
this.${field.propertyName} = ${field.propertyName};
<#if entityBuilderModel>
return this;
</#if>
}
</#list>
</#if>
<#if entityColumnConstant>
<#list table.fields as field>
public static final String ${field.name?upper_case} = "${field.name}";
</#list>
</#if>
<#if activeRecord>
@Override
protected Serializable pkVal() {
<#if keyPropertyName??>
return this.${keyPropertyName};
<#else>
return null;
</#if>
}
</#if>
<#if !entityLombokModel>
@Override
public String toString() {
return "${entity}{" +
<#list table.fields as field>
<#if field_index==0>
"${field.propertyName}=" + ${field.propertyName} +
<#else>
", ${field.propertyName}=" + ${field.propertyName} +
</#if>
</#list>
"}";
}
</#if>
}

View File

@@ -1,151 +0,0 @@
package ${package.Entity};
#foreach($pkg in ${table.importPackages})
import ${pkg};
#end
#if(${swagger2})
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
#end
#if(${entityLombokModel})
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
#end
/**
* <p>
* $!{table.comment}
* </p>
*
* @author ${author}
* @since ${date}
*/
#if(${entityLombokModel})
@Data
#if(${superEntityClass})
@EqualsAndHashCode(callSuper = true)
#else
@EqualsAndHashCode(callSuper = false)
#end
@Accessors(chain = true)
#end
#if(${table.convert})
@TableName("${table.name}")
#end
#if(${swagger2})
@ApiModel(value="${entity}对象", description="$!{table.comment}")
#end
#if(${superEntityClass})
public class ${entity} extends ${superEntityClass}#if(${activeRecord})<${entity}>#end {
#elseif(${activeRecord})
public class ${entity} extends Model<${entity}> {
#else
public class ${entity} implements Serializable {
#end
private static final long serialVersionUID = 1L;
## ---------- BEGIN 字段循环遍历 ----------
#foreach($field in ${table.fields})
#if(${field.keyFlag})
#set($keyPropertyName=${field.propertyName})
#end
#if("$!field.comment" != "")
#if(${swagger2})
@ApiModelProperty(value = "${field.comment}")
#else
/**
* ${field.comment}
*/
#end
#end
#if(${field.keyFlag})
## 主键
#if(${field.keyIdentityFlag})
@TableId(value = "${field.name}", type = IdType.AUTO)
#elseif(!$null.isNull(${idType}) && "$!idType" != "")
@TableId(value = "${field.name}", type = IdType.${idType})
#elseif(${field.convert})
@TableId("${field.name}")
#end
## 普通字段
#elseif(${field.fill})
## ----- 存在字段填充设置 -----
#if(${field.convert})
@TableField(value = "${field.name}", fill = FieldFill.${field.fill})
#else
@TableField(fill = FieldFill.${field.fill})
#end
#elseif(${field.convert})
@TableField("${field.name}")
#end
## 乐观锁注解
#if(${versionFieldName}==${field.name})
@Version
#end
## 逻辑删除注解
#if(${logicDeleteFieldName}==${field.name})
@TableLogic
#end
private ${field.propertyType} ${field.propertyName};
#end
## ---------- END 字段循环遍历 ----------
#if(!${entityLombokModel})
#foreach($field in ${table.fields})
#if(${field.propertyType.equals("boolean")})
#set($getprefix="is")
#else
#set($getprefix="get")
#end
public ${field.propertyType} ${getprefix}${field.capitalName}() {
return ${field.propertyName};
}
#if(${entityBuilderModel})
public ${entity} set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
#else
public void set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
#end
this.${field.propertyName} = ${field.propertyName};
#if(${entityBuilderModel})
return this;
#end
}
#end
#end
#if(${entityColumnConstant})
#foreach($field in ${table.fields})
public static final String ${field.name.toUpperCase()} = "${field.name}";
#end
#end
#if(${activeRecord})
@Override
protected Serializable pkVal() {
#if(${keyPropertyName})
return this.${keyPropertyName};
#else
return null;
#end
}
#end
#if(!${entityLombokModel})
@Override
public String toString() {
return "${entity}{" +
#foreach($field in ${table.fields})
#if($!{foreach.index}==0)
"${field.propertyName}=" + ${field.propertyName} +
#else
", ${field.propertyName}=" + ${field.propertyName} +
#end
#end
"}";
}
#end
}

View File

@@ -1,105 +0,0 @@
package ${package.Entity}
<#list table.importPackages as pkg>
import ${pkg}
</#list>
/**
* <p>
* ${table.comment}
* </p>
*
* @author ${author}
* @since ${date}
*/
<#if table.convert>
@TableName("${table.name}")
</#if>
<#if superEntityClass??>
class ${entity} : ${superEntityClass}<#if activeRecord><${entity}></#if> {
<#elseif activeRecord>
class ${entity} : Model<${entity}>() {
<#else>
class ${entity} : Serializable {
</#if>
<#-- ---------- BEGIN 字段循环遍历 ---------->
<#list table.fields as field>
<#if field.keyFlag>
<#assign keyPropertyName="${field.propertyName}"/>
</#if>
<#if field.comment!?length gt 0>
/**
* ${field.comment}
*/
</#if>
<#if field.keyFlag>
<#-- 主键 -->
<#if field.keyIdentityFlag>
@TableId(value = "${field.name}", type = IdType.AUTO)
<#elseif idType ??>
@TableId(value = "${field.name}", type = IdType.${idType})
<#elseif field.convert>
@TableId("${field.name}")
</#if>
<#-- 普通字段 -->
<#elseif field.fill??>
<#-- ----- 存在字段填充设置 ----->
<#if field.convert>
@TableField(value = "${field.name}", fill = FieldFill.${field.fill})
<#else>
@TableField(fill = FieldFill.${field.fill})
</#if>
<#elseif field.convert>
@TableField("${field.name}")
</#if>
<#-- 乐观锁注解 -->
<#if (versionFieldName!"") == field.name>
@Version
</#if>
<#-- 逻辑删除注解 -->
<#if (logicDeleteFieldName!"") == field.name>
@TableLogic
</#if>
<#if field.propertyType == "Integer">
var ${field.propertyName}: Int? = null
<#else>
var ${field.propertyName}: ${field.propertyType}? = null
</#if>
</#list>
<#-- ---------- END 字段循环遍历 ---------->
<#if entityColumnConstant>
companion object {
<#list table.fields as field>
const val ${field.name.toUpperCase()} : String = "${field.name}"
</#list>
}
</#if>
<#if activeRecord>
override fun pkVal(): Serializable {
<#if keyPropertyName??>
return ${keyPropertyName}
<#else>
return null
</#if>
}
</#if>
override fun toString(): String {
return "${entity}{" +
<#list table.fields as field>
<#if field_index==0>
"${field.propertyName}=" + ${field.propertyName} +
<#else>
", ${field.propertyName}=" + ${field.propertyName} +
</#if>
</#list>
"}"
}
}

View File

@@ -1,100 +0,0 @@
package ${package.Entity};
#foreach($pkg in ${table.importPackages})
import ${pkg};
#end
/**
* <p>
* $!{table.comment}
* </p>
*
* @author ${author}
* @since ${date}
*/
#if(${table.convert})
@TableName("${table.name}")
#end
#if(${superEntityClass})
class ${entity} : ${superEntityClass}#if(${activeRecord})<${entity}>#end() {
#elseif(${activeRecord})
class ${entity} : Model<${entity}>() {
#else
class ${entity} : Serializable {
#end
## ---------- BEGIN 字段循环遍历 ----------
#foreach($field in ${table.fields})
#if(${field.keyFlag})
#set($keyPropertyName=${field.propertyName})
#end
#if("$!field.comment" != "")
/**
* ${field.comment}
*/
#end
#if(${field.keyFlag})
## 主键
#if(${field.keyIdentityFlag})
@TableId(value = "${field.name}", type = IdType.AUTO)
#elseif(!$null.isNull(${idType}) && "$!idType" != "")
@TableId(value = "${field.name}", type = IdType.${idType})
#elseif(${field.convert})
@TableId("${field.name}")
#end
## 普通字段
#elseif(${field.fill})
## ----- 存在字段填充设置 -----
#if(${field.convert})
@TableField(value = "${field.name}", fill = FieldFill.${field.fill})
#else
@TableField(fill = FieldFill.${field.fill})
#end
#elseif(${field.convert})
@TableField("${field.name}")
#end
## 乐观锁注解
#if(${versionFieldName}==${field.name})
@Version
#end
## 逻辑删除注解
#if(${logicDeleteFieldName}==${field.name})
@TableLogic
#end
var ${field.propertyName}: ${field.propertyType}? = null
#end
## ---------- END 字段循环遍历 ----------
#if(${entityColumnConstant})
companion object {
#foreach($field in ${table.fields})
const val ${field.name.toUpperCase()} : String = "${field.name}"
#end
}
#end
#if(${activeRecord})
override fun pkVal(): Serializable {
#if(${keyPropertyName})
return ${keyPropertyName}!!
#else
return id!!
#end
}
#end
override fun toString(): String {
return "${entity}{" +
#foreach($field in ${table.fields})
#if($!{foreach.index}==0)
"${field.propertyName}=" + ${field.propertyName} +
#else
", ${field.propertyName}=" + ${field.propertyName} +
#end
#end
"}"
}
}

View File

@@ -1,20 +0,0 @@
package ${package.Mapper};
import ${package.Entity}.${entity};
import ${superMapperClassPackage};
/**
* <p>
* ${table.comment!} Mapper 接口
* </p>
*
* @author ${author}
* @since ${date}
*/
<#if kotlin>
interface ${table.mapperName} : ${superMapperClass}<${entity}>
<#else>
public interface ${table.mapperName} extends ${superMapperClass}<${entity}> {
}
</#if>

View File

@@ -1,20 +0,0 @@
package ${package.Mapper};
import ${package.Entity}.${entity};
import ${superMapperClassPackage};
/**
* <p>
* $!{table.comment} Mapper 接口
* </p>
*
* @author ${author}
* @since ${date}
*/
#if(${kotlin})
interface ${table.mapperName} : ${superMapperClass}<${entity}>
#else
public interface ${table.mapperName} extends ${superMapperClass}<${entity}> {
}
#end

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${package.Mapper}.${table.mapperName}">
<#if enableCache>
<!-- 开启二级缓存 -->
<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
</#if>
<#if baseResultMap>
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="${package.Entity}.${entity}">
<#list table.fields as field>
<#if field.keyFlag><#--生成主键排在第一位-->
<id column="${field.name}" property="${field.propertyName}" />
</#if>
</#list>
<#list table.commonFields as field><#--生成公共字段 -->
<result column="${field.name}" property="${field.propertyName}" />
</#list>
<#list table.fields as field>
<#if !field.keyFlag><#--生成普通字段 -->
<result column="${field.name}" property="${field.propertyName}" />
</#if>
</#list>
</resultMap>
</#if>
<#if baseColumnList>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
<#list table.commonFields as field>
${field.name},
</#list>
${table.fieldNames}
</sql>
</#if>
</mapper>

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${package.Mapper}.${table.mapperName}">
#if(${enableCache})
<!-- 开启二级缓存 -->
<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
#end
#if(${baseResultMap})
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="${package.Entity}.${entity}">
#foreach($field in ${table.fields})
#if(${field.keyFlag})##生成主键排在第一位
<id column="${field.name}" property="${field.propertyName}" />
#end
#end
#foreach($field in ${table.commonFields})##生成公共字段
<result column="${field.name}" property="${field.propertyName}" />
#end
#foreach($field in ${table.fields})
#if(!${field.keyFlag})##生成普通字段
<result column="${field.name}" property="${field.propertyName}" />
#end
#end
</resultMap>
#end
#if(${baseColumnList})
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
#foreach($field in ${table.commonFields})
${field.name},
#end
${table.fieldNames}
</sql>
#end
</mapper>

View File

@@ -1,20 +0,0 @@
package ${package.Service};
import ${package.Entity}.${entity};
import ${superServiceClassPackage};
/**
* <p>
* ${table.comment!} 服务类
* </p>
*
* @author ${author}
* @since ${date}
*/
<#if kotlin>
interface ${table.serviceName} : ${superServiceClass}<${entity}>
<#else>
public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {
}
</#if>

View File

@@ -1,20 +0,0 @@
package ${package.Service};
import ${package.Entity}.${entity};
import ${superServiceClassPackage};
/**
* <p>
* $!{table.comment} 服务类
* </p>
*
* @author ${author}
* @since ${date}
*/
#if(${kotlin})
interface ${table.serviceName} : ${superServiceClass}<${entity}>
#else
public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {
}
#end

View File

@@ -1,26 +0,0 @@
package ${package.ServiceImpl};
import ${package.Entity}.${entity};
import ${package.Mapper}.${table.mapperName};
import ${package.Service}.${table.serviceName};
import ${superServiceImplClassPackage};
import org.springframework.stereotype.Service;
/**
* <p>
* ${table.comment!} 服务实现类
* </p>
*
* @author ${author}
* @since ${date}
*/
@Service
<#if kotlin>
open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperName}, ${entity}>(), ${table.serviceName} {
}
<#else>
public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} {
}
</#if>

View File

@@ -1,26 +0,0 @@
package ${package.ServiceImpl};
import ${package.Entity}.${entity};
import ${package.Mapper}.${table.mapperName};
import ${package.Service}.${table.serviceName};
import ${superServiceImplClassPackage};
import org.springframework.stereotype.Service;
/**
* <p>
* $!{table.comment} 服务实现类
* </p>
*
* @author ${author}
* @since ${date}
*/
@Service
#if(${kotlin})
open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperName}, ${entity}>(), ${table.serviceName} {
}
#else
public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} {
}
#end

View File

@@ -1,136 +0,0 @@
package com.zyplayer.doc.swaggerplus.controller;
import com.alibaba.fastjson.JSON;
import com.zyplayer.doc.core.annotation.AuthMan;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
import com.zyplayer.doc.data.service.manage.SwaggerDocService;
import com.zyplayer.doc.swaggerplus.framework.utils.SwaggerDocUtil;
import com.zyplayer.doc.swaggerplus.service.SwaggerHttpRequestService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.swagger.web.SwaggerResource;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* 文档控制器
*
* @author 暮光:城中城
* @since 2021年10月16日
*/
@AuthMan
@RestController
@RequestMapping("/doc-swagger/doc")
public class SwaggerDocumentController {
private static Logger logger = LoggerFactory.getLogger(SwaggerDocumentController.class);
@Resource
private SwaggerDocService swaggerDocService;
@Resource
private SwaggerHttpRequestService swaggerHttpRequestService;
/**
* 获取所有的文档地址
*
* @return 文档内容
* @author 暮光:城中城
* @since 2021年10月16日
*/
@ResponseBody
@PostMapping(value = "/list")
public ResponseJson<List<SwaggerDoc>> list(SwaggerDoc swaggerDoc) {
List<SwaggerDoc> docList = swaggerDocService.getSwaggerDocList(swaggerDoc);
return DocResponseJson.ok(docList);
}
/**
* 添加文档
*
* @return 文档内容
* @author 暮光:城中城
* @since 2021年10月16日
*/
@ResponseBody
@PostMapping(value = "/add")
public ResponseJson<List<SwaggerDoc>> add(HttpServletRequest request, SwaggerDoc swaggerDoc) {
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
swaggerDoc.setYn(1);
swaggerDoc.setCreateTime(new Date());
swaggerDoc.setCreateUserId(currentUser.getUserId());
swaggerDoc.setCreateUserName(currentUser.getUsername());
// url类型
if (Objects.equals(swaggerDoc.getDocType(), 1)) {
// UI地址替换为文档json地址
String docUrl = SwaggerDocUtil.replaceSwaggerResources(swaggerDoc.getDocUrl());
if (SwaggerDocUtil.isSwaggerResources(docUrl)) {
String swaggerDomain = SwaggerDocUtil.getSwaggerResourceDomain(docUrl);
List<SwaggerResource> resourceList;
try {
String resourcesStr = swaggerHttpRequestService.requestSwaggerUrl(request, docUrl, swaggerDomain);
resourceList = JSON.parseArray(resourcesStr, SwaggerResource.class);
} catch (Exception e) {
e.printStackTrace();
return DocResponseJson.warn("解析文档地址失败:" + e.getMessage());
}
if (resourceList == null || resourceList.isEmpty()) {
return DocResponseJson.warn("该地址未找到文档");
}
// 删除原有文档
if (swaggerDoc.getId() != null) {
swaggerDocService.removeById(swaggerDoc.getId());
}
// 存明细地址
for (SwaggerResource resource : resourceList) {
swaggerDoc.setId(null);
swaggerDoc.setDocUrl(swaggerDomain + resource.getUrl());
swaggerDoc.setName(resource.getName());
swaggerDocService.save(swaggerDoc);
}
} else {
swaggerDocService.saveOrUpdate(swaggerDoc);
}
} else {
swaggerDocService.saveOrUpdate(swaggerDoc);
}
return DocResponseJson.ok();
}
/**
* 修改文档信息
*
* @return 无
* @author 暮光:城中城
* @since 2021年10月16日
*/
@ResponseBody
@PostMapping(value = "/update")
public ResponseJson<List<SwaggerDoc>> update(SwaggerDoc swaggerDoc) {
if (swaggerDoc.getId() == null) {
return DocResponseJson.warn("请指定修改的记录ID");
}
SwaggerDoc swaggerDocUp = new SwaggerDoc();
swaggerDocUp.setId(swaggerDoc.getId());
swaggerDocUp.setDocStatus(swaggerDoc.getDocStatus());
swaggerDocUp.setDocUrl(swaggerDoc.getDocUrl());
swaggerDocUp.setJsonContent(swaggerDoc.getJsonContent());
swaggerDocUp.setName(swaggerDoc.getName());
swaggerDocUp.setOpenVisit(swaggerDoc.getOpenVisit());
swaggerDocUp.setRewriteDomain(swaggerDoc.getRewriteDomain());
swaggerDocUp.setYn(swaggerDoc.getYn());
swaggerDocService.updateById(swaggerDocUp);
return DocResponseJson.ok();
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
var N=Object.defineProperty;var T=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var I=(c,e,l)=>e in c?N(c,e,{enumerable:!0,configurable:!0,writable:!0,value:l}):c[e]=l,V=(c,e)=>{for(var l in e||(e={}))B.call(e,l)&&I(c,l,e[l]);if(T)for(var l of T(e))G.call(e,l)&&I(c,l,e[l]);return c};import{z as D}from"./custom.fa05565e.js";import{J as P,L as x,N as U,r as v,o,b as r,e as F,a as s,w as n,F as f,c as k,t as S,k as g,m as i}from"./vendor.e1de8368.js";import{_ as K}from"./main.5d87f661.js";const j={setup(){const c=P();let e=x([]),l=x(!1);const a=async()=>{d.value={},l.value=!0,D.docSwaggerGlobalParamList().then(t=>{setTimeout(()=>l.value=!1,500),e.value=t.data||[],c.commit("setGlobalParam",e.value)})};let d=x({}),w=x();const m=()=>{d.value.isEdit&&y(d.value);let t={isEdit:!0};e.value.unshift(t),d.value=t,setTimeout(()=>{let _=document.getElementsByClassName("ant-table-body")[0];_.scrollTop=0},0)},C=t=>{d.value.isEdit&&y(d.value),t.isEdit=!0,d.value=V({},t)},y=t=>{t.isEdit=!1,t.id?e.value.forEach(_=>_.isEdit=!1):e.value=e.value.filter(_=>_!==t),d.value={}},L=t=>{D.docSwaggerGlobalParamUpdate(d.value).then(_=>{t.isEdit=!1,a()})},h=async t=>{D.docSwaggerGlobalParamUpdate({id:t.id,yn:0}).then(_=>{a()})};return U(()=>{a()}),{docList:e,docListLoading:l,docEdit:d,tableRef:w,searchDocList:a,deleteDoc:h,editDoc:C,saveEditDoc:L,cancelEditDoc:y,addDocLine:m,docListColumns:[{title:"\u53C2\u6570\u540D\u79F0",dataIndex:"paramKey",width:250},{title:"\u53C2\u6570\u503C",dataIndex:"paramValue"},{title:"\u53C2\u6570\u4F4D\u7F6E",dataIndex:"paramType",width:120},{title:"\u64CD\u4F5C",dataIndex:"operation",fixed:"right",width:170}]}}},z={style:{"margin-bottom":"10px","text-align":"right"}},H=i("\u5237\u65B0"),A=i("\u65B0\u5EFA"),J={key:1},M={key:1},R=i("Form"),q=i("Header"),O=i("Cookie"),Q=i("Form"),W=i("Header"),X=i("Cookie"),Y=i("\u53D6\u6D88"),Z=i("\u4FDD\u5B58"),$=i("\u7F16\u8F91"),ee=i("\u5220\u9664");function ae(c,e,l,a,d,w){const m=v("a-button"),C=v("a-input"),y=v("a-select-option"),L=v("a-select"),h=v("a-tag"),t=v("a-popconfirm"),_=v("a-table");return o(),r(f,null,[F("div",z,[s(m,{onClick:a.searchDocList,type:"primary"},{default:n(()=>[H]),_:1},8,["onClick"]),s(m,{onClick:a.addDocLine},{default:n(()=>[A]),_:1},8,["onClick"])]),s(_,{dataSource:a.docList,columns:a.docListColumns,size:"middle",id:"paramTable",loading:a.docListLoading,pagination:!1,scroll:{x:1e3,y:"calc(100vh - 240px)"}},{bodyCell:n(({column:b,text:E,record:p})=>[b.dataIndex==="paramKey"?(o(),r(f,{key:0},[p.isEdit?(o(),k(C,{key:0,placeholder:"\u8BF7\u8F93\u5165\u53C2\u6570\u540D\u79F0",value:a.docEdit.paramKey,"onUpdate:value":e[0]||(e[0]=u=>a.docEdit.paramKey=u)},null,8,["value"])):(o(),r("span",J,S(E),1))],64)):g("",!0),b.dataIndex==="paramValue"?(o(),r(f,{key:1},[p.isEdit?(o(),k(C,{key:0,rows:1,placeholder:"\u8BF7\u8F93\u5165\u53C2\u6570\u503C",value:a.docEdit.paramValue,"onUpdate:value":e[1]||(e[1]=u=>a.docEdit.paramValue=u)},null,8,["value"])):(o(),r("span",M,S(E),1))],64)):g("",!0),b.dataIndex==="paramType"?(o(),r(f,{key:2},[p.isEdit?(o(),k(L,{key:0,placeholder:"\u53C2\u6570\u4F4D\u7F6E",value:a.docEdit.paramType,"onUpdate:value":e[2]||(e[2]=u=>a.docEdit.paramType=u),style:{width:"110px"}},{default:n(()=>[s(y,{value:1},{default:n(()=>[R]),_:1}),s(y,{value:2},{default:n(()=>[q]),_:1}),s(y,{value:3},{default:n(()=>[O]),_:1})]),_:1},8,["value"])):(o(),r(f,{key:1},[E===1?(o(),k(h,{key:0,color:"green"},{default:n(()=>[Q]),_:1})):E===2?(o(),k(h,{key:1,color:"pink"},{default:n(()=>[W]),_:1})):E===3?(o(),k(h,{key:2,color:"pink"},{default:n(()=>[X]),_:1})):g("",!0)],64))],64)):g("",!0),b.dataIndex==="operation"?(o(),r(f,{key:3},[p.isEdit?(o(),r(f,{key:0},[s(m,{type:"link",onClick:u=>a.cancelEditDoc(p)},{default:n(()=>[Y]),_:2},1032,["onClick"]),s(m,{type:"link",onClick:u=>a.saveEditDoc(p)},{default:n(()=>[Z]),_:2},1032,["onClick"])],64)):(o(),r(f,{key:1},[s(m,{type:"link",onClick:u=>a.editDoc(p)},{default:n(()=>[$]),_:2},1032,["onClick"]),s(t,{title:"\u786E\u5B9A\u8981\u5220\u9664\u5417\uFF1F",onConfirm:u=>a.deleteDoc(p)},{default:n(()=>[s(m,{type:"link",danger:""},{default:n(()=>[ee]),_:1})]),_:2},1032,["onConfirm"])],64))],64)):g("",!0)]),_:1},8,["dataSource","columns","loading","scroll"])],64)}var ie=K(j,[["render",ae]]);export{ie as default};

View File

@@ -1 +0,0 @@
import{_ as e}from"./main.5d87f661.js";import{o as t,b as o}from"./vendor.e1de8368.js";const n={name:"SettingView",components:{},data(){return{}},computed:{},mounted(){},methods:{}};function r(a,s,c,d,m,i){return t(),o("div",null," \u5C55\u793A\u914D\u7F6E\u9875\u9762 ")}var f=e(n,[["render",r]]);export{f as default};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,4 +1,4 @@
VITE_APP_TITLE=swagger文档管理
VITE_APP_TITLE=API文档管理
本地切换环境改这个参数可选值dev、online
VITE_APP_ENV=dev

View File

@@ -1,4 +1,4 @@
VITE_APP_TITLE=swagger文档管理
VITE_APP_TITLE=API文档管理
VITE_APP_ENV=online

Some files were not shown because too many files have changed in this diff Show More