From 9267aed47771b2f8472b6b815e3a88b81252bf81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9A=AE=E5=85=89=EF=BC=9A=E5=9F=8E=E4=B8=AD=E5=9F=8E?=
<806783409@qq.com>
Date: Sun, 17 Oct 2021 19:50:22 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8vitejs+vue3+antdv=E9=87=8D?=
=?UTF-8?q?=E6=9E=84swagger=E6=96=87=E6=A1=A3=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 3 +-
.../repository/manage/entity/SwaggerDoc.java | 183 ++
.../manage/entity/SwaggerGlobalParam.java | 131 ++
.../manage/entity/SwaggerRequestParam.java | 157 ++
.../manage/mapper/SwaggerDocMapper.java | 16 +
.../mapper/SwaggerGlobalParamMapper.java | 16 +
.../mapper/SwaggerRequestParamMapper.java | 16 +
.../support/generator/CodeGenerator.java | 2 +-
.../service/manage/SwaggerDocService.java | 18 +
.../manage/SwaggerGlobalParamService.java | 18 +
.../manage/SwaggerRequestParamService.java | 16 +
.../manage/impl/SwaggerDocServiceImpl.java | 29 +
.../impl/SwaggerGlobalParamServiceImpl.java | 30 +
.../impl/SwaggerRequestParamServiceImpl.java | 20 +
.../mapper/manage/SwaggerDocMapper.xml | 5 +
.../manage/SwaggerGlobalParamMapper.xml | 5 +
.../manage/SwaggerRequestParamMapper.xml | 5 +
zyplayer-doc-manage/pom.xml | 5 +
.../manage/framework/config/WebMvcConfig.java | 3 +-
.../framework/config/ZyplayerDocConfig.java | 4 +
.../web/manage/DocSystemController.java | 8 +
zyplayer-doc-swagger-plus/pom.xml | 100 +
.../controller/SwaggerDocumentController.java | 129 ++
.../SwaggerGlobalParamController.java | 76 +
.../controller/SwaggerProxyController.java | 63 +
.../SwaggerRequestParamController.java | 75 +
.../config/EnableDocSwaggerPlus.java | 17 +
.../framework/utils/SwaggerDocUtil.java | 21 +
.../service/SwaggerHttpRequestService.java | 52 +
.../src/main/resources/db/swagger.sql | 45 +
.../resources/dist/assets/Console.eb8296cc.js | 1 +
.../resources/dist/assets/DocView.7def2551.js | 1 +
.../dist/assets/GlobalLayout.d7c605f8.js | 1 +
.../dist/assets/SettingView.46cc75f4.js | 1 +
.../dist/assets/element-icons.9c88a535.woff | Bin 0 -> 24820 bytes
.../dist/assets/element-icons.de5eb258.ttf | Bin 0 -> 50372 bytes
.../resources/dist/assets/main.95be7151.js | 1 +
.../resources/dist/assets/style.1a9128b7.css | 1 +
.../resources/dist/assets/vendor.0502eb24.js | 24 +
.../main/resources/dist/doc-swagger-plus.html | 16 +
.../src/main/resources/dist/logo.png | Bin 0 -> 1141 bytes
zyplayer-doc-ui/swagger-ui/.env.development | 11 +
zyplayer-doc-ui/swagger-ui/.env.production | 6 +
zyplayer-doc-ui/swagger-ui/.gitignore | 5 +
zyplayer-doc-ui/swagger-ui/README.md | 35 +
.../swagger-ui/doc-swagger-plus.html | 13 +
zyplayer-doc-ui/swagger-ui/index.html | 13 +
zyplayer-doc-ui/swagger-ui/package-lock.json | 1801 +++++++++++++++++
zyplayer-doc-ui/swagger-ui/package.json | 30 +
zyplayer-doc-ui/swagger-ui/public/logo.png | Bin 0 -> 1141 bytes
zyplayer-doc-ui/swagger-ui/src/App.vue | 35 +
zyplayer-doc-ui/swagger-ui/src/api/index.js | 3 +
.../src/api/request/interceptors.js | 61 +
.../swagger-ui/src/api/request/utils.js | 13 +
.../swagger-ui/src/api/request/zyplayer.js | 14 +
.../swagger-ui/src/api/zyplayer.js | 8 +
.../swagger-ui/src/assets/logo.png | Bin 0 -> 1141 bytes
.../src/components/layouts/EmptyLayout.vue | 15 +
.../src/components/layouts/GlobalFooter.vue | 42 +
.../src/components/layouts/GlobalLayout.vue | 164 ++
.../src/components/layouts/HeaderAvatar.vue | 67 +
.../components/layouts/MenuChildrenLayout.vue | 54 +
.../src/components/layouts/MenuLayout.vue | 109 +
.../src/components/layouts/PageLayout.vue | 89 +
zyplayer-doc-ui/swagger-ui/src/main.js | 24 +
zyplayer-doc-ui/swagger-ui/src/routes.js | 55 +
zyplayer-doc-ui/swagger-ui/src/store/index.js | 48 +
.../src/views/common/AboutDialog.vue | 97 +
.../swagger-ui/src/views/common/Console.vue | 19 +
.../src/views/common/SettingView.vue | 19 +
.../swagger-ui/src/views/doc/DocView.vue | 33 +
zyplayer-doc-ui/swagger-ui/vite.config.js | 42 +
72 files changed, 4236 insertions(+), 3 deletions(-)
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerDoc.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerGlobalParam.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerRequestParam.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerDocMapper.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerGlobalParamMapper.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerRequestParamMapper.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerDocService.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerGlobalParamService.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerRequestParamService.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerDocServiceImpl.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerGlobalParamServiceImpl.java
create mode 100644 zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerRequestParamServiceImpl.java
create mode 100644 zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerDocMapper.xml
create mode 100644 zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerGlobalParamMapper.xml
create mode 100644 zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerRequestParamMapper.xml
create mode 100644 zyplayer-doc-swagger-plus/pom.xml
create mode 100644 zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerDocumentController.java
create mode 100644 zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerGlobalParamController.java
create mode 100644 zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerProxyController.java
create mode 100644 zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerRequestParamController.java
create mode 100644 zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/framework/config/EnableDocSwaggerPlus.java
create mode 100644 zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/framework/utils/SwaggerDocUtil.java
create mode 100644 zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/service/SwaggerHttpRequestService.java
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/db/swagger.sql
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/Console.eb8296cc.js
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/DocView.7def2551.js
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/GlobalLayout.d7c605f8.js
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/SettingView.46cc75f4.js
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/element-icons.9c88a535.woff
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/element-icons.de5eb258.ttf
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/main.95be7151.js
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/style.1a9128b7.css
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/assets/vendor.0502eb24.js
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/doc-swagger-plus.html
create mode 100644 zyplayer-doc-swagger-plus/src/main/resources/dist/logo.png
create mode 100644 zyplayer-doc-ui/swagger-ui/.env.development
create mode 100644 zyplayer-doc-ui/swagger-ui/.env.production
create mode 100644 zyplayer-doc-ui/swagger-ui/.gitignore
create mode 100644 zyplayer-doc-ui/swagger-ui/README.md
create mode 100644 zyplayer-doc-ui/swagger-ui/doc-swagger-plus.html
create mode 100644 zyplayer-doc-ui/swagger-ui/index.html
create mode 100644 zyplayer-doc-ui/swagger-ui/package-lock.json
create mode 100644 zyplayer-doc-ui/swagger-ui/package.json
create mode 100644 zyplayer-doc-ui/swagger-ui/public/logo.png
create mode 100644 zyplayer-doc-ui/swagger-ui/src/App.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/api/index.js
create mode 100644 zyplayer-doc-ui/swagger-ui/src/api/request/interceptors.js
create mode 100644 zyplayer-doc-ui/swagger-ui/src/api/request/utils.js
create mode 100644 zyplayer-doc-ui/swagger-ui/src/api/request/zyplayer.js
create mode 100644 zyplayer-doc-ui/swagger-ui/src/api/zyplayer.js
create mode 100644 zyplayer-doc-ui/swagger-ui/src/assets/logo.png
create mode 100644 zyplayer-doc-ui/swagger-ui/src/components/layouts/EmptyLayout.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/components/layouts/GlobalFooter.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/components/layouts/GlobalLayout.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/components/layouts/HeaderAvatar.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/components/layouts/MenuChildrenLayout.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/components/layouts/MenuLayout.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/components/layouts/PageLayout.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/main.js
create mode 100644 zyplayer-doc-ui/swagger-ui/src/routes.js
create mode 100644 zyplayer-doc-ui/swagger-ui/src/store/index.js
create mode 100644 zyplayer-doc-ui/swagger-ui/src/views/common/AboutDialog.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/views/common/Console.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/views/common/SettingView.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/src/views/doc/DocView.vue
create mode 100644 zyplayer-doc-ui/swagger-ui/vite.config.js
diff --git a/pom.xml b/pom.xml
index 0df5ca3d..2528b86a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,5 +29,6 @@
zyplayer-doc-grpc
zyplayer-doc-other
zyplayer-doc-es
-
+ zyplayer-doc-swagger-plus
+
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerDoc.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerDoc.java
new file mode 100644
index 00000000..b583c82f
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerDoc.java
@@ -0,0 +1,183 @@
+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 java.io.Serializable;
+
+/**
+ *
+ * swagger文档地址
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public class SwaggerDoc implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键自增ID
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 文档名称
+ */
+ private String name;
+
+ /**
+ * 文档类型 1=url 2=swagger文档json
+ */
+ private Integer docType;
+
+ /**
+ * 文档URL地址
+ */
+ private String docUrl;
+
+ /**
+ * swagger文档json内容
+ */
+ private String jsonContent;
+
+ /**
+ * 重写的域名
+ */
+ private String rewriteDomain;
+
+ /**
+ * 是否开放访问 0=否 1=是
+ */
+ private Integer openVisit;
+
+ /**
+ * 状态 1=启用 2=禁用
+ */
+ private Integer docStatus;
+
+ /**
+ * 创建人ID
+ */
+ private Long createUserId;
+
+ /**
+ * 创建人名字
+ */
+ private String createUserName;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 是否有效 0=无效 1=有效
+ */
+ private Integer yn;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+ public Integer getDocType() {
+ return docType;
+ }
+
+ public void setDocType(Integer docType) {
+ this.docType = docType;
+ }
+ public String getDocUrl() {
+ return docUrl;
+ }
+
+ public void setDocUrl(String docUrl) {
+ this.docUrl = docUrl;
+ }
+ public String getJsonContent() {
+ return jsonContent;
+ }
+
+ public void setJsonContent(String jsonContent) {
+ this.jsonContent = jsonContent;
+ }
+ public String getRewriteDomain() {
+ return rewriteDomain;
+ }
+
+ public void setRewriteDomain(String rewriteDomain) {
+ this.rewriteDomain = rewriteDomain;
+ }
+ public Integer getOpenVisit() {
+ return openVisit;
+ }
+
+ public void setOpenVisit(Integer openVisit) {
+ this.openVisit = openVisit;
+ }
+ public Integer getDocStatus() {
+ return docStatus;
+ }
+
+ public void setDocStatus(Integer docStatus) {
+ this.docStatus = docStatus;
+ }
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+ public Integer getYn() {
+ return yn;
+ }
+
+ public void setYn(Integer yn) {
+ this.yn = yn;
+ }
+
+ @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 +
+ "}";
+ }
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerGlobalParam.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerGlobalParam.java
new file mode 100644
index 00000000..d3fac300
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerGlobalParam.java
@@ -0,0 +1,131 @@
+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 java.io.Serializable;
+
+/**
+ *
+ * swagger文档全局参数记录
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public class SwaggerGlobalParam implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键自增ID
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 参数类型 1=form 2=header 3=cookie
+ */
+ private Integer paramType;
+
+ /**
+ * 参数名
+ */
+ private String paramKey;
+
+ /**
+ * 参数值
+ */
+ private String paramValue;
+
+ /**
+ * 创建人ID
+ */
+ private Long createUserId;
+
+ /**
+ * 创建人名字
+ */
+ private String createUserName;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 是否有效 0=无效 1=有效
+ */
+ private Integer yn;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+ public Integer getParamType() {
+ return paramType;
+ }
+
+ public void setParamType(Integer paramType) {
+ this.paramType = paramType;
+ }
+ public String getParamKey() {
+ return paramKey;
+ }
+
+ public void setParamKey(String paramKey) {
+ this.paramKey = paramKey;
+ }
+ public String getParamValue() {
+ return paramValue;
+ }
+
+ public void setParamValue(String paramValue) {
+ this.paramValue = paramValue;
+ }
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+ public Integer getYn() {
+ return yn;
+ }
+
+ public void setYn(Integer yn) {
+ this.yn = yn;
+ }
+
+ @Override
+ public String toString() {
+ return "SwaggerGlobalParam{" +
+ "id=" + id +
+ ", paramType=" + paramType +
+ ", paramKey=" + paramKey +
+ ", paramValue=" + paramValue +
+ ", createUserId=" + createUserId +
+ ", createUserName=" + createUserName +
+ ", createTime=" + createTime +
+ ", yn=" + yn +
+ "}";
+ }
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerRequestParam.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerRequestParam.java
new file mode 100644
index 00000000..60a36c10
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/SwaggerRequestParam.java
@@ -0,0 +1,157 @@
+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 java.io.Serializable;
+
+/**
+ *
+ * swagger文档请求参数记录
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public class SwaggerRequestParam implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键自增ID
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 文档url
+ */
+ private String docUrl;
+
+ /**
+ * form参数
+ */
+ private String formData;
+
+ /**
+ * body参数
+ */
+ private String bodyData;
+
+ /**
+ * header参数
+ */
+ private String headerData;
+
+ /**
+ * cookie参数
+ */
+ private String cookieData;
+
+ /**
+ * 创建人ID
+ */
+ private Long createUserId;
+
+ /**
+ * 创建人名字
+ */
+ private String createUserName;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 是否有效 0=无效 1=有效
+ */
+ private Integer yn;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+ public String getDocUrl() {
+ return docUrl;
+ }
+
+ public void setDocUrl(String docUrl) {
+ this.docUrl = docUrl;
+ }
+ public String getFormData() {
+ return formData;
+ }
+
+ public void setFormData(String formData) {
+ this.formData = formData;
+ }
+ public String getBodyData() {
+ return bodyData;
+ }
+
+ public void setBodyData(String bodyData) {
+ this.bodyData = bodyData;
+ }
+ public String getHeaderData() {
+ return headerData;
+ }
+
+ public void setHeaderData(String headerData) {
+ this.headerData = headerData;
+ }
+ public String getCookieData() {
+ return cookieData;
+ }
+
+ public void setCookieData(String cookieData) {
+ this.cookieData = cookieData;
+ }
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+ public Integer getYn() {
+ return yn;
+ }
+
+ public void setYn(Integer yn) {
+ this.yn = yn;
+ }
+
+ @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 +
+ "}";
+ }
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerDocMapper.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerDocMapper.java
new file mode 100644
index 00000000..2d46783c
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerDocMapper.java
@@ -0,0 +1,16 @@
+package com.zyplayer.doc.data.repository.manage.mapper;
+
+import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * swagger文档地址 Mapper 接口
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public interface SwaggerDocMapper extends BaseMapper {
+
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerGlobalParamMapper.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerGlobalParamMapper.java
new file mode 100644
index 00000000..5264e536
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerGlobalParamMapper.java
@@ -0,0 +1,16 @@
+package com.zyplayer.doc.data.repository.manage.mapper;
+
+import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * swagger文档全局参数记录 Mapper 接口
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public interface SwaggerGlobalParamMapper extends BaseMapper {
+
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerRequestParamMapper.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerRequestParamMapper.java
new file mode 100644
index 00000000..7d7c0aa4
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/mapper/SwaggerRequestParamMapper.java
@@ -0,0 +1,16 @@
+package com.zyplayer.doc.data.repository.manage.mapper;
+
+import com.zyplayer.doc.data.repository.manage.entity.SwaggerRequestParam;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * swagger文档请求参数记录 Mapper 接口
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public interface SwaggerRequestParamMapper extends BaseMapper {
+
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/support/generator/CodeGenerator.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/support/generator/CodeGenerator.java
index a2adc754..717a44d8 100644
--- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/support/generator/CodeGenerator.java
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/support/generator/CodeGenerator.java
@@ -20,7 +20,7 @@ public class CodeGenerator {
// final String[] tableName = { "zyplayer_storage", "auth_info", "user_auth", "user_info", "db_datasource" };
// final String[] tableName = { "wiki_space", "wiki_page", "wiki_page_content", "wiki_page_file", "wiki_page_comment", "wiki_page_zan" };
// final String[] tableName = { "db_datasource", "es_datasource", "db_favorite" };
- final String[] tableName = {"db_table_relation"};
+ final String[] tableName = {"swagger_doc", "swagger_request_param", "swagger_global_param"};
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerDocService.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerDocService.java
new file mode 100644
index 00000000..8d5011ec
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerDocService.java
@@ -0,0 +1,18 @@
+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;
+
+/**
+ *
+ * swagger文档地址 服务类
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public interface SwaggerDocService extends IService {
+ public List getSwaggerDocList();
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerGlobalParamService.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerGlobalParamService.java
new file mode 100644
index 00000000..51e211db
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerGlobalParamService.java
@@ -0,0 +1,18 @@
+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;
+
+/**
+ *
+ * swagger文档全局参数记录 服务类
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public interface SwaggerGlobalParamService extends IService {
+ public List getGlobalParamList();
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerRequestParamService.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerRequestParamService.java
new file mode 100644
index 00000000..e4fe0e9c
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/SwaggerRequestParamService.java
@@ -0,0 +1,16 @@
+package com.zyplayer.doc.data.service.manage;
+
+import com.zyplayer.doc.data.repository.manage.entity.SwaggerRequestParam;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * swagger文档请求参数记录 服务类
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+public interface SwaggerRequestParamService extends IService {
+
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerDocServiceImpl.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerDocServiceImpl.java
new file mode 100644
index 00000000..4af6c505
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerDocServiceImpl.java
@@ -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.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;
+
+/**
+ *
+ * swagger文档地址 服务实现类
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+@Service
+public class SwaggerDocServiceImpl extends ServiceImpl implements SwaggerDocService {
+
+ @Override
+ public List getSwaggerDocList() {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("yn", 1);
+ return this.list(queryWrapper);
+ }
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerGlobalParamServiceImpl.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerGlobalParamServiceImpl.java
new file mode 100644
index 00000000..e60ee0a7
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerGlobalParamServiceImpl.java
@@ -0,0 +1,30 @@
+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;
+
+/**
+ *
+ * swagger文档全局参数记录 服务实现类
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+@Service
+public class SwaggerGlobalParamServiceImpl extends ServiceImpl implements SwaggerGlobalParamService {
+
+
+ @Override
+ public List getGlobalParamList() {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("yn", 1);
+ return this.list(queryWrapper);
+ }
+}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerRequestParamServiceImpl.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerRequestParamServiceImpl.java
new file mode 100644
index 00000000..781c0eb0
--- /dev/null
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/SwaggerRequestParamServiceImpl.java
@@ -0,0 +1,20 @@
+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;
+
+/**
+ *
+ * swagger文档请求参数记录 服务实现类
+ *
+ *
+ * @author 暮光:城中城
+ * @since 2021-10-15
+ */
+@Service
+public class SwaggerRequestParamServiceImpl extends ServiceImpl implements SwaggerRequestParamService {
+
+}
diff --git a/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerDocMapper.xml b/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerDocMapper.xml
new file mode 100644
index 00000000..a5521a83
--- /dev/null
+++ b/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerDocMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerGlobalParamMapper.xml b/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerGlobalParamMapper.xml
new file mode 100644
index 00000000..6e6442eb
--- /dev/null
+++ b/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerGlobalParamMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerRequestParamMapper.xml b/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerRequestParamMapper.xml
new file mode 100644
index 00000000..d4720d9a
--- /dev/null
+++ b/zyplayer-doc-data/src/main/resources/mapper/manage/SwaggerRequestParamMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/zyplayer-doc-manage/pom.xml b/zyplayer-doc-manage/pom.xml
index ca9e11eb..bc739f28 100644
--- a/zyplayer-doc-manage/pom.xml
+++ b/zyplayer-doc-manage/pom.xml
@@ -85,6 +85,11 @@
zyplayer-doc-swagger
${zyplayer.doc.version}
+
+ com.zyplayer
+ zyplayer-doc-swagger-plus
+ ${zyplayer.doc.version}
+
com.zyplayer
diff --git a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/framework/config/WebMvcConfig.java b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/framework/config/WebMvcConfig.java
index 59b67f80..0de5581e 100644
--- a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/framework/config/WebMvcConfig.java
+++ b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/framework/config/WebMvcConfig.java
@@ -13,6 +13,7 @@ import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
@@ -51,7 +52,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
return fastJsonHttpMessageConverter;
}
-
+
@Override
public void configureMessageConverters(List> converters) {
converters.add(0, fastJsonHttpMessageConverter());
diff --git a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/framework/config/ZyplayerDocConfig.java b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/framework/config/ZyplayerDocConfig.java
index 3272c2bd..7ab9f82d 100644
--- a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/framework/config/ZyplayerDocConfig.java
+++ b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/framework/config/ZyplayerDocConfig.java
@@ -4,6 +4,7 @@ import com.zyplayer.doc.db.framework.configuration.EnableDocDb;
import com.zyplayer.doc.dubbo.framework.config.EnableDocDubbo;
import com.zyplayer.doc.elasticsearch.framework.config.EnableDocEs;
import com.zyplayer.doc.swagger.framework.configuration.EnableDocSwagger;
+import com.zyplayer.doc.swaggerplus.framework.config.EnableDocSwaggerPlus;
import com.zyplayer.doc.wiki.framework.config.EnableDocWiki;
import org.springframework.context.annotation.Configuration;
@@ -33,4 +34,7 @@ public class ZyplayerDocConfig {
@EnableDocSwagger(selfDoc = false)
public class enableDocSwagger{}
+
+// @EnableDocSwaggerPlus
+// public class enableDocSwaggerPlus{}
}
diff --git a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/manage/DocSystemController.java b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/manage/DocSystemController.java
index f0e7051a..31ee2f4f 100644
--- a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/manage/DocSystemController.java
+++ b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/manage/DocSystemController.java
@@ -42,6 +42,14 @@ public class DocSystemController {
return modelAndView;
}
+ @AuthMan
+ @GetMapping("/doc-swagger-plus")
+ public ModelAndView swaggerPlus() {
+ ModelAndView modelAndView = new ModelAndView("/doc-swagger-plus.html");
+ modelAndView.setStatus(HttpStatus.OK);
+ return modelAndView;
+ }
+
@AuthMan
@GetMapping("/doc-dubbo")
public ModelAndView dubbo() {
diff --git a/zyplayer-doc-swagger-plus/pom.xml b/zyplayer-doc-swagger-plus/pom.xml
new file mode 100644
index 00000000..fe6008fa
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/pom.xml
@@ -0,0 +1,100 @@
+
+
+ 4.0.0
+
+ com.zyplayer
+ zyplayer-doc-swagger-plus
+ 1.0.9
+ jar
+ zyplayer-doc-swagger-plus
+ zyplayer-doc-swagger是swagger-ui的一个前端实现,使用简单、解析速度快、走心的设计,支持多项目同时展示,多种文档目录的展示方案,多种自定义配置,满足各种使用习惯
+ https://gitee.com/zyplayer/zyplayer-doc/zyplayer-doc
+
+
+ zyplayer
+ 暮光:城中城
+ 806783409@qq.com
+
+ Java Development Engineer
+
+ 2018-05-22 16:06:06
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.6.RELEASE
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+
+ true
+ 7.2.0
+ 1.0.9
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ commons-io
+ commons-io
+ 2.4
+
+
+ com.zyplayer
+ zyplayer-doc-core
+ ${zyplayer.doc.version}
+
+
+ com.zyplayer
+ zyplayer-doc-data
+ ${zyplayer.doc.version}
+
+
+ commons-fileupload
+ commons-fileupload
+ 1.3.3
+
+
+
+
+
+ The Apache Software License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+ scm:git@git.oschina.net:zyplayer/zyplayer-doc.git
+ scm:git@git.oschina.net:zyplayer/zyplayer-doc.git
+ git@git.oschina.net:zyplayer/zyplayer-doc.git
+
+
+
+
+ snapshots
+ https://oss.sonatype.org/content/repositories/snapshots/
+
+
+ snapshots
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+
+ src/main/resources/dist
+ META-INF/resources/
+
+
+
+
diff --git a/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerDocumentController.java b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerDocumentController.java
new file mode 100644
index 00000000..14552ead
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerDocumentController.java
@@ -0,0 +1,129 @@
+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.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() {
+ List docList = swaggerDocService.getSwaggerDocList();
+ return DocResponseJson.ok(docList);
+ }
+
+ /**
+ * 添加文档
+ *
+ * @return 文档内容
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+ @ResponseBody
+ @PostMapping(value = "/add")
+ public ResponseJson> 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 resourcesStr = swaggerHttpRequestService.requestUrl(request, docUrl);
+ List resourceList = JSON.parseArray(resourcesStr, SwaggerResource.class);
+ if (resourceList == null || resourceList.isEmpty()) {
+ return DocResponseJson.warn("该地址未找到文档");
+ }
+ // 存明细地址
+ for (SwaggerResource resource : resourceList) {
+ swaggerDoc.setId(null);
+ swaggerDoc.setDocUrl(resource.getUrl());
+ swaggerDoc.setName(resource.getName());
+ swaggerDocService.save(swaggerDoc);
+ }
+ } else if (SwaggerDocUtil.isSwaggerLocation(docUrl)) {
+ swaggerDocService.save(swaggerDoc);
+ } else {
+ return DocResponseJson.warn("不支持的地址:" + docUrl);
+ }
+ } else {
+ swaggerDocService.saveOrUpdate(swaggerDoc);
+ }
+ return DocResponseJson.ok();
+ }
+
+ /**
+ * 修改文档信息
+ *
+ * @return 无
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+ @ResponseBody
+ @PostMapping(value = "/update")
+ public ResponseJson> update(SwaggerDoc swaggerDoc) {
+ swaggerDocService.saveOrUpdate(swaggerDoc);
+ return DocResponseJson.ok();
+ }
+
+ /**
+ * 获取文档内容
+ *
+ * @return 文档内容
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+ @ResponseBody
+ @PostMapping(value = "/content")
+ public ResponseJson> content(HttpServletRequest request, String docUrl) {
+ String contentStr = swaggerHttpRequestService.requestUrl(request, docUrl);
+ return DocResponseJson.ok(contentStr);
+ }
+
+}
diff --git a/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerGlobalParamController.java b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerGlobalParamController.java
new file mode 100644
index 00000000..43d43e4f
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerGlobalParamController.java
@@ -0,0 +1,76 @@
+package com.zyplayer.doc.swaggerplus.controller;
+
+import com.alibaba.fastjson.JSON;
+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.repository.manage.entity.SwaggerDoc;
+import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
+import com.zyplayer.doc.data.service.manage.SwaggerGlobalParamService;
+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 javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * 全局参数控制器
+ *
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+@AuthMan
+@RestController
+@RequestMapping("/doc-swagger/global-param")
+public class SwaggerGlobalParamController {
+ private static Logger logger = LoggerFactory.getLogger(SwaggerGlobalParamController.class);
+
+ @Resource
+ private SwaggerGlobalParamService swaggerGlobalParamService;
+
+ /**
+ * 获取所有的全局参数
+ *
+ * @return 全局参数列表
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+ @ResponseBody
+ @PostMapping(value = "/list")
+ public ResponseJson> list() {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("yn", 1);
+ List globalParamList = swaggerGlobalParamService.list(queryWrapper);
+ return DocResponseJson.ok(globalParamList);
+ }
+
+ /**
+ * 修改全局参数
+ *
+ * @return 无
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+ @ResponseBody
+ @PostMapping(value = "/update")
+ public ResponseJson> update(String globalParam) {
+ List newParamList = JSON.parseArray(globalParam, SwaggerGlobalParam.class);
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("yn", 1);
+ List queryParamList = swaggerGlobalParamService.list(queryWrapper);
+ List newIdList = newParamList.stream().map(SwaggerGlobalParam::getId).filter(Objects::nonNull).collect(Collectors.toList());
+ List deletedList = queryParamList.stream().map(SwaggerGlobalParam::getId).filter(id -> !newIdList.contains(id)).collect(Collectors.toList());
+ // 删除不存在的
+ swaggerGlobalParamService.removeByIds(deletedList);
+ // 保存或更新的
+ swaggerGlobalParamService.saveOrUpdateBatch(newParamList);
+ return DocResponseJson.ok();
+ }
+}
diff --git a/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerProxyController.java b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerProxyController.java
new file mode 100644
index 00000000..6a5d7a2a
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerProxyController.java
@@ -0,0 +1,63 @@
+package com.zyplayer.doc.swaggerplus.controller;
+
+import com.zyplayer.doc.core.annotation.AuthMan;
+import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
+import com.zyplayer.doc.data.service.manage.SwaggerDocService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+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.ApiKeyVehicle;
+import springfox.documentation.swagger.web.SecurityConfiguration;
+import springfox.documentation.swagger.web.SwaggerResource;
+import springfox.documentation.swagger.web.UiConfiguration;
+
+import javax.annotation.Resource;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * 承接了所有的ApiResourceController的接口
+ *
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+@AuthMan
+@RestController
+public class SwaggerProxyController {
+
+ @Resource
+ private SwaggerDocService swaggerDocService;
+
+ @RequestMapping("/swagger-resources")
+ public List swaggerResources() {
+ Set resourceList = new HashSet<>();
+ List docList = swaggerDocService.getSwaggerDocList();
+ for (SwaggerDoc swaggerDoc : docList) {
+ SwaggerResource resource = new SwaggerResource();
+ resource.setLocation(swaggerDoc.getDocUrl());
+ resource.setName(swaggerDoc.getName());
+ resource.setSwaggerVersion("2.0");
+ resourceList.add(resource);
+ }
+ return new LinkedList<>(resourceList);
+ }
+
+ @ResponseBody
+ @RequestMapping(value = "/swagger-resources/configuration/security")
+ public ResponseEntity securityConfiguration() {
+ SecurityConfiguration securityConfiguration = new SecurityConfiguration(null, null, null, null, null, ApiKeyVehicle.HEADER, "api_key", ",");
+ return new ResponseEntity<>(securityConfiguration, HttpStatus.OK);
+ }
+
+ @ResponseBody
+ @RequestMapping(value = "/swagger-resources/configuration/ui")
+ public ResponseEntity uiConfiguration() {
+ UiConfiguration uiConfiguration = new UiConfiguration(null);
+ return new ResponseEntity<>(uiConfiguration, HttpStatus.OK);
+ }
+}
+
diff --git a/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerRequestParamController.java b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerRequestParamController.java
new file mode 100644
index 00000000..92e4bebc
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/SwaggerRequestParamController.java
@@ -0,0 +1,75 @@
+package com.zyplayer.doc.swaggerplus.controller;
+
+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.SwaggerRequestParam;
+import com.zyplayer.doc.data.service.manage.SwaggerRequestParamService;
+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 javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 请求参数控制器
+ *
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+@AuthMan
+@RestController
+@RequestMapping("/doc-swagger/request-param")
+public class SwaggerRequestParamController {
+ private static Logger logger = LoggerFactory.getLogger(SwaggerRequestParamController.class);
+
+ @Resource
+ private SwaggerRequestParamService swaggerRequestParamService;
+
+ /**
+ * 获取所有的请求参数
+ *
+ * @return 请求参数
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+ @ResponseBody
+ @PostMapping(value = "/query")
+ public ResponseJson query(String docUrl) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("yn", 1);
+ queryWrapper.eq("doc_url", docUrl);
+ SwaggerRequestParam requestParam = swaggerRequestParamService.getOne(queryWrapper);
+ return DocResponseJson.ok(requestParam);
+ }
+
+ /**
+ * 修改请求参数
+ *
+ * @return 无
+ * @author 暮光:城中城
+ * @since 2021年10月16日
+ */
+ @ResponseBody
+ @PostMapping(value = "/update")
+ public ResponseJson> update(SwaggerRequestParam swaggerRequestParam) {
+ QueryWrapper updateWrapper = new QueryWrapper<>();
+ updateWrapper.eq("doc_url", swaggerRequestParam.getDocUrl());
+ DocUserDetails currentUser = DocUserUtil.getCurrentUser();
+ swaggerRequestParam.setYn(1);
+ swaggerRequestParam.setCreateTime(new Date());
+ swaggerRequestParam.setCreateUserId(currentUser.getUserId());
+ swaggerRequestParam.setCreateUserName(currentUser.getUsername());
+ swaggerRequestParamService.update(swaggerRequestParam, updateWrapper);
+ return DocResponseJson.ok();
+ }
+}
diff --git a/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/framework/config/EnableDocSwaggerPlus.java b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/framework/config/EnableDocSwaggerPlus.java
new file mode 100644
index 00000000..8fa30fea
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/framework/config/EnableDocSwaggerPlus.java
@@ -0,0 +1,17 @@
+package com.zyplayer.doc.swaggerplus.framework.config;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+
+import java.lang.annotation.*;
+
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Configuration
+@ComponentScan(basePackages = {
+ "com.zyplayer.doc.swagger",
+})
+public @interface EnableDocSwaggerPlus {
+
+}
diff --git a/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/framework/utils/SwaggerDocUtil.java b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/framework/utils/SwaggerDocUtil.java
new file mode 100644
index 00000000..eddb17fc
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/framework/utils/SwaggerDocUtil.java
@@ -0,0 +1,21 @@
+package com.zyplayer.doc.swaggerplus.framework.utils;
+
+public class SwaggerDocUtil {
+
+ public static String replaceSwaggerResources(String docUrl) {
+ int htmlIndex = docUrl.indexOf("/swagger-ui.html");
+ if (htmlIndex > 0) {
+ docUrl = docUrl.substring(0, htmlIndex) + "/swagger-resources";
+ }
+ return docUrl;
+ }
+
+ public static boolean isSwaggerResources(String docUrl) {
+ return docUrl.contains("/swagger-resources");
+ }
+
+ public static boolean isSwaggerLocation(String docUrl) {
+ return docUrl.contains("/v2/api-docs");
+ }
+
+}
diff --git a/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/service/SwaggerHttpRequestService.java b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/service/SwaggerHttpRequestService.java
new file mode 100644
index 00000000..e581b4c2
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/service/SwaggerHttpRequestService.java
@@ -0,0 +1,52 @@
+package com.zyplayer.doc.swaggerplus.service;
+
+import cn.hutool.http.HttpRequest;
+import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
+import com.zyplayer.doc.data.service.manage.SwaggerGlobalParamService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import java.net.HttpCookie;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+@Service
+public class SwaggerHttpRequestService {
+
+ @Resource
+ private SwaggerGlobalParamService swaggerGlobalParamService;
+
+ public String requestUrl(HttpServletRequest request, String docUrl) {
+ List globalParamList = swaggerGlobalParamService.getGlobalParamList();
+ Map globalFormParamMap = globalParamList.stream().filter(item -> Objects.equals(item.getParamType(), 1))
+ .collect(Collectors.toMap(SwaggerGlobalParam::getParamKey, SwaggerGlobalParam::getParamValue));
+ Map globalHeaderParamMap = globalParamList.stream().filter(item -> Objects.equals(item.getParamType(), 2))
+ .collect(Collectors.toMap(SwaggerGlobalParam::getParamKey, SwaggerGlobalParam::getParamValue));
+
+ String resultStr = HttpRequest.get(docUrl)
+ .form(globalFormParamMap)
+ .header("Accept", "application/json, text/javascript, */*; q=0.01")
+ .header("User-Agent", request.getHeader("User-Agent"))
+ .addHeaders(globalHeaderParamMap)
+ .cookie(this.getHttpCookie(request))
+ .timeout(5000).execute().body();
+ return resultStr;
+ }
+
+ private List getHttpCookie(HttpServletRequest request) {
+ List httpCookies = new LinkedList<>();
+ for (Cookie cookie : request.getCookies()) {
+ HttpCookie httpCookie = new HttpCookie(cookie.getName(), cookie.getValue());
+ httpCookie.setDomain(cookie.getDomain());
+ httpCookie.setPath(cookie.getPath());
+ httpCookie.setMaxAge(cookie.getMaxAge());
+ httpCookies.add(httpCookie);
+ }
+ return httpCookies;
+ }
+}
diff --git a/zyplayer-doc-swagger-plus/src/main/resources/db/swagger.sql b/zyplayer-doc-swagger-plus/src/main/resources/db/swagger.sql
new file mode 100644
index 00000000..b6ef35cb
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/resources/db/swagger.sql
@@ -0,0 +1,45 @@
+
+CREATE TABLE `swagger_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_url` varchar(250) DEFAULT NULL COMMENT '文档URL地址',
+ `json_content` text DEFAULT NULL COMMENT 'swagger文档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=禁用',
+ `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文档地址';
+
+CREATE TABLE `swagger_request_param` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键自增ID',
+ `doc_url` varchar(250) DEFAULT NULL COMMENT '文档url',
+ `form_data` text DEFAULT NULL COMMENT 'form参数',
+ `body_data` text DEFAULT NULL COMMENT 'body参数',
+ `header_data` varchar(1024) DEFAULT NULL COMMENT 'header参数',
+ `cookie_data` varchar(1024) DEFAULT NULL COMMENT 'cookie参数',
+ `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文档请求参数记录';
+
+CREATE TABLE `swagger_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 '参数值',
+ `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文档全局参数记录';
+
+
+
diff --git a/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/Console.eb8296cc.js b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/Console.eb8296cc.js
new file mode 100644
index 00000000..bbf06f67
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/Console.eb8296cc.js
@@ -0,0 +1 @@
+import{b as o,o as e}from"./vendor.0502eb24.js";const t={name:"About",components:{},data:()=>({}),computed:{},mounted(){},methods:{}};t.render=function(t,n,d,r,a,m){return e(),o("div",null," 控制台 ")};export{t as default};
diff --git a/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/DocView.7def2551.js b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/DocView.7def2551.js
new file mode 100644
index 00000000..63b90ef8
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/DocView.7def2551.js
@@ -0,0 +1 @@
+import{r as e,c as a,w as t,o,a as s}from"./vendor.0502eb24.js";const c={name:"About",components:{},data:()=>({activePage:"doc"}),computed:{},mounted(){let e=this.$route.query.path,a=this.$store.state.docMap[e];a?this.$store.commit("addTableName",{key:this.$route.fullPath,val:a.name}):this.$message.error("没有找到对应的文档")},methods:{changePage(){}}};c.render=function(c,n,d,i,r,l){const m=e("a-tab-pane"),u=e("a-tabs");return o(),a(u,{activeKey:r.activePage,"onUpdate:activeKey":n[0]||(n[0]=e=>r.activePage=e),closable:"",onTabClick:l.changePage,style:{padding:"5px 10px 0"}},{default:t((()=>[s(m,{tab:"接口说明",key:"doc"}),s(m,{tab:"在线调试",key:"debug"})])),_:1},8,["activeKey","onTabClick"])};export{c as default};
diff --git a/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/GlobalLayout.d7c605f8.js b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/GlobalLayout.d7c605f8.js
new file mode 100644
index 00000000..7b1bb357
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/GlobalLayout.d7c605f8.js
@@ -0,0 +1 @@
+var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,i=(t,r,n)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n;import{k as c,m as l,r as u,c as s,w as f,o as p,l as d,t as y,a as h,n as m,p as g,q as b,s as v,u as w,v as O,D as j,b as S,F as A,x,d as P,y as k,B as E}from"./vendor.0502eb24.js";var C={exports:{}},I=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([r]):o[t]?o[t]+", "+r:r}})),o):o},se=re,fe=Q,pe=function(e){return new Promise((function(t,r){var n=e.data,o=e.headers;ae.isFormData(n)&&delete o["Content-Type"];var a=new XMLHttpRequest;if(e.auth){var i=e.auth.username||"",c=e.auth.password||"";o.Authorization="Basic "+btoa(i+":"+c)}var l=le(e.baseURL,e.url);if(a.open(e.method.toUpperCase(),ce(l,e.params,e.paramsSerializer),!0),a.timeout=e.timeout,a.onreadystatechange=function(){if(a&&4===a.readyState&&(0!==a.status||a.responseURL&&0===a.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in a?ue(a.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?a.response:a.responseText,status:a.status,statusText:a.statusText,headers:n,config:e,request:a};ie(t,r,o),a=null}},a.onabort=function(){a&&(r(fe("Request aborted",e,"ECONNABORTED",a)),a=null)},a.onerror=function(){r(fe("Network Error",e,null,a)),a=null},a.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(fe(t,e,"ECONNABORTED",a)),a=null},ae.isStandardBrowserEnv()){var u=oe,s=(e.withCredentials||se(l))&&e.xsrfCookieName?u.read(e.xsrfCookieName):void 0;s&&(o[e.xsrfHeaderName]=s)}if("setRequestHeader"in a&&ae.forEach(o,(function(e,t){void 0===n&&"content-type"===t.toLowerCase()?delete o[t]:a.setRequestHeader(t,e)})),ae.isUndefined(e.withCredentials)||(a.withCredentials=!!e.withCredentials),e.responseType)try{a.responseType=e.responseType}catch(f){if("json"!==e.responseType)throw f}"function"==typeof e.onDownloadProgress&&a.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&a.upload&&a.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){a&&(a.abort(),r(e),a=null)})),void 0===n&&(n=null),a.send(n)}))},de=_,ye=function(e,t){G.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},he={"Content-Type":"application/x-www-form-urlencoded"};function me(e,t){!de.isUndefined(e)&&de.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var ge,be={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(ge=pe),ge),transformRequest:[function(e,t){return ye(t,"Accept"),ye(t,"Content-Type"),de.isFormData(e)||de.isArrayBuffer(e)||de.isBuffer(e)||de.isStream(e)||de.isFile(e)||de.isBlob(e)?e:de.isArrayBufferView(e)?e.buffer:de.isURLSearchParams(e)?(me(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):de.isObject(e)?(me(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};be.headers={common:{Accept:"application/json, text/plain, */*"}},de.forEach(["delete","get","head"],(function(e){be.headers[e]={}})),de.forEach(["post","put","patch"],(function(e){be.headers[e]=de.merge(he)}));var ve=be,we=_,Oe=function(e,t,r){return V.forEach(r,(function(r){e=r(e,t)})),e},je=K,Se=ve;function Ae(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var xe=_,Pe=function(e,t){t=t||{};var r={},n=["url","method","params","data"],o=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];xe.forEach(n,(function(e){void 0!==t[e]&&(r[e]=t[e])})),xe.forEach(o,(function(n){xe.isObject(t[n])?r[n]=xe.deepMerge(e[n],t[n]):void 0!==t[n]?r[n]=t[n]:xe.isObject(e[n])?r[n]=xe.deepMerge(e[n]):void 0!==e[n]&&(r[n]=e[n])})),xe.forEach(a,(function(n){void 0!==t[n]?r[n]=t[n]:void 0!==e[n]&&(r[n]=e[n])}));var i=n.concat(o).concat(a),c=Object.keys(t).filter((function(e){return-1===i.indexOf(e)}));return xe.forEach(c,(function(n){void 0!==t[n]?r[n]=t[n]:void 0!==e[n]&&(r[n]=e[n])})),r},ke=_,Ee=T,Ce=q,Ie=function(e){return Ae(e),e.headers=e.headers||{},e.data=Oe(e.data,e.headers,e.transformRequest),e.headers=we.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),we.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||Se.adapter)(e).then((function(t){return Ae(e),t.data=Oe(t.data,t.headers,e.transformResponse),t}),(function(t){return je(t)||(Ae(e),t&&t.response&&(t.response.data=Oe(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},De=Pe;function Me(e){this.defaults=e,this.interceptors={request:new Ce,response:new Ce}}Me.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=De(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[Ie,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)r=r.then(t.shift(),t.shift());return r},Me.prototype.getUri=function(e){return e=De(this.defaults,e),Ee(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},ke.forEach(["delete","get","head","options"],(function(e){Me.prototype[e]=function(t,r){return this.request(ke.merge(r||{},{method:e,url:t}))}})),ke.forEach(["post","put","patch"],(function(e){Me.prototype[e]=function(t,r,n){return this.request(ke.merge(n||{},{method:e,url:t,data:r}))}}));var Ne=Me;function Re(e){this.message=e}Re.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Re.prototype.__CANCEL__=!0;var Ue=Re,Fe=Ue;function ze(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new Fe(e),t(r.reason))}))}ze.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},ze.source=function(){var e;return{token:new ze((function(t){e=t})),cancel:e}};var _e=ze,Be=_,Le=I,Te=Ne,He=Pe;function We(e){var t=new Te(e),r=Le(Te.prototype.request,t);return Be.extend(r,Te.prototype,t),Be.extend(r,t),r}var qe=We(ve);qe.Axios=Te,qe.create=function(e){return We(He(qe.defaults,e))},qe.Cancel=Ue,qe.CancelToken=_e,qe.isCancel=K,qe.all=function(e){return Promise.all(e)},qe.spread=function(e){return function(t){return e.apply(null,t)}},C.exports=qe,C.exports.default=qe;var Ve=C.exports,Ke="undefined"!=typeof Symbol&&Symbol,Ge=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var n=Object.getOwnPropertySymbols(e);if(1!==n.length||n[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0},Je="Function.prototype.bind called on incompatible ",Qe=Array.prototype.slice,$e=Object.prototype.toString,Xe=function(e){var t=this;if("function"!=typeof t||"[object Function]"!==$e.call(t))throw new TypeError(Je+t);for(var r,n=Qe.call(arguments,1),o=function(){if(this instanceof r){var o=t.apply(this,n.concat(Qe.call(arguments)));return Object(o)===o?o:this}return t.apply(e,n.concat(Qe.call(arguments)))},a=Math.max(0,t.length-n.length),i=[],c=0;c1&&"boolean"!=typeof t)throw new rt('"allowMissing" argument must be a boolean');var r=jt(e),n=r.length>0?r[0]:"",o=St("%"+n+"%",t),a=o.name,i=o.value,c=!1,l=o.alias;l&&(n=l[0],gt(r,mt([0,1],l)));for(var u=1,s=!0;u=r.length){var y=ot(i,f);i=(s=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:i[f]}else s=ht(i,f),i=i[f];s&&!c&&(ft[a]=i)}}return i},xt={exports:{}};!function(e){var t=Ze,r=At,n=r("%Function.prototype.apply%"),o=r("%Function.prototype.call%"),a=r("%Reflect.apply%",!0)||t.call(o,n),i=r("%Object.getOwnPropertyDescriptor%",!0),c=r("%Object.defineProperty%",!0),l=r("%Math.max%");if(c)try{c({},"a",{value:1})}catch(Ho){c=null}e.exports=function(e){var r=a(t,o,arguments);if(i&&c){var n=i(r,"length");n.configurable&&c(r,"length",{value:1+l(0,e.length-(arguments.length-1))})}return r};var u=function(){return a(t,n,arguments)};c?c(e.exports,"apply",{value:u}):e.exports.apply=u}(xt);var Pt=At,kt=xt.exports,Et=kt(Pt("String.prototype.indexOf")),Ct=c(Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:{}})),It="function"==typeof Map&&Map.prototype,Dt=Object.getOwnPropertyDescriptor&&It?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Mt=It&&Dt&&"function"==typeof Dt.get?Dt.get:null,Nt=It&&Map.prototype.forEach,Rt="function"==typeof Set&&Set.prototype,Ut=Object.getOwnPropertyDescriptor&&Rt?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Ft=Rt&&Ut&&"function"==typeof Ut.get?Ut.get:null,zt=Rt&&Set.prototype.forEach,_t="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,Bt="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,Lt="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,Tt=Boolean.prototype.valueOf,Ht=Object.prototype.toString,Wt=Function.prototype.toString,qt=String.prototype.match,Vt="function"==typeof BigInt?BigInt.prototype.valueOf:null,Kt=Object.getOwnPropertySymbols,Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,Jt="function"==typeof Symbol&&"object"==typeof Symbol.iterator,Qt=Object.prototype.propertyIsEnumerable,$t=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null),Xt=Ct.custom,Zt=Xt&&nr(Xt)?Xt:null,Yt="function"==typeof Symbol&&void 0!==Symbol.toStringTag?Symbol.toStringTag:null;function er(e,t,r){var n="double"===(r.quoteStyle||t)?'"':"'";return n+e+n}function tr(e){return String(e).replace(/"/g,""")}function rr(e){return!("[object Array]"!==ir(e)||Yt&&"object"==typeof e&&Yt in e)}function nr(e){if(Jt)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!Gt)return!1;try{return Gt.call(e),!0}catch(Ho){}return!1}var or=Object.prototype.hasOwnProperty||function(e){return e in this};function ar(e,t){return or.call(e,t)}function ir(e){return Ht.call(e)}function cr(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;rt.maxStringLength){var r=e.length-t.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return lr(e.slice(0,t.maxStringLength),t)+n}return er(e.replace(/(['\\])/g,"\\$1").replace(/[\x00-\x1f]/g,ur),"single",t)}function ur(e){var t=e.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return r?"\\"+r:"\\x"+(t<16?"0":"")+t.toString(16).toUpperCase()}function sr(e){return"Object("+e+")"}function fr(e){return e+" { ? }"}function pr(e,t,r,n){return e+" ("+t+") {"+(n?dr(r,n):r.join(", "))+"}"}function dr(e,t){if(0===e.length)return"";var r="\n"+t.prev+t.base;return r+e.join(","+r)+"\n"+t.prev}function yr(e,t){var r=rr(e),n=[];if(r){n.length=e.length;for(var o=0;o-1?kt(r):r},gr=function e(t,r,n,o){var a=r||{};if(ar(a,"quoteStyle")&&"single"!==a.quoteStyle&&"double"!==a.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(ar(a,"maxStringLength")&&("number"==typeof a.maxStringLength?a.maxStringLength<0&&a.maxStringLength!==1/0:null!==a.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var i=!ar(a,"customInspect")||a.customInspect;if("boolean"!=typeof i)throw new TypeError('option "customInspect", if provided, must be `true` or `false`');if(ar(a,"indent")&&null!==a.indent&&"\t"!==a.indent&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('options "indent" must be "\\t", an integer > 0, or `null`');if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return lr(t,a);if("number"==typeof t)return 0===t?1/0/t>0?"0":"-0":String(t);if("bigint"==typeof t)return String(t)+"n";var c=void 0===a.depth?5:a.depth;if(void 0===n&&(n=0),n>=c&&c>0&&"object"==typeof t)return rr(t)?"[Array]":"[Object]";var l=function(e,t){var r;if("\t"===e.indent)r="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;r=Array(e.indent+1).join(" ")}return{base:r,prev:Array(t+1).join(r)}}(a,n);if(void 0===o)o=[];else if(cr(o,t)>=0)return"[Circular]";function u(t,r,i){if(r&&(o=o.slice()).push(r),i){var c={depth:a.depth};return ar(a,"quoteStyle")&&(c.quoteStyle=a.quoteStyle),e(t,c,n+1,o)}return e(t,a,n+1,o)}if("function"==typeof t){var s=function(e){if(e.name)return e.name;var t=qt.call(Wt.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),f=yr(t,u);return"[Function"+(s?": "+s:" (anonymous)")+"]"+(f.length>0?" { "+f.join(", ")+" }":"")}if(nr(t)){var p=Jt?String(t).replace(/^(Symbol\(.*\))_[^)]*$/,"$1"):Gt.call(t);return"object"!=typeof t||Jt?p:sr(p)}if(function(e){if(!e||"object"!=typeof e)return!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"==typeof e.nodeName&&"function"==typeof e.getAttribute}(t)){for(var d="<"+String(t.nodeName).toLowerCase(),y=t.attributes||[],h=0;h",t.childNodes&&t.childNodes.length&&(d+="..."),d+=""+String(t.nodeName).toLowerCase()+">"}if(rr(t)){if(0===t.length)return"[]";var m=yr(t,u);return l&&!function(e){for(var t=0;t=0)return!1;return!0}(m)?"["+dr(m,l)+"]":"[ "+m.join(", ")+" ]"}if(function(e){return!("[object Error]"!==ir(e)||Yt&&"object"==typeof e&&Yt in e)}(t)){var g=yr(t,u);return 0===g.length?"["+String(t)+"]":"{ ["+String(t)+"] "+g.join(", ")+" }"}if("object"==typeof t&&i){if(Zt&&"function"==typeof t[Zt])return t[Zt]();if("function"==typeof t.inspect)return t.inspect()}if(function(e){if(!Mt||!e||"object"!=typeof e)return!1;try{Mt.call(e);try{Ft.call(e)}catch(d){return!0}return e instanceof Map}catch(Ho){}return!1}(t)){var b=[];return Nt.call(t,(function(e,r){b.push(u(r,t,!0)+" => "+u(e,t))})),pr("Map",Mt.call(t),b,l)}if(function(e){if(!Ft||!e||"object"!=typeof e)return!1;try{Ft.call(e);try{Mt.call(e)}catch(t){return!0}return e instanceof Set}catch(Ho){}return!1}(t)){var v=[];return zt.call(t,(function(e){v.push(u(e,t))})),pr("Set",Ft.call(t),v,l)}if(function(e){if(!_t||!e||"object"!=typeof e)return!1;try{_t.call(e,_t);try{Bt.call(e,Bt)}catch(d){return!0}return e instanceof WeakMap}catch(Ho){}return!1}(t))return fr("WeakMap");if(function(e){if(!Bt||!e||"object"!=typeof e)return!1;try{Bt.call(e,Bt);try{_t.call(e,_t)}catch(d){return!0}return e instanceof WeakSet}catch(Ho){}return!1}(t))return fr("WeakSet");if(function(e){if(!Lt||!e||"object"!=typeof e)return!1;try{return Lt.call(e),!0}catch(Ho){}return!1}(t))return fr("WeakRef");if(function(e){return!("[object Number]"!==ir(e)||Yt&&"object"==typeof e&&Yt in e)}(t))return sr(u(Number(t)));if(function(e){if(!e||"object"!=typeof e||!Vt)return!1;try{return Vt.call(e),!0}catch(Ho){}return!1}(t))return sr(u(Vt.call(t)));if(function(e){return!("[object Boolean]"!==ir(e)||Yt&&"object"==typeof e&&Yt in e)}(t))return sr(Tt.call(t));if(function(e){return!("[object String]"!==ir(e)||Yt&&"object"==typeof e&&Yt in e)}(t))return sr(u(String(t)));if(!function(e){return!("[object Date]"!==ir(e)||Yt&&"object"==typeof e&&Yt in e)}(t)&&!function(e){return!("[object RegExp]"!==ir(e)||Yt&&"object"==typeof e&&Yt in e)}(t)){var w=yr(t,u),O=$t?$t(t)===Object.prototype:t instanceof Object||t.constructor===Object,j=t instanceof Object?"":"null prototype",S=!O&&Yt&&Object(t)===t&&Yt in t?ir(t).slice(8,-1):j?"Object":"",A=(O||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(S||j?"["+[].concat(S||[],j||[]).join(": ")+"] ":"");return 0===w.length?A+"{}":l?A+"{"+dr(w,l)+"}":A+"{ "+w.join(", ")+" }"}return String(t)},br=hr("%TypeError%"),vr=hr("%WeakMap%",!0),wr=hr("%Map%",!0),Or=mr("WeakMap.prototype.get",!0),jr=mr("WeakMap.prototype.set",!0),Sr=mr("WeakMap.prototype.has",!0),Ar=mr("Map.prototype.get",!0),xr=mr("Map.prototype.set",!0),Pr=mr("Map.prototype.has",!0),kr=function(e,t){for(var r,n=e;null!==(r=n.next);n=r)if(r.key===t)return n.next=r.next,r.next=e.next,e.next=r,r},Er=String.prototype.replace,Cr=/%20/g,Ir="RFC3986",Dr={default:Ir,formatters:{RFC1738:function(e){return Er.call(e,Cr,"+")},RFC3986:function(e){return String(e)}},RFC1738:"RFC1738",RFC3986:Ir},Mr=Dr,Nr=Object.prototype.hasOwnProperty,Rr=Array.isArray,Ur=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),Fr=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},n=0;n1;){var t=e.pop(),r=t.obj[t.prop];if(Rr(r)){for(var n=[],o=0;o=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122||o===Mr.RFC1738&&(40===l||41===l)?i+=a.charAt(c):l<128?i+=Ur[l]:l<2048?i+=Ur[192|l>>6]+Ur[128|63&l]:l<55296||l>=57344?i+=Ur[224|l>>12]+Ur[128|l>>6&63]+Ur[128|63&l]:(c+=1,l=65536+((1023&l)<<10|1023&a.charCodeAt(c)),i+=Ur[240|l>>18]+Ur[128|l>>12&63]+Ur[128|l>>6&63]+Ur[128|63&l])}return i},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(Rr(e)){for(var r=[],n=0;n0?g.join(",")||null:void 0}];else if(Wr(c))b=c;else{var w=Object.keys(g);b=l?w.sort(l):w}for(var O=0;O-1?e.split(","):e},rn=function(e,t,r,n){if(e){var o=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,i=r.depth>0&&/(\[[^[\]]*])/.exec(o),c=i?o.slice(0,i.index):o,l=[];if(c){if(!r.plainObjects&&Xr.call(Object.prototype,c)&&!r.allowPrototypes)return;l.push(c)}for(var u=0;r.depth>0&&null!==(i=a.exec(o))&&u=0;--a){var i,c=e[a];if("[]"===c&&r.parseArrays)i=[].concat(o);else{i=r.plainObjects?Object.create(null):{};var l="["===c.charAt(0)&&"]"===c.charAt(c.length-1)?c.slice(1,-1):c,u=parseInt(l,10);r.parseArrays||""!==l?!isNaN(u)&&c!==l&&String(u)===l&&u>=0&&r.parseArrays&&u<=r.arrayLimit?(i=[])[u]=o:i[l]=o:i={0:o}}o=i}return o}(l,t,r,n)}},nn={formats:Dr,parse:function(e,t){var r=function(e){if(!e)return Yr;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?Yr.charset:e.charset;return{allowDots:void 0===e.allowDots?Yr.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:Yr.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:Yr.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:Yr.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:Yr.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:Yr.comma,decoder:"function"==typeof e.decoder?e.decoder:Yr.decoder,delimiter:"string"==typeof e.delimiter||$r.isRegExp(e.delimiter)?e.delimiter:Yr.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:Yr.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:Yr.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:Yr.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:Yr.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:Yr.strictNullHandling}}(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var n="string"==typeof e?function(e,t){var r,n={},o=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,i=o.split(t.delimiter,a),c=-1,l=t.charset;if(t.charsetSentinel)for(r=0;r-1&&(s=Zr(s)?[s]:s),Xr.call(n,u)?n[u]=$r.combine(n[u],s):n[u]=s}return n}(e,r):e,o=r.plainObjects?Object.create(null):{},a=Object.keys(n),i=0;i0?p+f:""}};const on={"/zyplayer-doc-db/executor/execute":!0,"/zyplayer-doc-db/datasource/test":!0};const an=Ve.create({baseURL:"http://doc.zyplayer.com/zyplayer-doc-manage",timeout:2e4,headers:{"Content-type":"application/x-www-form-urlencoded"},withCredentials:!0});var cn;(cn=an).interceptors.request.use((e=>{var c,l;return e.needValidateResult=!0,on[e.url]&&(e.needValidateResult=!1),"get"===e.method?(e.params=e.params||{},e.params=(c=((e,t)=>{for(var r in t||(t={}))o.call(t,r)&&i(e,r,t[r]);if(n)for(var r of n(t))a.call(t,r)&&i(e,r,t[r]);return e})({},e.params),l={_:(new Date).getTime()},t(c,r(l)))):"post"===e.method&&(e.data=e.data||{},e.data instanceof FormData||e.data instanceof Object&&(e.data=nn.stringify(e.data))),e}),(e=>(console.log(e),Promise.reject(e)))),cn.interceptors.response.use((e=>{if(e.message)vue.$message.error("请求错误:"+e.message);else{if(!e.config.needValidateResult||200===e.data.errCode)return e.data;if(400===e.data.errCode){l.error("请先登录");let e=encodeURIComponent(window.location.href);window.location="http://doc.zyplayer.com/zyplayer-doc-manage#/user/login?redirect="+e}else l.error(e.data.errMsg||"未知错误")}return Promise.reject("请求错误")}),(e=>(console.log("err"+e),l.error("请求错误:"+e.message),Promise.reject(e))));const ln=e=>an({url:"/user/info/selfInfo",method:"post",data:e}),un=e=>an({url:"/logout",method:"post",data:e}),sn=e=>an({url:"/system/info/upgrade",method:"post",data:e}),fn={data:()=>({aboutDialogVisible:!1,upgradeInfo:{}}),mounted(){this.checkSystemUpgrade()},methods:{show(){this.aboutDialogVisible=!0},checkSystemUpgrade(){sn({}).then((e=>{e.data&&(this.upgradeInfo=e.data,this.upgradeInfo.upgradeContent&&(this.upgradeInfo.upgradeContent=this.upgradeInfo.upgradeContent.replaceAll(";","\n")),console.log("zyplayer-doc发现新版本:\n升级地址:"+e.data.upgradeUrl+"\n当前版本:"+e.data.nowVersion+"\n最新版本:"+e.data.lastVersion+"\n升级内容:"+e.data.upgradeContent))}))}}},pn={style:{}},dn=d("div",{style:{"font-weight":"bold","font-size":"25px"}},"zyplayer-doc",-1),yn={style:{"line-height":"30px",padding:"10px 0"}},hn=d("div",null,[g("版权所有 © 2018-2021 "),d("a",{target:"_blank",href:"http://doc.zyplayer.com"},"doc.zyplayer.com")],-1),mn={style:{"line-height":"30px"}},gn=d("div",null,[g("文档:"),d("a",{target:"_blank",href:"http://doc.zyplayer.com/zyplayer-doc-manage/doc-wiki#/page/share/view?pageId=1&space=23f3f59a60824d21af9f7c3bbc9bc3cb"},"http://doc.zyplayer.com")],-1),bn=d("div",null,[g("主页:"),d("a",{target:"_blank",href:"https://gitee.com/zyplayer/zyplayer-doc"},"https://gitee.com/zyplayer/zyplayer-doc")],-1),vn=d("div",null,[g("反馈:"),d("a",{target:"_blank",href:"https://gitee.com/zyplayer/zyplayer-doc/issues"},"https://gitee.com/zyplayer/zyplayer-doc/issues")],-1),wn=d("div",null,"特性关注&技术交流QQ群:466363173",-1),On=g("UI/设计/开发/测试"),jn=d("div",null,[d("a",{target:"_blank",href:"http://zyplayer.com"},"暮光:城中城")],-1),Sn={style:{"line-height":"30px"}},An=d("div",null,"此项目基于以下开源软件构建",-1),xn=g("后端"),Pn=d("div",null,[d("a",{target:"_blank",href:"https://spring.io/projects/spring-boot"},"Spring-Boot"),g("、 "),d("a",{target:"_blank",href:"http://www.mybatis.org"},"MyBatis"),g("、 "),d("a",{target:"_blank",href:"https://github.com/alibaba/druid"},"Druid"),g("、 "),d("a",{target:"_blank",href:"https://mp.baomidou.com"},"MyBatis-Plus"),g("、 "),d("a",{target:"_blank",href:"https://www.hutool.cn"},"Hutool"),g("、 "),d("a",{target:"_blank",href:"https://github.com/alibaba/fastjson"},"Fastjson"),g("、 "),d("a",{target:"_blank",href:"https://alibaba-easyexcel.github.io"},"Easy Excel"),g("、 "),d("a",{target:"_blank",href:"https://swagger.io"},"Swagger"),g("、 "),d("a",{target:"_blank",href:"https://dubbo.io"},"Dubbo"),g("、 "),d("a",{target:"_blank",href:"http://www.eclipse.org/jgit"},"JGit"),g("、... ")],-1),kn=g("前端"),En=g(" Vue、element-ui、wangeditor、mavon-editor、qrcodejs2、vant、vue-router、axios、vue-hljs、brace、echarts、sql-formatter、vue-clipboard2、... "),Cn=d("div",null,null,-1),In=d("span",{slot:"label"},[g(" 软件更新 "),d("sup",{class:"el-badge__content el-badge__content--undefined is-fixed is-dot",style:{top:"10px",right:"20px"}})],-1),Dn={style:{"line-height":"30px"}},Mn=g("升级地址:"),Nn=["href"],Rn=d("div",null,"升级内容:",-1),Un={style:{margin:"0","max-height":"250px",overflow:"auto"}};fn.render=function(e,t,r,n,o,a){const i=u("a-divider"),c=u("a-tab-pane"),l=u("a-tabs"),g=u("a-modal");return p(),s(g,{visible:o.aboutDialogVisible,"onUpdate:visible":t[0]||(t[0]=e=>o.aboutDialogVisible=e),title:"关于",width:"600px",footer:null},{default:f((()=>[d("div",pn,[dn,d("div",yn,[d("div",null,"版本 "+y(o.upgradeInfo.nowVersion||"1.0.0"),1),hn]),h(l,{type:"card"},{default:f((()=>[h(c,{tab:"支持",key:"support"},{default:f((()=>[d("div",mn,[gn,bn,vn,wn,h(i,{"content-position":"left"},{default:f((()=>[On])),_:1}),jn])])),_:1}),h(c,{tab:"开源软件",key:"software"},{default:f((()=>[d("div",Sn,[An,h(i,{"content-position":"left"},{default:f((()=>[xn])),_:1}),Pn,h(i,{"content-position":"left"},{default:f((()=>[kn])),_:1}),En,Cn])])),_:1}),o.upgradeInfo.lastVersion?(p(),s(c,{tab:"软件更新",key:"upgrade"},{default:f((()=>[In,d("div",Dn,[d("div",null,"当前版本:"+y(o.upgradeInfo.nowVersion),1),d("div",null,"最新版本:"+y(o.upgradeInfo.lastVersion),1),d("div",null,[Mn,d("a",{target:"_blank",href:o.upgradeInfo.upgradeUrl},y(o.upgradeInfo.upgradeUrl),9,Nn)]),Rn,d("pre",Un,y(o.upgradeInfo.upgradeContent),1)])])),_:1})):m("",!0)])),_:1})])])),_:1},8,["visible"])};var Fn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z"}}]},name:"bar-chart",theme:"outlined"};function zn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var _n=function(e,t){var r=function(e){for(var t=1;t({currUser:{}}),components:{DownOutlined:j,UserOutlined:go,aboutDialog:fn},mounted(){this.getSelfUserInfo()},methods:{showAbout(){this.$refs.aboutDialog.show()},showConsole(){window.open("http://doc.zyplayer.com/zyplayer-doc-manage","_blank")},showMyInfo(){this.$router.push({path:"/user/myInfo"})},userSignOut(){un().then((()=>{location.reload()}))},getSelfUserInfo(){ln().then((e=>{this.currUser=e.data}))}}};w("data-v-7c0a4be2");const vo=g("控制台"),wo=g("关于"),Oo=g("我的资料"),jo=g("退出登录");O(),bo.render=function(e,t,r,n,o,a){const i=u("UserOutlined"),c=u("a-menu-item"),l=u("a-menu-divider"),s=u("a-menu"),m=u("a-dropdown"),b=u("about-dialog");return p(),S(A,null,[h(m,{trigger:"click"},{overlay:f((()=>[h(s,null,{default:f((()=>[h(c,{onClick:a.showConsole,key:"1"},{default:f((()=>[vo])),_:1},8,["onClick"]),h(l),h(c,{onClick:a.showAbout,key:"2"},{default:f((()=>[wo])),_:1},8,["onClick"]),h(c,{onClick:a.showMyInfo,key:"3"},{default:f((()=>[Oo])),_:1},8,["onClick"]),h(c,{onClick:a.userSignOut,key:"4"},{default:f((()=>[jo])),_:1},8,["onClick"])])),_:1})])),default:f((()=>[d("a",{class:"ant-dropdown-link",onClick:t[0]||(t[0]=x((()=>{}),["prevent"])),style:{display:"inline-block",height:"100%","vertical-align":"initial"}},[h(i),g(" "+y(o.currUser.userName||"-"),1)])])),_:1}),h(b,{ref:"aboutDialog"},null,512)],64)},bo.__scopeId="data-v-7c0a4be2";const So={name:"MenuLayoutChildren",props:{menuItem:Object},data:()=>({}),components:{StarOutlined:yo,SettingOutlined:uo,CarryOutOutlined:Wn,FileTextOutlined:Xn,DashboardOutlined:Gn},methods:{haveShowChildren:e=>e.filter((e=>!e.meta||!e.meta.hidden)).length>0}};So.render=function(e,t,r,n,o,a){const i=u("SettingOutlined"),c=u("FileTextOutlined"),l=u("MenuLayoutChildren"),g=u("a-sub-menu"),b=u("DashboardOutlined"),v=u("router-link"),w=u("a-menu-item");return r.menuItem.meta&&r.menuItem.meta.hidden?m("",!0):(p(),S(A,{key:0},[r.menuItem.children?(p(),S(A,{key:0},[a.haveShowChildren(r.menuItem.children)?(p(),s(g,{key:r.menuItem.path},{title:f((()=>[r.menuItem.meta?(p(),S(A,{key:0},["SettingOutlined"===r.menuItem.meta.icon?(p(),s(i,{key:0})):m("",!0),"FileTextOutlined"===r.menuItem.meta.icon?(p(),s(c,{key:1})):m("",!0)],64)):m("",!0),d("span",null,y(r.menuItem.name),1)])),default:f((()=>[(p(!0),S(A,null,P(r.menuItem.children,(e=>(p(),s(l,{menuItem:e},null,8,["menuItem"])))),256))])),_:1})):m("",!0)],64)):(p(),s(w,{key:r.menuItem.path},{default:f((()=>[h(v,{to:{path:r.menuItem.path,query:r.menuItem.query}},{default:f((()=>[r.menuItem.meta?(p(),S(A,{key:0},["DashboardOutlined"===r.menuItem.meta.icon?(p(),s(b,{key:0})):m("",!0)],64)):m("",!0),d("span",null,y(r.menuItem.name),1)])),_:1},8,["to"])])),_:1}))],64))};const Ao={name:"MenuLayout",data:()=>({menuData:[],selectedKeys:[],openKeys:[],collapsed:!1,treeData:[{title:"用户管理接口文档",key:"0-0",children:[{title:"用户信息管理",key:"0-0-0",children:[{title:"/getUserInfo",key:"0-0-0-0",isLeaf:!0,path:"/doc/view",query:{path:"/getUserInfo"}},{title:"/deleteUserInfo",key:"0-0-0-1",isLeaf:!0,path:"/doc/view",query:{path:"/deleteUserInfo"}},{title:"/updateUserInfo",key:"0-0-0-2",isLeaf:!0,path:"/doc/view",query:{path:"/updateUserInfo"}}]}]}],expandedKeys:[]}),watch:{"$store.state.userInfo"(e){}},components:{MenuChildrenLayout:So},mounted(){this.getMenuData();let e=this.$route.meta||{},t=this.$route.path;e.parentPath&&(t=e.parentPath),this.selectedKeys=[t];let r=this.$route.matched;r.length>=1&&(this.openKeys=[r[1].path])},methods:{getMenuData(){let e=this.$router.options.routes.find((e=>"/"===e.path)).children[0].children;this.menuData=JSON.parse(JSON.stringify(e))},docChecked(e,t){if(t.node.isLeaf){let e=t.node.dataRef;this.$router.push({path:e.path,query:e.query})}}}},xo={class:"menu-layout"},Po=g("leaf 0-0"),ko=g("leaf 0-1");Ao.render=function(e,t,r,n,o,a){const i=u("menu-children-layout"),c=u("a-menu"),l=u("router-link"),d=u("a-tree-node"),y=u("a-directory-tree");return p(),S("div",xo,[h(c,{theme:"light",mode:"inline","inline-collapsed":o.collapsed,openKeys:o.openKeys,"onUpdate:openKeys":t[0]||(t[0]=e=>o.openKeys=e),selectedKeys:o.selectedKeys,"onUpdate:selectedKeys":t[1]||(t[1]=e=>o.selectedKeys=e)},{default:f((()=>[(p(!0),S(A,null,P(o.menuData,(e=>(p(),s(i,{menuItem:e},null,8,["menuItem"])))),256))])),_:1},8,["inline-collapsed","openKeys","selectedKeys"]),h(y,{"tree-data":o.treeData,expandedKeys:o.expandedKeys,"onUpdate:expandedKeys":t[2]||(t[2]=e=>o.expandedKeys=e),onSelect:a.docChecked},{default:f((()=>[h(d,{key:"0-0",title:"parent 0"},{default:f((()=>[h(d,{key:"0-0-0","is-leaf":""},{title:f((()=>[h(l,{to:{path:"/doc/view",query:{id:1}}},{default:f((()=>[Po])),_:1})])),_:1}),h(d,{key:"0-0-1","is-leaf":""},{title:f((()=>[h(l,{to:{path:"/doc/view",query:{id:2}}},{default:f((()=>[ko])),_:1})])),_:1})])),_:1}),h(d,{key:"0-1",title:"parent 1"},{default:f((()=>[h(d,{key:"0-1-0",title:"leaf 1-0","is-leaf":""}),h(d,{key:"0-1-1",title:"leaf 1-1","is-leaf":""})])),_:1})])),_:1},8,["tree-data","expandedKeys","onSelect"])])};const Eo={name:"GlobalFooter",props:["copyright","linkList"]};w("data-v-7aaaa116");const Co={class:"footer"},Io={class:"links"},Do=["href"],Mo={class:"copyright"},No=g(" Copyright");O(),Eo.render=function(e,t,r,n,o,a){const i=u("a-icon");return p(),S("div",Co,[d("div",Io,[(p(!0),S(A,null,P(r.linkList,((e,t)=>(p(),S("a",{target:"_blank",key:t,href:e.link?e.link:"javascript: void(0)"},[e.icon?(p(),s(i,{key:0,type:e.icon},null,8,["type"])):m("",!0),g(y(e.name),1)],8,Do)))),128))]),d("div",Mo,[No,h(i,{type:"copyright"}),g(" "+y(r.copyright),1)])])},Eo.__scopeId="data-v-7aaaa116";const Ro=window.innerHeight-64-122,Uo={name:"GlobalLayout",components:{HeaderAvatar:bo,MenuLayout:Ao,GlobalFooter:Eo,BarChartOutlined:Bn,MenuFoldOutlined:to,MenuUnfoldOutlined:ao},data:()=>({minHeight:Ro+"px",appMenuCollapsed:!1,rightAsideWidth:250}),computed:{initialEnv(){return this.$store.state.initialEnv}},mounted(){this.dragChangeRightAsideWidth()},methods:{dragChangeRightAsideWidth:function(){let e=this.$refs.rightResize,t=this.$refs.rightResizeBar;e.onmousedown=r=>{let n=r.clientX;return e.style.background="#ccc",t.style.background="#aaa",e.left=e.offsetLeft,document.onmousemove=e=>{let t=e.clientX,r=n-t;(r<0&&this.rightAsideWidth<600||r>0&&this.rightAsideWidth>250)&&(n=t,this.rightAsideWidth-=r)},document.onmouseup=()=>{e.style.background="#fafafa",t.style.background="#ccc",document.onmousemove=null,document.onmouseup=null},!1}}}};w("data-v-f8de8406");const Fo={class:"logo"},zo=d("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEPElEQVR4Ab1XA8xlWQx+a9u2bcRex17btj1G8Nu2bdu2bfOi02/yzjN/NWnuYdtbH42joKrqqbKy+aSsSD/yN0KS16t4PAKU5I0a/kZhD2dwVrNToKjyhUz4e0WR+ohUcgRwlgX5ke9ebI++nT+W3mYiU4Iwr9HwdAOVtHpSYuXPFF70IZDHP1Fxqwfv1RPOCMBdpvEuaDnJXLmY/yBOEFvfXKa8puP0b8Td9Jmnxib+E3EX5TYe4ztLOqFZiATQdJT51XyhQVyu6gqhX4KvAXGn8Jegq6myMwg0hFmamPa1dv9cMGfHopD8t0FsWxic/yaxwxoIoV5sy+ZxgrlHxisgsCPonvaioRAJFn0CDgd1AUPy38LFHcWgvDdI0Idjmqr+QvbYCWKo6go2uvi1zzlU0RFAq+tzNDRVa5fR4FQNrW7Mw/70te+5RnsVnQG66DAKUcS58HZTh4su/YIA43NtlN1wyK4A2fUHaWy2hQCxZV8b7f0cdJUuOpC0dLZnu/RgMY/Dx5QgogCwP/ohh9X9X9R9BKjtiTDby2k4ovUFue+kLyB1ipBDDJteaBlMIcDvoTc5LAC0CGgdTDPb+zv8Dl1oMu+nNVAFJshiOGAuQBoBfgu53mEBfgy8HEyodSjd0j58SUTEz9BABCYlrR4WD/eNl0FS+srnbIcF+NL7DIQdDUxWWdwvanUTGojSoKphgnxuenBf9APICdQ7Xoo5fe51mpEgYAQUc+zhDMZdowVgYNF3Eip+IADzrtOgnGKComJ4KLNuH3F40vLaNB2KfRxr1D6cSSvrs/RryHVgTJPzXTS10MPjM9nu1/LZGeoYycFZOhj7KC2tToIGZdUfMKIdVvi+MMGYNQH40n5cpqW1KSb2mFaAbOQD+AMEAHOaXuyFAPQrCwDhOkfycJYOxDxCi6sToIHQtC4Aq9iqCfbHPKw1QQnm9AWr92sjE5wJNDLBFzoT5MMEEN6uCSIwKbbmhBPCCc9y2gn7JystO2GLcEIpZnfCMMBmGCJdCwEQhpJBIrpzDxLR7QaJSHpam4rlPizkNh41u1DdFUqAfc6k4sh7baTiw8IBB8DbpBgtoZMxuhBT+iW2UGAQGXaZI3xHZ5sJEFf2jUkxupLWNhdFEvrZqPNVVGUKG5WdgWblGKV1bWOBhqbr7AmANMtnF6E5+sb3PKO98g5/AoCXWcesGDQkaKN2uiEJzHvNtCGx2JIlaOOT3NNf2jHmrmnPg6ZwvCTwstqUonEUQkAT2//z1w36QbnFbnuO1lkIAXXBJ34WjukEovtBK8c0DJir1zr8MNF2rySiI7fxCP1tIU9YaDgQanxn0eBhspkEmlt5mr1r8jRDJKCeI5+jqAAxxhoiwORppsww8/e39VhFuOChycIMkIOAJIM439bj1IJGTkcPhzaKvzGoZCinQIxRWJDbGZ/FWUfpngCleTNdmkrhIgAAAABJRU5ErkJggg=="},null,-1),_o=d("h1",null,"swagger文档管理",-1),Bo={ref:"rightResize",class:"right-resize"},Lo={ref:"rightResizeBar"},To={key:0,class:"initial-env"};O(),Uo.render=function(e,t,r,n,o,a){const i=u("router-link"),c=u("menu-layout"),l=u("a-layout-sider"),y=u("MenuUnfoldOutlined"),g=u("MenuFoldOutlined"),b=u("a-col"),v=u("header-avatar"),w=u("a-row"),O=u("a-layout-header"),j=u("router-view"),A=u("a-layout-content"),x=u("a-layout");return p(),s(x,{class:"swagger-menu-trigger"},{default:f((()=>[h(l,{theme:"light",trigger:null,collapsible:"",collapsed:o.appMenuCollapsed,"onUpdate:collapsed":t[0]||(t[0]=e=>o.appMenuCollapsed=e),width:o.rightAsideWidth,style:{height:"100vh",overflow:"auto"}},{default:f((()=>[d("div",Fo,[h(i,{to:"/doc/console"},{default:f((()=>[zo,_o])),_:1})]),h(c)])),_:1},8,["collapsed","width"]),k(d("div",Bo,[d("i",Lo,"...",512)],512),[[E,!o.appMenuCollapsed]]),h(x,null,{default:f((()=>[h(O,{style:{"border-bottom":"2px solid #eee",background:"#fff",padding:"0","box-shadow":"0 1px 4px rgba(0, 21, 41, 0.08)","-webkit-box-shadow":"0 1px 4px rgba(0, 21, 41, 0.08)"}},{default:f((()=>[h(w,{type:"flex"},{default:f((()=>[h(b,{flex:"60px"},{default:f((()=>[o.appMenuCollapsed?(p(),s(y,{key:0,class:"trigger",onClick:t[1]||(t[1]=e=>o.appMenuCollapsed=!o.appMenuCollapsed)})):(p(),s(g,{key:1,class:"trigger",onClick:t[2]||(t[2]=e=>o.appMenuCollapsed=!o.appMenuCollapsed)}))])),_:1}),h(b,{flex:"auto",style:{"text-align":"center"}},{default:f((()=>["newGray"===a.initialEnv?(p(),S("span",To,"当前环境:灰度")):m("",!0)])),_:1}),h(b,{flex:"400px",style:{"text-align":"right","padding-right":"20px"}},{default:f((()=>[h(v)])),_:1})])),_:1})])),_:1}),h(A,{style:{height:"calc(100vh - 80px)",overflow:"auto",background:"#fff"}},{default:f((()=>[h(j)])),_:1})])),_:1})])),_:1})},Uo.__scopeId="data-v-f8de8406";export{Uo as default};
diff --git a/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/SettingView.46cc75f4.js b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/SettingView.46cc75f4.js
new file mode 100644
index 00000000..5b2473c8
--- /dev/null
+++ b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/SettingView.46cc75f4.js
@@ -0,0 +1 @@
+import{b as e,o as t}from"./vendor.0502eb24.js";const n={name:"SettingView",components:{},data:()=>({}),computed:{},mounted(){},methods:{}};n.render=function(n,o,d,r,a,m){return t(),e("div",null," 展示配置页面 ")};export{n as default};
diff --git a/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/element-icons.9c88a535.woff b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/element-icons.9c88a535.woff
new file mode 100644
index 0000000000000000000000000000000000000000..c3fa4b9e70fbdd1b98ed6d4d5c54b215d89c5e0e
GIT binary patch
literal 24820
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
literal 0
HcmV?d00001
diff --git a/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/element-icons.de5eb258.ttf b/zyplayer-doc-swagger-plus/src/main/resources/dist/assets/element-icons.de5eb258.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..c0e5e0678593c8faedf303462a50a64af98d19f2
GIT binary patch
literal 50372
zcmb@v31A$>nKs;2J@=`Z(ah-9j7FM~Y)iJT8QHR>wk@CXg$+Kj8DnD`u#GXs+|V3J
z9CJAVLd+&%2npfHK?3B2d=nr*@)44J>?VXHM4N1O^Y5~ogUuIq<7xfRTh%ja*%BuE
z|FWn0u72yS_pZ096{aYPSJ4$!nKQCs#WEb>%!|)r>sq^EcF%b;w{BLHufBof{H_B#
z4~1>Nyj)SfHh|-|_wK)D&*y&c@5Dat|MIMT7wz0#^W_H(MR{7ox$HiiaNeTchUcHg
zaqGSVN3LFcWZ*emzgkiFy#1H$+WC!F?hGr+S6n#G9@u&HA$Fhg1nT-7?oS-tdElb{
z7k}ngl&`k}teXy9cEyozE_^1YDBt)DfQ~61<$`gYeMTkdooGc|X;d=GOr={{pe$Du
zdoq+%qrLskRDW*<+umrZKZR{3DoY&G+5U`qJ%uas98UD(NhdC+a=rcRGsd^rlK*=@uNG8c%j7@n5kkA5lW;G1a96ls2VPnX4>Ol(tw;
zE|=}gq+6U$M|C{zbae4tE|c!V*`9c;8fRN(b6moG3LT}>6IaZA9{1FGUL6>ie{%3u
zxBJ+!##M7!!-qQS>t9{_>e|uKR~yzgZtXngj?{YCarZNUR=58dPn~DC=NW&>~Nin?5hfLex>rGPA*&BkI5XDpV@_V)q;0OW|pW7%9b
zok=^KbTv*;VqX=#k;Wz55OX>lnM^w4bi`sg&TI|+Gkgtop~2yd#%yXoBU(v`nDkgbh=*Y8RBS+RbG
zx4wU-vmqYtNumzaq+R1w_isD@p^mmWt2^9_uU@hGQm1|EDr2CY%^hue?ZB^AE)Ac%
z>9@Of_GMe6wJ%X8f+s$LPPj~63{HtD!^$@0BIR=BI<&UGFHJqr3o>hQg4o4jw6~{;
zqje5v5)D<;L%cWDKg474Y+P=dcr=RUrc&s#RDU{?NwqlQ@gz``N;w_QXhv2O>+Q{y
zYfSaTRUoMs9iPkbJbJ3WI&@KWi2CeMw5{G_oA2yvHS(=}&iOV^eOt7Ob*-4^O}2=15=T(Z;?AbJ*%f{b99{H#MqZ|7gA4UPL9K>Utd;t*tt=E24&ctl$f&5nccl
zfNY-h?e_UZw->^ROw@R`WhP@YTi8f6lL!~u`rYYPzqd_n-S+w!H3dChTN~$2*X*eO
zQ=jrjXSrvbNdjcHUZNTwT}7+tagc
z*-T$MJ7!;ZzRh`Hy}gg_EETEbYHpcpexIr&KOS8maOAT>~q)j
zuwtpWEOyg|4Trr8sR!`?1@GEJn|?4fxdV4
z=D-MM11s$ULG)#Nd(pVb&5tA_Nv`~%$|x4Ap48s0`Op?^WM|~-+L6!KE+eS5xwce|
zai}I`o2$|Bvg!|BV8Ouej5!H*f)#aLFK*n&T;ZJ~M?CHP~pC
zLQp{z^~RwXdhtu)7s2nX&mTSd`I40zzrUOFyRUHfB(-F(+qlwf&h74Aoak}eHtyqm-^Ovp&{+|9637aK
zi+GX|nUM^;4Q;$0vXxpmOGsCAOFSL}<)LE$Id~WylLMuJA<;j{o|w~_OU9kaOwtJ|
zjHtPQFT`U!670^fu-};P53@{nFoIJdU%(mh^T9xbEwdXQTaI7oDSh5E+QyEx@nX=Y
z2jZo-{GpJax5NXwFSsL6T^-mVTW2U-fyB`OUlH&*6u(lf)GIAY2cXQMA67xbfmSjO
zryZN5!%2vD#^ModLa{iJRUEy6O){IaqrY-!3O1p1hNm-l1pBxc2KTf;2gZ3~{=u%V
z1;fmq>9QLoyPJjVU74@B?bml5oF5MElvjx4$jQ`qtKL
zYim85xL$esz3Q$CP1OBVxh~YmZl>z8tqlFel>+dQSBF89^KlGbLf1GPLGExw(H^v_
zFFl(B0}u_+EYL*`C)5!-R5TVBa0~h}$Ls8lRIP(`FLZ^gXLYF$U4Q*UYS*mluzP85
zLm)NFR}*mfni@O{H~W0q1*BRm-|D``jF~d+PycJIJaxNuB!U>
zu5%N?y}iplTcf>o4oAG!8EFrOcP?7fen7kSVO4$jTJ1plnsxi^02}StJpQ8kX?2m3
zRnEt8ych7{A9n&?kewq9ZHR8cA&$`+PB3R<%^W3mNnwgR$xKP7Q*;*|kHvA9EVE%$
z;7mK5{OW`nZ>^r2TOQfm9H@%-x5P6sXRx|9R^@={mR;AiGCenSWJ%5J#s+t-r#fnj
z*LiK>>J`oIx(IXoqTO}|uYEyOl0>9T4_s{LPIN@gDI*;ESVgqyb
z{Bc9aLS}2^yos}H_d(`eK2*!qum@@vc7>w82>R~>!-C=!G+)X|@FA%O(P~1T#8VbT
zF2s*8DTJw!%|TqDP6W<#5=b=miB+H_ZKY}NXf
z_QARhOCnqLI=we--FA(WAKY?*FeIco!EM%q%!&mYq&gVf&^y;*yJGW}+d}@W=WhI1
zGBxkqg`2M46gswb%jLGKwr;)EXWS<28fo1uvh0I44vqgoy+@5GVNkikoS9sv{Bwlk
zF_4Eb!Y4ep;feQ8p=g5P!aeC
zNDFW$wk;sFE;ZN1L48DK{ieE--B6Jt>9RP9ow1WGpQ-HdL}PcjW$)hp;HrTtTY5MX
ztJ}PPb6qSmoVHaBtP1w;-P;oGZWMyMD5SSL3)?l@@l&~Z>^(O8IY)ENtcDre4~{xh
zs}^_I`}QqavaiqHv3OO=IeKvWjD}e?&5p&g!;J4xwXllGG^XvZPTT&Yd0gHCcXp)+
z+-bm_8x}C>kD0(*vSOH%WiBjrA#{OAvIogLCoM=W5<^$Rx)QA;tDB4t=xt$SW1E1Q
z(pZrtsNqJzCd
zKN%KX2hvHWAQ~VxGSF{O7&$0z(rnQv_y`6qu@+PxnIlYbx%~Y@u}o8DUTepa1UD4d
z4c8sL-dkN=)7=#`ZnwK(XGG#nb*!nL
z|DEye>p44oK`0W9vPey19gBpGUqrsQYm9Cm+x5MOF)n+BY{Yjp%zTXO$F?PePx81-DMZN$)SzgPA58uK09fymA%W~h^6(7Bs^<|Qds3~F9
z)4|B}!RHdTkkV$X>2OKg591z!6Z?XJAARdlETZgQ(9-e>&g#DN1RR07OwwdGwuKB1~74iG?SGuaw1!=LMb
z|2zUHVqpCYJa{WP^s_WfI#}lrKM(}*Bna9G?G=r}gN|jhY0#A&(iloBlVVIA+|dTNe$I=1+xKjn!#7^cfL|tBZxnDZo+y#Wh5uYP
z#I5_+Ge8LZ=f}rj>m?vhQix$FkR^CKAvi+j0nt~A3L!_z{0e4;ECxUGu~L!2>MGW^
zGEHmGF_vrB@IphwD%xu^^j;*jq+RWB*8cPkN-ku_aIq)a~ipzC2SMV9nK$rbu<*+6Z{Ik%|CIRQ7|f
z1|yMRX(N^F(<8@v(<9l2hU`eX_XoJ~tpgw7=@r}i-hvsV-N3*)C%@6PcJ9Dhm+>=J#n`{?p6B0u
z^gM677GuS=mpC_G%IsHcj_(*O{VovTH3Q2STQ(p|&A5Wy`J-NS?lQh|o@aIo`JOuX
zSBLzshy0%nA7Kc6r9}GshB)LRdMKWy*aM(K2oC_a!GI7(CTyh?7`FvhYtr1p&ZH<3
z)J8=U==I$T60s{+t-3OnSkPUszIakQ`J&4H(bk*@oOk%VK%&{U!d}%jtF6k;_nSMj
zz8oywMv{%_O6miyR3+xlsIsrv%-Ci;Fk^0F&dHxt?c7=Qlaq0ghAkPYtZO|=f>)i2gs4uBY5v81`EJB=ejdCuilA?M{P+Gz&*a~!Mgjof$fQItoGpWj`>
zBYyS=DnHCq_ROAk-OF4PqoBt5qlV~im;%0rOxZ}-|cTn#nm_Yf^gkd
zhf{MpjzuE({man^Dm`}hhy4-GcT!m+=rs>PQcy?1xsA{q!lNZGkvh|fJ~zb%(Exr#
zwvkjW3j%Pa+OUD!9!>W1?`x}FrA4mQT5Q{H$PQIO9A)=52n>Uy%MZ31egrzBI`jK#
z{SKeuVOp{C18dfNpmTWe>-(vz_kVqGp($b%gCdzf{sg?yT4(7Ong%dUnOsyCC_zZN
zKExH22nBke!O3Kzm_b$u5U0}w6J03e3P}*O1&73NEQyYkVKIm<_|ebP+ZUu7YWlr%
znhaah9B+S3L#omK^M@b)DQvZ8jvaeOWt#D9hg#)fr#w|^2h$N5fM68yfjQmHT78%A
z&IStiG~DUys@Iyky>>infAe8Go<$Ag%B3E!*K;YgLlrznHeg0Xona?{#-h+91T5K8
z05T-xAgmP%kI*@^(%zefpAs@Jk^V&NwISS?Lcx~KMLBmVMW9lROuxxq6J3pc1U=LQ
zwa@sjx4U_a_QvLI^cxFkkG#%dQ{T_URb(?K^;OHvMoyi|AtY{M|*okX*T2~&wDq-^Xbs>ozS*W1Urw1
zj8BM`e)^Jg&%K0mQKAp*O859v>UY$|h*-5jLk&{f+DMZ-n_+r89BD)Zq}!6Ca5JK_
z602^@G&rkTst0_P-MLTQ?5qjg>`w4h)4I{LFV~Ua
z?s*%QrTvW`S@X=YHNM*(TfgKS*0uPY`A2uU=WhD(tZ!7egq)3;wrXZuUY*2l8oMgw
z9qf7aTj1+Pcp2TWXjUrg!80PRj0S;$d4;3<(<)jA6-A6f5l6{Fh$bY_y*QKkf@tZEV;3m#A@{|}m
z<@B}oH^rl2Po%Ymdo~$}v(aEfd{w@>6t2#%;)yMHjU(Lq=ZEd%otbYp=bFM?bTJ6(l^8Pb7@ov>O*XH{SD=
z?c2X{&qk-QP{N~2=oF^hIXEK?FBk`Pkxj8}vFtUhOhOE_ZU-SB|3pds^K6dEX(>BfQn`zjSKDeqE9B1
z0b4VoTAP*KWV=v!syCE^qI6~)8H9Y$IjK-DLcFg$3?x$qR~^vS(OyDg+!@cs
zNpj&HusjA@Gk7SIgTXDk84bk_?!*qR@XOzt8Ef@z+*s2!^R1anm!gQLCJq<-Vx9Bm
zb+#N#Hm0kCBa5p%4b_dwgDsO!x|<@6$&U+$m24|nSeB}$kJb$($Cbs|QGL|!M^V2Z
z$;yYm>Ws_lbq#8REu8~1^_h)xYFcnmKG&7Qx%%FC%ivleW~8v06dnWamW+Q_;I39k
zfNrRO7;pgBAB~6XhV_O$APHCiYH%X%q!^6w^~^0_=Zv^ZRSw@tSG9Yo@rRV%=6t}H
zbndsQ&IRXO+{Mn>w(r{qp?NfDFi-%IV7F7X?RO@94>)c16sub5u6CXDIjTzTh_mV2
z`?eWh>bm$GegvwDG@gQRIH(1E?NBtPs6{pgI;;jAb}0Q6)eKv@B?d+%3e3TsxAYqg
z-u9(4Q=Zg^85^E6N0ikjnZ4h0zbZe7#}}HkJp4Y-5$)C}!)lTL4z?S48t|vvSQZ)x
zhBx&|!6WC5UC~KC5L9c-w*=W4)`+`!60_Rh^gLLp)NX!W^pB#J(uy
zxb$6oG^i%4N`L3IyT0J6i>a=YQuLX!(cDNLQ
nGp%H@$|SY`
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