From 4487c138b2d61f34890ee8010339a1fe1ee7bc03 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: Wed, 3 Nov 2021 23:23:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E8=B0=83=E8=AF=95=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E5=8F=82=E6=95=B0=E5=B1=95=E7=A4=BA=EF=BC=8C=E5=8F=91?= =?UTF-8?q?=E9=80=81=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SwaggerProxyController.java | 8 +- .../controller/vo/SwaggerResourceVo.java | 58 ++ zyplayer-doc-ui/swagger-ui/package-lock.json | 578 ++++++++---------- zyplayer-doc-ui/swagger-ui/package.json | 14 +- .../swagger-ui/src/api/zyplayer.js | 1 + .../src/assets/utils/SwaggerAnalysisV2.js | 2 +- .../src/components/layouts/HeaderAvatar.vue | 2 +- .../src/components/layouts/MenuLayout.vue | 18 +- .../src/components/params/ParamBody.vue | 52 ++ .../{table => params}/ParamTable.vue | 41 +- zyplayer-doc-ui/swagger-ui/src/store/index.js | 5 + .../swagger-ui/src/views/doc/DocManage.vue | 13 + .../src/views/doc/docView/DocDebugger.vue | 80 ++- 13 files changed, 517 insertions(+), 355 deletions(-) create mode 100644 zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/vo/SwaggerResourceVo.java create mode 100644 zyplayer-doc-ui/swagger-ui/src/components/params/ParamBody.vue rename zyplayer-doc-ui/swagger-ui/src/components/{table => params}/ParamTable.vue (74%) 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 index 8e689da2..f539b99b 100644 --- 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 @@ -9,6 +9,7 @@ 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.service.manage.SwaggerDocService; +import com.zyplayer.doc.swaggerplus.controller.vo.SwaggerResourceVo; import com.zyplayer.doc.swaggerplus.service.SwaggerHttpRequestService; import io.swagger.models.Swagger; import org.springframework.http.HttpStatus; @@ -47,16 +48,17 @@ public class SwaggerProxyController { private SwaggerHttpRequestService swaggerHttpRequestService; @RequestMapping("/swagger-resources") - public List swaggerResources() { - List resourceList = new LinkedList<>(); + public List swaggerResources() { + List resourceList = new LinkedList<>(); SwaggerDoc swaggerSearch = new SwaggerDoc(); swaggerSearch.setDocStatus(1); List docList = swaggerDocService.getSwaggerDocList(swaggerSearch); for (SwaggerDoc swaggerDoc : docList) { - SwaggerResource resource = new SwaggerResource(); + SwaggerResourceVo resource = new SwaggerResourceVo(); resource.setUrl("/v2/api-docs?id=" + swaggerDoc.getId()); resource.setName(swaggerDoc.getName()); resource.setSwaggerVersion("2.0"); + resource.setRewriteDomain(swaggerDoc.getRewriteDomain()); resourceList.add(resource); } return resourceList; diff --git a/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/vo/SwaggerResourceVo.java b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/vo/SwaggerResourceVo.java new file mode 100644 index 00000000..49739dc0 --- /dev/null +++ b/zyplayer-doc-swagger-plus/src/main/java/com/zyplayer/doc/swaggerplus/controller/vo/SwaggerResourceVo.java @@ -0,0 +1,58 @@ + +package com.zyplayer.doc.swaggerplus.controller.vo; + +import com.google.common.collect.ComparisonChain; + +public class SwaggerResourceVo implements Comparable { + private String name; + private String url; + private String swaggerVersion; + private String rewriteDomain; + + public SwaggerResourceVo() { + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return this.url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getLocation() { + return this.url; + } + + public void setLocation(String location) { + this.url = location; + } + + public String getSwaggerVersion() { + return this.swaggerVersion; + } + + public void setSwaggerVersion(String swaggerVersion) { + this.swaggerVersion = swaggerVersion; + } + + public int compareTo(SwaggerResourceVo other) { + return ComparisonChain.start().compare(this.swaggerVersion, other.swaggerVersion).compare(this.name, other.name).result(); + } + + public String getRewriteDomain() { + return rewriteDomain; + } + + public void setRewriteDomain(String rewriteDomain) { + this.rewriteDomain = rewriteDomain; + } +} diff --git a/zyplayer-doc-ui/swagger-ui/package-lock.json b/zyplayer-doc-ui/swagger-ui/package-lock.json index 248d098b..a59cfab4 100644 --- a/zyplayer-doc-ui/swagger-ui/package-lock.json +++ b/zyplayer-doc-ui/swagger-ui/package-lock.json @@ -27,33 +27,19 @@ "lodash": "^4.17.15" } }, - "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha1-ZlTRcbICT22O4VG/JQlpmRkTHUg=" - }, "@babel/parser": { - "version": "7.15.5", - "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.15.5.tgz", - "integrity": "sha1-0zpYymn6zAWyat/kq+v+1WwcLaw=" + "version": "7.16.2", + "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.2.tgz?cache=0&sync_timestamp=1635813662046&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.16.2.tgz", + "integrity": "sha1-NyPNXI2Hc+75bOV+odm3+qzNEqw=" }, "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.15.4.tgz", - "integrity": "sha1-/RfRa/34eObdAtGXU6OfqKjZyEo=", + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.0.tgz", + "integrity": "sha1-4nuXfy4giLokdIv5m14d7OZOTws=", "requires": { "regenerator-runtime": "^0.13.4" } }, - "@babel/types": { - "version": "7.15.4", - "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.15.4.tgz", - "integrity": "sha1-dO64bb1nSNJ0E5ZVe5hg5X/OCg0=", - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, "@ctrl/tinycolor": { "version": "3.4.0", "resolved": "https://registry.npm.taobao.org/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz", @@ -88,78 +74,61 @@ "nanopop": "^2.1.0" } }, - "@types/estree": { - "version": "0.0.48", - "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.48.tgz?cache=0&sync_timestamp=1629707842700&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.48.tgz", - "integrity": "sha1-GNyAkbKF35DbLyWqfZBs/DlLf3Q=", - "dev": true - }, "@types/lodash": { "version": "4.14.170", "resolved": "https://registry.nlark.com/@types/lodash/download/@types/lodash-4.14.170.tgz?cache=0&sync_timestamp=1621593293742&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Flodash%2Fdownload%2F%40types%2Flodash-4.14.170.tgz", "integrity": "sha1-DWdxHUv39MpRR+kJG4R0ebh5JdY=" }, "@vitejs/plugin-vue": { - "version": "1.6.0", - "resolved": "https://registry.nlark.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.6.0.tgz", - "integrity": "sha1-5VWOIMIOkJjNW9ZbmQH9zSw1SYM=", + "version": "1.9.4", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.9.4.tgz?cache=0&sync_timestamp=1635475560304&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vitejs%2Fplugin-vue%2Fdownload%2F%40vitejs%2Fplugin-vue-1.9.4.tgz", + "integrity": "sha1-T0hIVDLLuYap+50lTcM84w3cy/o=", "dev": true }, "@vue/compiler-core": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/compiler-core/download/@vue/compiler-core-3.2.9.tgz", - "integrity": "sha1-h00E0+TemPOmB2nbf6R+BBv8pJA=", + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/download/@vue/compiler-core-3.2.21.tgz", + "integrity": "sha1-JlZsMrKtg4GZ1HHvXfYgqDhG8k4=", "requires": { "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", - "@vue/shared": "3.2.9", + "@vue/shared": "3.2.21", "estree-walker": "^2.0.2", "source-map": "^0.6.1" } }, "@vue/compiler-dom": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.9.tgz", - "integrity": "sha1-5CsrwoU2YiShc49+1mSNQmDLu+8=", + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.21.tgz", + "integrity": "sha1-1vbIU2TviIj5xOkSK/uhHnj7OYw=", "requires": { - "@vue/compiler-core": "3.2.9", - "@vue/shared": "3.2.9" + "@vue/compiler-core": "3.2.21", + "@vue/shared": "3.2.21" } }, "@vue/compiler-sfc": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.9.tgz", - "integrity": "sha1-gsDK6ZYlpOW52ZjMnvXgwm3yqOk=", - "dev": true, + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.21.tgz", + "integrity": "sha1-QmOe5J5yWvt9jx0ZQOddwXpWACw=", "requires": { "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", - "@types/estree": "^0.0.48", - "@vue/compiler-core": "3.2.9", - "@vue/compiler-dom": "3.2.9", - "@vue/compiler-ssr": "3.2.9", - "@vue/ref-transform": "3.2.9", - "@vue/shared": "3.2.9", - "consolidate": "^0.16.0", + "@vue/compiler-core": "3.2.21", + "@vue/compiler-dom": "3.2.21", + "@vue/compiler-ssr": "3.2.21", + "@vue/ref-transform": "3.2.21", + "@vue/shared": "3.2.21", "estree-walker": "^2.0.2", - "hash-sum": "^2.0.0", - "lru-cache": "^5.1.1", "magic-string": "^0.25.7", - "merge-source-map": "^1.1.0", "postcss": "^8.1.10", - "postcss-modules": "^4.0.0", - "postcss-selector-parser": "^6.0.4", "source-map": "^0.6.1" } }, "@vue/compiler-ssr": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.9.tgz", - "integrity": "sha1-BnqeXuOBxlYdcmY8ShzkKv4zub0=", - "dev": true, + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.21.tgz", + "integrity": "sha1-N9Ek+J6K3vn9VrhXdd5LUxCgQ24=", "requires": { - "@vue/compiler-dom": "3.2.9", - "@vue/shared": "3.2.9" + "@vue/compiler-dom": "3.2.21", + "@vue/shared": "3.2.21" } }, "@vue/devtools-api": { @@ -168,49 +137,57 @@ "integrity": "sha1-rXyzhOBi8WW8+cg3MhJb/7wq2D0=" }, "@vue/reactivity": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.2.9.tgz", - "integrity": "sha1-9OxhUZ9HeSJNmKI6wHtIHZVofK4=", + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/download/@vue/reactivity-3.2.21.tgz", + "integrity": "sha1-BzrRRBku14oH4VHpWjuqUV5AmaI=", "requires": { - "@vue/shared": "3.2.9" + "@vue/shared": "3.2.21" } }, "@vue/ref-transform": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/ref-transform/download/@vue/ref-transform-3.2.9.tgz", - "integrity": "sha1-I6+eKVWm+u9/Rrs2dJQYGtQtGUg=", - "dev": true, + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/ref-transform/download/@vue/ref-transform-3.2.21.tgz", + "integrity": "sha1-sMVUyfZAw/AF935nYGaqD6upCYQ=", "requires": { "@babel/parser": "^7.15.0", - "@vue/compiler-core": "3.2.9", - "@vue/shared": "3.2.9", + "@vue/compiler-core": "3.2.21", + "@vue/shared": "3.2.21", "estree-walker": "^2.0.2", "magic-string": "^0.25.7" } }, "@vue/runtime-core": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/runtime-core/download/@vue/runtime-core-3.2.9.tgz", - "integrity": "sha1-MoVMnZhTqiB1/Oz8ditfAzprrh4=", + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/download/@vue/runtime-core-3.2.21.tgz", + "integrity": "sha1-4S2sjDiTt66/w34yBmcY2KpoasU=", "requires": { - "@vue/reactivity": "3.2.9", - "@vue/shared": "3.2.9" + "@vue/reactivity": "3.2.21", + "@vue/shared": "3.2.21" } }, "@vue/runtime-dom": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.9.tgz", - "integrity": "sha1-OXVyoULbJ3L7S38KK8BrVIbl24E=", + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.21.tgz", + "integrity": "sha1-M90VvIUoHncxd6MNxpMcKUvXeqE=", "requires": { - "@vue/runtime-core": "3.2.9", - "@vue/shared": "3.2.9", + "@vue/runtime-core": "3.2.21", + "@vue/shared": "3.2.21", "csstype": "^2.6.8" } }, + "@vue/server-renderer": { + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/download/@vue/server-renderer-3.2.21.tgz", + "integrity": "sha1-iH0KRN529yMTz/JoaiTAMVIx1jQ=", + "requires": { + "@vue/compiler-ssr": "3.2.21", + "@vue/shared": "3.2.21" + } + }, "@vue/shared": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/@vue/shared/download/@vue/shared-3.2.9.tgz", - "integrity": "sha1-RORNvYKBmZfxkvt9vbkK9XFdv1I=" + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/download/@vue/shared-3.2.21.tgz", + "integrity": "sha1-TNgMDmLPZaetqyRJ6GtvDLM6Ews=" }, "ajv": { "version": "4.11.8", @@ -223,9 +200,9 @@ } }, "ant-design-vue": { - "version": "3.0.0-alpha.4", - "resolved": "https://registry.npmmirror.com/ant-design-vue/download/ant-design-vue-3.0.0-alpha.4.tgz?cache=0&sync_timestamp=1634696108824&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fant-design-vue%2Fdownload%2Fant-design-vue-3.0.0-alpha.4.tgz", - "integrity": "sha1-A+3f7Tv17UCbKBQyC1pxQ+Z2r/U=", + "version": "3.0.0-alpha.8", + "resolved": "https://registry.npmmirror.com/ant-design-vue/download/ant-design-vue-3.0.0-alpha.8.tgz", + "integrity": "sha1-ZYFtH0S4PpkntHAQWjDTH56SyRo=", "requires": { "@ant-design/colors": "^6.0.0", "@ant-design/icons-vue": "^6.0.0", @@ -345,12 +322,6 @@ "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=" }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.nlark.com/bluebird/download/bluebird-3.7.2.tgz", - "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", - "dev": true - }, "boom": { "version": "2.10.1", "resolved": "https://registry.nlark.com/boom/download/boom-2.10.1.tgz", @@ -479,12 +450,6 @@ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "optional": true }, - "colorette": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/colorette/download/colorette-1.3.0.tgz?cache=0&sync_timestamp=1628600199068&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolorette%2Fdownload%2Fcolorette-1.3.0.tgz", - "integrity": "sha1-/0XS8O2yRAadO3cq3rBP7TjQoK8=", - "dev": true - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", @@ -504,15 +469,6 @@ "resolved": "https://registry.npm.taobao.org/compute-scroll-into-view/download/compute-scroll-into-view-1.0.17.tgz", "integrity": "sha1-aojxis2dQunPS6pr7H4FImB6t6s=" }, - "consolidate": { - "version": "0.16.0", - "resolved": "https://registry.nlark.com/consolidate/download/consolidate-0.16.0.tgz", - "integrity": "sha1-oRhkdokw8vGUMWYKZZBmaPX73BY=", - "dev": true, - "requires": { - "bluebird": "^3.7.2" - } - }, "constant-case": { "version": "3.0.4", "resolved": "https://registry.nlark.com/constant-case/download/constant-case-3.0.4.tgz", @@ -533,9 +489,9 @@ } }, "core-js": { - "version": "3.18.3", - "resolved": "https://registry.npmmirror.com/core-js/download/core-js-3.18.3.tgz", - "integrity": "sha1-hqC7otjsPfhg/vzAeo0Rl3nwFQk=" + "version": "3.19.1", + "resolved": "https://registry.npmmirror.com/core-js/download/core-js-3.19.1.tgz?cache=0&sync_timestamp=1635883234925&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcore-js%2Fdownload%2Fcore-js-3.19.1.tgz", + "integrity": "sha1-9vFzyuI+c6fYj6I7bp2jKSdsZkE=" }, "core-util-is": { "version": "1.0.2", @@ -552,21 +508,15 @@ "boom": "2.x.x" } }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz", - "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", - "dev": true - }, "cssfilter": { "version": "0.0.10", "resolved": "https://registry.npm.taobao.org/cssfilter/download/cssfilter-0.0.10.tgz", "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" }, "csstype": { - "version": "2.6.17", - "resolved": "https://registry.nlark.com/csstype/download/csstype-2.6.17.tgz", - "integrity": "sha1-TPMOuH4dGgBdi2UQ+VKSQT9qHA4=" + "version": "2.6.18", + "resolved": "https://registry.nlark.com/csstype/download/csstype-2.6.18.tgz?cache=0&sync_timestamp=1631540708034&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.18.tgz", + "integrity": "sha1-mAqLUwhfNK8xNBCvBk8r0kF4Qhg=" }, "dashdash": { "version": "1.14.1", @@ -678,10 +628,148 @@ "dev": true }, "esbuild": { - "version": "0.12.25", - "resolved": "https://registry.nlark.com/esbuild/download/esbuild-0.12.25.tgz", - "integrity": "sha1-whMc7wIs+f6UqqXgARCyf8l2Iho=", - "dev": true + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.12.tgz", + "integrity": "sha1-nKxkFZS/A880FFJYwJPXQ+u958o=", + "dev": true, + "requires": { + "esbuild-android-arm64": "0.13.12", + "esbuild-darwin-64": "0.13.12", + "esbuild-darwin-arm64": "0.13.12", + "esbuild-freebsd-64": "0.13.12", + "esbuild-freebsd-arm64": "0.13.12", + "esbuild-linux-32": "0.13.12", + "esbuild-linux-64": "0.13.12", + "esbuild-linux-arm": "0.13.12", + "esbuild-linux-arm64": "0.13.12", + "esbuild-linux-mips64le": "0.13.12", + "esbuild-linux-ppc64le": "0.13.12", + "esbuild-netbsd-64": "0.13.12", + "esbuild-openbsd-64": "0.13.12", + "esbuild-sunos-64": "0.13.12", + "esbuild-windows-32": "0.13.12", + "esbuild-windows-64": "0.13.12", + "esbuild-windows-arm64": "0.13.12" + } + }, + "esbuild-android-arm64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.12.tgz", + "integrity": "sha1-4fGZ3AVAXNxmcMAPtseTgiv4rkw=", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.12.tgz", + "integrity": "sha1-9cWeYilVwB8FDlp6ycHUHbcUuU0=", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.12.tgz", + "integrity": "sha1-irrnTClWqKpWj8UseIKTOMSkuYg=", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.12.tgz", + "integrity": "sha1-atKrjANk7n3S1uMk2Hao5grnXRI=", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.12.tgz", + "integrity": "sha1-bzgVX0wwCsTIrd4f3jzGpEQKgpQ=", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.12.tgz", + "integrity": "sha1-sdFeMwGIqMId51w/AFhiij7vrec=", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.12.tgz", + "integrity": "sha1-Jb1ktmFisCNI4y2PEuTJ7mHx0HA=", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.12.tgz", + "integrity": "sha1-a8gclXv/InJWiMxjWcKaJXZb4Js=", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.12.tgz", + "integrity": "sha1-ulgimEV8xcmsgjonXeEXYgwGU38=", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.12.tgz", + "integrity": "sha1-7zxKuj5YXYR8ut5ZRai0pcYsfOI=", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.12.tgz", + "integrity": "sha1-oh+2ToDDi+8GEi5IKDmQ/G21eOE=", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/download/esbuild-netbsd-64-0.13.12.tgz", + "integrity": "sha1-Hqf8jPzoiiCkBHuGfvGEBJpmQa4=", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.12.tgz", + "integrity": "sha1-rd4y8vGwXcS9T8VE1upaQ3n5yk0=", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.12.tgz", + "integrity": "sha1-p+yvUrc2T77nbciqcH+j4c/zNCw=", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.12.tgz", + "integrity": "sha1-qHVgM9yQXEt76hm+affuaICfh3A=", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.12.tgz", + "integrity": "sha1-rmlKpmygeKy4UJstoxGX7R9A95g=", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.13.12", + "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.12.tgz", + "integrity": "sha1-eCxai9bXF+pVqq/mSPmSbKNqSog=", + "dev": true, + "optional": true }, "estree-walker": { "version": "2.0.2", @@ -735,7 +823,7 @@ }, "fsevents": { "version": "2.3.2", - "resolved": "https://registry.nlark.com/fsevents/download/fsevents-2.3.2.tgz", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612536477949&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz", "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", "optional": true }, @@ -744,15 +832,6 @@ "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" }, - "generic-names": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/generic-names/download/generic-names-2.0.1.tgz", - "integrity": "sha1-+KN46tLMqno08DF7BVVIMq5BuHI=", - "dev": true, - "requires": { - "loader-utils": "^1.1.0" - } - }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz", @@ -823,12 +902,6 @@ "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443557459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz", "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=" }, - "hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/hash-sum/download/hash-sum-2.0.0.tgz", - "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=", - "dev": true - }, "hawk": { "version": "3.1.3", "resolved": "https://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz", @@ -886,18 +959,6 @@ "sshpk": "^1.7.0" } }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.nlark.com/icss-utils/download/icss-utils-5.1.0.tgz", - "integrity": "sha1-xr5oWKvQE9do6YNmrkfiXViHsa4=", - "dev": true - }, "image-size": { "version": "0.5.5", "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", @@ -913,9 +974,9 @@ } }, "is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.6.0.tgz", - "integrity": "sha1-11U7JSb+Wbkro+QMjfdX7Ipwnhk=", + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz?cache=0&sync_timestamp=1634236731601&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.8.0.tgz", + "integrity": "sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug=", "dev": true, "requires": { "has": "^1.0.3" @@ -927,9 +988,9 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", "requires": { "is-extglob": "^2.1.1" } @@ -1075,12 +1136,6 @@ "resolved": "https://registry.nlark.com/lodash-es/download/lodash-es-4.17.21.tgz", "integrity": "sha1-Q+YmxG5lkbd1C+srUBFzkMYJ4+4=" }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.nlark.com/loose-envify/download/loose-envify-1.4.0.tgz", @@ -1106,20 +1161,10 @@ } } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-5.1.1.tgz", - "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, "magic-string": { "version": "0.25.7", "resolved": "https://registry.nlark.com/magic-string/download/magic-string-0.25.7.tgz", "integrity": "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=", - "dev": true, "requires": { "sourcemap-codec": "^1.4.4" } @@ -1141,15 +1186,6 @@ } } }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/merge-source-map/download/merge-source-map-1.1.0.tgz", - "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, "mime": { "version": "1.6.0", "resolved": "https://registry.nlark.com/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1618846922439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", @@ -1201,10 +1237,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "nanoid": { - "version": "3.1.25", - "resolved": "https://registry.nlark.com/nanoid/download/nanoid-3.1.25.tgz", - "integrity": "sha1-CcoydHwOVD8OGBS303k0d/nI4VI=", - "dev": true + "version": "3.1.30", + "resolved": "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.30.tgz", + "integrity": "sha1-Y/k8xUjSoRPcXfvGO/oJ4rm2Q2I=" }, "nanopop": { "version": "2.1.0", @@ -1316,6 +1351,11 @@ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", "optional": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz", + "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=" + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648246651&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz", @@ -1327,83 +1367,15 @@ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "postcss": { - "version": "8.3.6", - "resolved": "https://registry.nlark.com/postcss/download/postcss-8.3.6.tgz?cache=0&sync_timestamp=1626882991667&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-8.3.6.tgz", - "integrity": "sha1-JzDddql5afN/U7mmCWGXvjEcxOo=", - "dev": true, + "version": "8.3.11", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-8.3.11.tgz?cache=0&sync_timestamp=1634821212090&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss%2Fdownload%2Fpostcss-8.3.11.tgz", + "integrity": "sha1-w77KfqgRzV4cSj7G0udZnvH4+Fg=", "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", "source-map-js": "^0.6.2" } }, - "postcss-modules": { - "version": "4.2.2", - "resolved": "https://registry.nlark.com/postcss-modules/download/postcss-modules-4.2.2.tgz", - "integrity": "sha1-Xnd3xaiWTqF2kZ2QsuVO+JEyHOU=", - "dev": true, - "requires": { - "generic-names": "^2.0.1", - "icss-replace-symbols": "^1.1.0", - "lodash.camelcase": "^4.3.0", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "string-hash": "^1.1.1" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha1-zaHwR8CugMl9vijD52pDuIAldB0=", - "dev": true - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha1-67tU+uFZjuz99pGgKz/zs5ClpRw=", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY=", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz", - "integrity": "sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw=", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620753051451&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz", - "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz", - "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", - "dev": true - }, "promise": { "version": "7.3.1", "resolved": "https://registry.nlark.com/promise/download/promise-7.3.1.tgz", @@ -1500,9 +1472,9 @@ } }, "rollup": { - "version": "2.56.3", - "resolved": "https://registry.nlark.com/rollup/download/rollup-2.56.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frollup%2Fdownload%2Frollup-2.56.3.tgz", - "integrity": "sha1-tj7a3ZhRsNYYptDmr4IBlVp3rv8=", + "version": "2.59.0", + "resolved": "https://registry.npmmirror.com/rollup/download/rollup-2.59.0.tgz?cache=0&sync_timestamp=1635760107164&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frollup%2Fdownload%2Frollup-2.59.0.tgz", + "integrity": "sha1-EIxhsPoKN+vI0fFk8oFiIFbw21k=", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -1521,9 +1493,9 @@ "optional": true }, "sass": { - "version": "1.39.0", - "resolved": "https://registry.nlark.com/sass/download/sass-1.39.0.tgz?cache=0&sync_timestamp=1630544946196&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsass%2Fdownload%2Fsass-1.39.0.tgz", - "integrity": "sha1-bGRpXRxDd2fI8aTkcSiOgx+B0DU=", + "version": "1.43.4", + "resolved": "https://registry.npmmirror.com/sass/download/sass-1.43.4.tgz?cache=0&sync_timestamp=1635300366258&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsass%2Fdownload%2Fsass-1.43.4.tgz", + "integrity": "sha1-aMfWobAEvvSa8NnK91DpslIQXR8=", "requires": { "chokidar": ">=3.0.0 <4.0.0" } @@ -1605,14 +1577,12 @@ "source-map-js": { "version": "0.6.2", "resolved": "https://registry.nlark.com/source-map-js/download/source-map-js-0.6.2.tgz", - "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", - "dev": true + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=" }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npm.taobao.org/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz", - "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=", - "dev": true + "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=" }, "sshpk": { "version": "1.16.1", @@ -1639,23 +1609,12 @@ } } }, - "string-hash": { - "version": "1.1.3", - "resolved": "https://registry.nlark.com/string-hash/download/string-hash-1.1.3.tgz", - "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", - "dev": true - }, "stringstream": { "version": "0.0.6", "resolved": "https://registry.npm.taobao.org/stringstream/download/stringstream-0.0.6.tgz", "integrity": "sha1-eIAiWw1K0Q4wkn0Weh1vL9OzOnI=", "optional": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz", @@ -1722,12 +1681,6 @@ } } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1622213185460&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", @@ -1754,16 +1707,16 @@ } }, "vite": { - "version": "2.5.3", - "resolved": "https://registry.nlark.com/vite/download/vite-2.5.3.tgz", - "integrity": "sha1-iNQKnvub7Ga9h6dnbFaJ81/2N0I=", + "version": "2.6.13", + "resolved": "https://registry.npmmirror.com/vite/download/vite-2.6.13.tgz", + "integrity": "sha1-FrPshaZtW0YawpqQOHTUNX+a9DI=", "dev": true, "requires": { - "esbuild": "^0.12.17", + "esbuild": "^0.13.2", "fsevents": "~2.3.2", - "postcss": "^8.3.6", + "postcss": "^8.3.8", "resolve": "^1.20.0", - "rollup": "^2.38.5" + "rollup": "^2.57.0" } }, "vite-plugin-style-import": { @@ -1797,26 +1750,35 @@ } }, "vue": { - "version": "3.2.9", - "resolved": "https://registry.nlark.com/vue/download/vue-3.2.9.tgz?cache=0&sync_timestamp=1630880909668&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue%2Fdownload%2Fvue-3.2.9.tgz", - "integrity": "sha1-+Dc8DXgTbjMa0Hnhjtct6qlb5fI=", + "version": "3.2.21", + "resolved": "https://registry.npmmirror.com/vue/download/vue-3.2.21.tgz", + "integrity": "sha1-VfVmUXLZXPl+gGuarQo3UYC+I6E=", "requires": { - "@vue/compiler-dom": "3.2.9", - "@vue/runtime-dom": "3.2.9", - "@vue/shared": "3.2.9" + "@vue/compiler-dom": "3.2.21", + "@vue/compiler-sfc": "3.2.21", + "@vue/runtime-dom": "3.2.21", + "@vue/server-renderer": "3.2.21", + "@vue/shared": "3.2.21" } }, "vue-router": { - "version": "4.0.11", - "resolved": "https://registry.nlark.com/vue-router/download/vue-router-4.0.11.tgz", - "integrity": "sha1-zWSaCUHGNSgXY6IJZbWZZD3caO0=", + "version": "4.0.12", + "resolved": "https://registry.npmmirror.com/vue-router/download/vue-router-4.0.12.tgz", + "integrity": "sha1-jceSzd9bsavMOQj5BkE23n4TxGA=", "requires": { - "@vue/devtools-api": "^6.0.0-beta.14" + "@vue/devtools-api": "^6.0.0-beta.18" + }, + "dependencies": { + "@vue/devtools-api": { + "version": "6.0.0-beta.19", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.19.tgz?cache=0&sync_timestamp=1633376929470&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fdevtools-api%2Fdownload%2F%40vue%2Fdevtools-api-6.0.0-beta.19.tgz", + "integrity": "sha1-+OiAWdqkJFFZkkJqDH6lzeB+mb8=" + } } }, "vue-types": { "version": "3.0.2", - "resolved": "https://registry.nlark.com/vue-types/download/vue-types-3.0.2.tgz", + "resolved": "https://registry.npmmirror.com/vue-types/download/vue-types-3.0.2.tgz", "integrity": "sha1-7BbgXUEsA4Ji/B76TOuWR+f7YB0=", "requires": { "is-plain-object": "3.0.1" @@ -1846,12 +1808,6 @@ "commander": "^2.20.3", "cssfilter": "0.0.10" } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/yallist/download/yallist-3.1.1.tgz", - "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", - "dev": true } } } diff --git a/zyplayer-doc-ui/swagger-ui/package.json b/zyplayer-doc-ui/swagger-ui/package.json index 961cf751..79c561b3 100644 --- a/zyplayer-doc-ui/swagger-ui/package.json +++ b/zyplayer-doc-ui/swagger-ui/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "@ant-design/icons-vue": "^6.0.1", - "ant-design-vue": "^3.0.0-alpha.4", + "ant-design-vue": "^3.0.0-alpha.8", "axios": "^0.19.2", "brace": "^0.11.1", "element-plus": "^1.0.2-beta.71", @@ -18,15 +18,15 @@ "mavon-editor": "^2.9.0", "moment": "^2.29.1", "qs": "^6.10.1", - "sass": "^1.39.0", - "vue": "^3.2.9", - "vue-router": "^4.0.11", + "sass": "^1.43.4", + "vue": "^3.2.21", + "vue-router": "^4.0.12", "vuex": "^4.0.2" }, "devDependencies": { - "@vitejs/plugin-vue": "^1.6.0", - "@vue/compiler-sfc": "^3.2.9", - "vite": "^2.5.3", + "@vitejs/plugin-vue": "^1.9.4", + "@vue/compiler-sfc": "^3.2.21", + "vite": "^2.6.13", "vite-plugin-style-import": "^1.2.1" } } diff --git a/zyplayer-doc-ui/swagger-ui/src/api/zyplayer.js b/zyplayer-doc-ui/swagger-ui/src/api/zyplayer.js index a42a464c..4ccc4b03 100644 --- a/zyplayer-doc-ui/swagger-ui/src/api/zyplayer.js +++ b/zyplayer-doc-ui/swagger-ui/src/api/zyplayer.js @@ -9,5 +9,6 @@ export const zyplayerApi = { swaggerDocUpdate: data => apiClient({url: '/doc-swagger/doc/update', method: 'post', data: data}), docSwaggerGlobalParamList: data => apiClient({url: '/doc-swagger/global-param/list', method: 'post', data: data}), docSwaggerGlobalParamUpdate: data => apiClient({url: '/doc-swagger/global-param/update', method: 'post', data: data}), + requestUrl: data => apiClient({url: '/doc-swagger/proxy/query', method: 'post', data: data}), }; diff --git a/zyplayer-doc-ui/swagger-ui/src/assets/utils/SwaggerAnalysisV2.js b/zyplayer-doc-ui/swagger-ui/src/assets/utils/SwaggerAnalysisV2.js index d729bb02..4106e4c5 100644 --- a/zyplayer-doc-ui/swagger-ui/src/assets/utils/SwaggerAnalysisV2.js +++ b/zyplayer-doc-ui/swagger-ui/src/assets/utils/SwaggerAnalysisV2.js @@ -26,7 +26,7 @@ export default { // 解析parameter.items.$ref 或 parameter.items.originalRef {$ref: "#/definitions/Model", originalRef: "Model"} // 解析parameter.items.type {type: 'file'} if (this.isSchemaRef(parameter.items)) { - subType = this.getSchemaRef(parameter.schema); + subType = this.getSchemaRef(parameter.items); children = this.getParamDefinitions(subType, definitionsDataMap, indexKey, {}, 0); } else if (parameter.schema) { if (this.isSchemaRef(parameter.schema.items)) { diff --git a/zyplayer-doc-ui/swagger-ui/src/components/layouts/HeaderAvatar.vue b/zyplayer-doc-ui/swagger-ui/src/components/layouts/HeaderAvatar.vue index aa23dd82..8fb2a4a6 100644 --- a/zyplayer-doc-ui/swagger-ui/src/components/layouts/HeaderAvatar.vue +++ b/zyplayer-doc-ui/swagger-ui/src/components/layouts/HeaderAvatar.vue @@ -8,7 +8,7 @@ 控制台 关于 - 我的资料 + 退出登录 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 f9b30c86..3760342d 100644 --- a/zyplayer-doc-ui/swagger-ui/src/components/layouts/MenuLayout.vue +++ b/zyplayer-doc-ui/swagger-ui/src/components/layouts/MenuLayout.vue @@ -80,11 +80,6 @@ if (matched.length >= 1) { this.openKeys = [matched[1].path]; } - // 加载初始化的地址 - if (this.$route.path === '/doc/view' && this.$route.query.url) { - this.swaggerDocChoice = this.$route.query.url; - this.swaggerDocChoiceChange(); - } this.getSwaggerResourceList(); }, methods: { @@ -99,7 +94,12 @@ if (res instanceof Array) { this.swaggerResourceList = res || []; if (this.swaggerResourceList.length > 0 && !this.swaggerDocChoice) { - this.swaggerDocChoice = this.swaggerResourceList[0].url; + // 加载初始化的地址 + if (this.$route.path === '/doc/view' && this.$route.query.url) { + this.swaggerDocChoice = this.$route.query.url; + } else { + this.swaggerDocChoice = this.swaggerResourceList[0].url; + } this.swaggerDocChoiceChange(); } } else { @@ -112,6 +112,12 @@ }, loadV2Doc() { this.treeDataLoading = true; + let swaggerResource = this.swaggerResourceList.find(item => item.url === this.swaggerDocChoice); + if (!swaggerResource) { + this.$message.error('未找到对应的文档地址信息'); + return; + } + this.$store.commit('setSwaggerResource', swaggerResource); customApi.get(this.swaggerDocChoice).then(res => { let v2Doc = this.toJsonObj(res); if (typeof v2Doc !== 'object' || !v2Doc.swagger) { diff --git a/zyplayer-doc-ui/swagger-ui/src/components/params/ParamBody.vue b/zyplayer-doc-ui/swagger-ui/src/components/params/ParamBody.vue new file mode 100644 index 00000000..7204c2a1 --- /dev/null +++ b/zyplayer-doc-ui/swagger-ui/src/components/params/ParamBody.vue @@ -0,0 +1,52 @@ + + + diff --git a/zyplayer-doc-ui/swagger-ui/src/components/table/ParamTable.vue b/zyplayer-doc-ui/swagger-ui/src/components/params/ParamTable.vue similarity index 74% rename from zyplayer-doc-ui/swagger-ui/src/components/table/ParamTable.vue rename to zyplayer-doc-ui/swagger-ui/src/components/params/ParamTable.vue index e3725725..69d7ff7f 100644 --- a/zyplayer-doc-ui/swagger-ui/src/components/table/ParamTable.vue +++ b/zyplayer-doc-ui/swagger-ui/src/components/params/ParamTable.vue @@ -12,19 +12,24 @@ Integer String + File Integer String {{text||'-'}} + + + + diff --git a/zyplayer-doc-ui/swagger-ui/src/views/doc/docView/DocDebugger.vue b/zyplayer-doc-ui/swagger-ui/src/views/doc/docView/DocDebugger.vue index 44bc9a70..d897701a 100644 --- a/zyplayer-doc-ui/swagger-ui/src/views/doc/docView/DocDebugger.vue +++ b/zyplayer-doc-ui/swagger-ui/src/views/doc/docView/DocDebugger.vue @@ -8,7 +8,7 @@ /> - + @@ -19,20 +19,20 @@ binary
- +
- +
- +
- + - +
@@ -44,10 +44,12 @@ import {useStore} from 'vuex'; import { message } from 'ant-design-vue'; import {markdownIt} from 'mavon-editor' - import ParamTable from '../../../components/table/ParamTable.vue' + import ParamTable from '../../../components/params/ParamTable.vue' + import ParamBody from '../../../components/params/ParamBody.vue' import {CloseOutlined} from '@ant-design/icons-vue'; import 'mavon-editor/dist/markdown/github-markdown.min.css' import 'mavon-editor/dist/css/index.css' + import {zyplayerApi} from "../../../api"; export default { props: { @@ -65,45 +67,89 @@ }, }, components: { - CloseOutlined, ParamTable + CloseOutlined, ParamTable, ParamBody }, setup(props) { - let docUrl = ref(props.docInfoShow.url); + const store = useStore(); + let swaggerResource = store.state.swaggerResource || {}; + let swaggerDoc = store.state.swaggerDoc || {}; + let urlDomain = swaggerResource.rewriteDomain || swaggerDoc.host; + let docUrl = ref(urlDomain + props.docInfoShow.url); let activePage = ref('urlParam'); // URL参数处理 + const urlParamRef = ref(); const urlParamChecked = ref([]); let urlParamListProp = props.requestParamList.filter(item => item.in === 'query'); - let urlParamList = ref(JSON.parse(JSON.stringify(urlParamListProp))); + let urlParamList = ref([]); // Header参数处理 + const headerParamRef = ref(); const headerParamChecked = ref([]); let headerParamListProp = props.requestParamList.filter(item => item.in === 'header'); let headerParamList = ref(JSON.parse(JSON.stringify(headerParamListProp))); // cookie参数处理 + const cookieParamRef = ref(); const cookieParamChecked = ref([]); let cookieParamListProp = props.requestParamList.filter(item => item.in === 'cookie'); let cookieParamList = ref(JSON.parse(JSON.stringify(cookieParamListProp))); // form参数处理 + const formParamRef= ref(); const formParamChecked = ref([]); let formParamListProp = props.requestParamList.filter(item => item.in === 'formData'); let formParamList = ref([]); + if (props.docInfoShow.method === 'post') { + // post的时候参数否放到form里面 + formParamListProp = formParamListProp.concat(urlParamListProp); + } else { + // 否则放到URL参数里面 + urlParamList = ref(JSON.parse(JSON.stringify(urlParamListProp))); + } // form参数处理 + const formEncodeParamRef = ref(); const formEncodeParamChecked = ref([]); let formEncodeParamList = ref([]); // body 参数 + let bodyParamRef = ref(); let bodyParamType = ref('form'); - let bodyRowParam = ref(''); + let bodyRowListProp = props.requestParamList.filter(item => item.in === 'body'); + let bodyRowParamList = ref(JSON.parse(JSON.stringify(bodyRowListProp))); // x-www-form-urlencoded - if (props.docInfoShow.consumes.indexOf('x-www-form-urlencoded') >= 0) { + if (props.docInfoShow.consumes.indexOf('application/x-www-form-urlencoded') >= 0) { bodyParamType.value = 'formUrlEncode'; formEncodeParamList = ref(JSON.parse(JSON.stringify(formParamListProp))); + } else if (props.docInfoShow.consumes.indexOf('multipart/form-data') >= 0) { + bodyParamType.value = 'form'; + formParamList = ref(JSON.parse(JSON.stringify(formParamListProp))); } else if (props.docInfoShow.consumes.indexOf('application/json') >= 0) { bodyParamType.value = 'row'; + formEncodeParamList = ref(JSON.parse(JSON.stringify(formParamListProp))); + if (formParamListProp.length > 0) { + bodyParamType.value = 'formUrlEncode'; + } } else { formParamList = ref(JSON.parse(JSON.stringify(formParamListProp))); } + if (formParamList.value.length > 0) { + activePage.value = 'urlParam'; + } else if (formParamListProp.length > 0 || bodyRowListProp.length > 0) { + activePage.value = 'bodyParam'; + } else if (headerParamListProp.length > 0) { + activePage.value = 'headerParam'; + } // 发送请求 const sendRequest = () => { - console.log('urlParamChecked', urlParamChecked.value, urlParamList.value); + const formData = new FormData(); + let selectedRowKeys = urlParamRef.value.getSelectedRowKeys(); + let urlParamStr = urlParamList.value.filter(item => selectedRowKeys.indexOf(item.key) >= 0 && item.name && item.value).map(item => { + return item.name + '=' + encodeURIComponent(item.value); + }).join('&'); + console.log('urlParamStr', urlParamStr); + // fileList.value.forEach(file => { + // formData.append('files[]', file); + // }); + formData.append('url', docUrl.value + '?' + urlParamStr); + zyplayerApi.requestUrl(formData).then(res => { + debugger + }); message.info('暂未开放此功能,敬请期待'); }; return { @@ -111,23 +157,29 @@ activePage, sendRequest, // url参数 + urlParamRef, urlParamChecked, urlParamList, // header参数 + headerParamRef, headerParamChecked, headerParamList, // cookie参数 + cookieParamRef, cookieParamChecked, cookieParamList, // form参数 + formParamRef, formParamChecked, formParamList, // form-encode参数 + formEncodeParamRef, formEncodeParamChecked, formEncodeParamList, // body参数 + bodyParamRef, bodyParamType, - bodyRowParam, + bodyRowParamList, responseCodeListColumns: [ {title: '状态码', dataIndex: 'code', width: 100}, {title: '类型', dataIndex: 'type', width: 250},