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 @@
-
- - {{item.name}} - -
- - @@ -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 @@ @@ -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 @@