From 3a695ebd1af7097a7b0bcec84cf320c9b6deee97 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: Tue, 26 Oct 2021 23:49:47 +0800
Subject: [PATCH] =?UTF-8?q?swagger=E6=9F=A5=E7=9C=8B=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=E8=B7=AF=E7=94=B1=E4=BA=A4=E4=BA=92=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
zyplayer-doc-ui/swagger-ui/index.html | 2 +-
.../src/components/layouts/MenuLayout.vue | 73 ++++++++-----------
.../src/components/layouts/PageLayout.vue | 4 +-
zyplayer-doc-ui/swagger-ui/src/routes.js | 10 +--
.../swagger-ui/src/store/SwaggerDocUtil.js | 10 ++-
zyplayer-doc-ui/swagger-ui/src/store/index.js | 15 +---
.../swagger-ui/src/views/doc/DocInfo.vue | 7 +-
.../swagger-ui/src/views/doc/DocManage.vue | 4 +
.../swagger-ui/src/views/doc/DocView.vue | 23 +++---
9 files changed, 67 insertions(+), 81 deletions(-)
diff --git a/zyplayer-doc-ui/swagger-ui/index.html b/zyplayer-doc-ui/swagger-ui/index.html
index b32e2b58..d3d11f7a 100644
--- a/zyplayer-doc-ui/swagger-ui/index.html
+++ b/zyplayer-doc-ui/swagger-ui/index.html
@@ -4,7 +4,7 @@
-
swagger文档管理
+ Swagger文档管理
diff --git a/zyplayer-doc-ui/swagger-ui/src/components/layouts/MenuLayout.vue b/zyplayer-doc-ui/swagger-ui/src/components/layouts/MenuLayout.vue
index f94eb9a1..edaa1501 100644
--- a/zyplayer-doc-ui/swagger-ui/src/components/layouts/MenuLayout.vue
+++ b/zyplayer-doc-ui/swagger-ui/src/components/layouts/MenuLayout.vue
@@ -5,26 +5,28 @@
-
-
-
-
- get
- post
- put
- head
- patch
- delete
- options
- trace
+
+
+
+
+
+ get
+ post
+ put
+ head
+ patch
+ delete
+ options
+ trace
+
+ {{title}}
- {{title}}
-
-
+
+
@@ -48,34 +50,17 @@
selectedKeys: [],
openKeys: [],
// 文档树
- treeData: [
- {
- title: '用户管理接口文档',
- key: '0-0',
- children: [
- {
- title: '用户信息管理',
- key: '0-0-0',
- children: [
- {title: '/getUserInfo', key: '0-0-0-0', isLeaf: true, query: {path: '/getUserInfo'}},
- {title: '/deleteUserInfo', key: '0-0-0-1', isLeaf: true, query: {path: '/deleteUserInfo'}},
- {title: '/updateUserInfo', key: '0-0-0-2', isLeaf: true, query: {path: '/updateUserInfo'}},
- ],
- },
- ],
- },
- ],
+ treeDataLoading: false,
+ treeData: [],
expandedKeys: [],
swaggerResourceList: [],
swaggerDocChoice: undefined,
}
},
watch:{
- '$store.state.userInfo'(userInfo) {
+ '$store.state.docChangedNum'() {
+ this.getSwaggerResourceList();
},
- collapsed(x) {
- console.log(x, this.collapsed)
- }
},
components: {MenuChildrenLayout},
mounted() {
@@ -103,7 +88,7 @@
customApi.get('./swagger-resources').then(res => {
if (res instanceof Array) {
this.swaggerResourceList = res || [];
- if (this.swaggerResourceList.length > 0) {
+ if (this.swaggerResourceList.length > 0 && !this.swaggerDocChoice) {
this.swaggerDocChoice = this.swaggerResourceList[0].url;
this.swaggerDocChoiceChange();
}
@@ -116,16 +101,20 @@
this.loadV2Doc(this.swaggerDocChoice);
},
loadV2Doc(url) {
+ this.treeDataLoading = true;
customApi.get(url).then(res => {
let v2Doc = this.toJsonObj(res);
- if (typeof v2Doc !== 'object') {
+ if (typeof v2Doc !== 'object' || !v2Doc.swagger) {
this.$message.error('获取文档数据请求失败');
+ this.treeDataLoading = false;
+ return;
}
this.$store.commit('setSwaggerDoc', v2Doc);
let metaInfo = {url};
let treeData = createTreeViewByTag(v2Doc);
this.treeData = getTreeDataForTag(v2Doc, treeData.pathIndex, metaInfo);
this.$store.commit('setSwaggerTreePathMap', treeData.treePathDataMap);
+ setTimeout(() => this.treeDataLoading = false, 300);
});
},
toJsonObj(value) {
diff --git a/zyplayer-doc-ui/swagger-ui/src/components/layouts/PageLayout.vue b/zyplayer-doc-ui/swagger-ui/src/components/layouts/PageLayout.vue
index adb72ec5..ff4ffc45 100644
--- a/zyplayer-doc-ui/swagger-ui/src/components/layouts/PageLayout.vue
+++ b/zyplayer-doc-ui/swagger-ui/src/components/layouts/PageLayout.vue
@@ -4,9 +4,9 @@
-
+
-
+
diff --git a/zyplayer-doc-ui/swagger-ui/src/routes.js b/zyplayer-doc-ui/swagger-ui/src/routes.js
index c92b50a1..221d28de 100644
--- a/zyplayer-doc-ui/swagger-ui/src/routes.js
+++ b/zyplayer-doc-ui/swagger-ui/src/routes.js
@@ -6,21 +6,13 @@ let routers = [
path: '/',
name: '主页',
component: () => import('./components/layouts/GlobalLayout.vue'),
- redirect: '/doc/console',
+ redirect: '/doc/info',
children: [
{
path: '/doc',
name: '系统配置',
component: PageLayout,
children: [
- {
- path: '/doc/console',
- name: '控制台',
- meta: {
- hidden: true,
- },
- component: () => import('./views/common/Console.vue')
- },
{
path: '/doc/info',
name: '文档信息',
diff --git a/zyplayer-doc-ui/swagger-ui/src/store/SwaggerDocUtil.js b/zyplayer-doc-ui/swagger-ui/src/store/SwaggerDocUtil.js
index 6ef08f49..a50600ac 100644
--- a/zyplayer-doc-ui/swagger-ui/src/store/SwaggerDocUtil.js
+++ b/zyplayer-doc-ui/swagger-ui/src/store/SwaggerDocUtil.js
@@ -102,8 +102,9 @@ function getTreeHtmlForTag(pathData, treeId, metaInfo) {
isLeaf: true,
method: nodeSub.method,
query: {
- path: nodeSub.path,
- ...metaInfo
+ ...metaInfo,
+ path: nodeSub.url,
+ method: nodeSub.method,
}
});
} else if (actionArrays.indexOf(key) >= 0) {
@@ -115,8 +116,9 @@ function getTreeHtmlForTag(pathData, treeId, metaInfo) {
isLeaf: true,
method: tempNode.method,
query: {
- path: tempNode.path,
- ...metaInfo
+ ...metaInfo,
+ path: tempNode.url,
+ method: tempNode.method,
}
});
} else {
diff --git a/zyplayer-doc-ui/swagger-ui/src/store/index.js b/zyplayer-doc-ui/swagger-ui/src/store/index.js
index 59058d47..653554b4 100644
--- a/zyplayer-doc-ui/swagger-ui/src/store/index.js
+++ b/zyplayer-doc-ui/swagger-ui/src/store/index.js
@@ -4,19 +4,9 @@ import {getDefinitions, createTreeViewByTag} from './SwaggerDocUtil'
export default createStore({
state() {
return {
+ docChangedNum: 1,
userInfo: {},
pageTabNameMap: {},
- docMap: {
- '/getUserInfo': {
- name: '获取用户信息'
- },
- '/deleteUserInfo': {
- name: '删除用户信息'
- },
- '/updateUserInfo': {
- name: '修改用户信息'
- },
- },
swaggerDoc: {},
swaggerDefinitions: {},
swaggerTreePathMap: [],
@@ -26,6 +16,9 @@ export default createStore({
setUserInfo(state, userInfo) {
state.userInfo = userInfo;
},
+ addDocChangedNum(state) {
+ state.docChangedNum++;
+ },
setSwaggerDoc(state, swaggerDoc) {
state.swaggerDoc = swaggerDoc;
state.swaggerDefinitions = getDefinitions(swaggerDoc.definitions);
diff --git a/zyplayer-doc-ui/swagger-ui/src/views/doc/DocInfo.vue b/zyplayer-doc-ui/swagger-ui/src/views/doc/DocInfo.vue
index 6ed49b5d..36f9ea16 100644
--- a/zyplayer-doc-ui/swagger-ui/src/views/doc/DocInfo.vue
+++ b/zyplayer-doc-ui/swagger-ui/src/views/doc/DocInfo.vue
@@ -1,6 +1,6 @@
-
-
+
+
{{swaggerDocInfo.title}}
{{swaggerDocInfo.version}}
@@ -15,6 +15,7 @@
+ 暂无文档信息,请先选择文档
@@ -30,7 +31,7 @@
return this.$store.state.swaggerDoc || {};
},
swaggerDocInfo () {
- return this.$store.state.swaggerDoc.info || {};
+ return this.$store.state.swaggerDoc.info;
}
},
mounted() {
diff --git a/zyplayer-doc-ui/swagger-ui/src/views/doc/DocManage.vue b/zyplayer-doc-ui/swagger-ui/src/views/doc/DocManage.vue
index 2606c4d9..93d73728 100644
--- a/zyplayer-doc-ui/swagger-ui/src/views/doc/DocManage.vue
+++ b/zyplayer-doc-ui/swagger-ui/src/views/doc/DocManage.vue
@@ -88,9 +88,11 @@