在线调试请求参数展示,发送请求

This commit is contained in:
暮光:城中城
2021-11-03 23:23:29 +08:00
parent e99fe3bf65
commit 4487c138b2
13 changed files with 517 additions and 355 deletions

View File

@@ -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<SwaggerResource> swaggerResources() {
List<SwaggerResource> resourceList = new LinkedList<>();
public List<SwaggerResourceVo> swaggerResources() {
List<SwaggerResourceVo> resourceList = new LinkedList<>();
SwaggerDoc swaggerSearch = new SwaggerDoc();
swaggerSearch.setDocStatus(1);
List<SwaggerDoc> 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;

View File

@@ -0,0 +1,58 @@
package com.zyplayer.doc.swaggerplus.controller.vo;
import com.google.common.collect.ComparisonChain;
public class SwaggerResourceVo implements Comparable<SwaggerResourceVo> {
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;
}
}

View File

@@ -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
}
}
}

View File

@@ -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"
}
}

View File

@@ -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}),
};

View File

@@ -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)) {

View File

@@ -8,7 +8,7 @@
<a-menu-item @click="showConsole" key="1">控制台</a-menu-item>
<a-menu-divider />
<a-menu-item @click="showAbout" key="2">关于</a-menu-item>
<a-menu-item @click="showMyInfo" key="3">我的资料</a-menu-item>
<!-- <a-menu-item @click="showMyInfo" key="3">我的资料</a-menu-item>-->
<a-menu-item @click="userSignOut" key="4">退出登录</a-menu-item>
</a-menu>
</template>

View File

@@ -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) {
// 加载初始化的地址
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) {

View File

@@ -0,0 +1,52 @@
<template>
<a-textarea placeholder="" v-model:value="bodyRowParam" :auto-size="{ minRows: 15, maxRows: 15 }"></a-textarea>
</template>
<script>
import {toRefs, ref, reactive, onMounted, watch} from 'vue';
import { useRouter, useRoute } from "vue-router";
import {useStore} from 'vuex';
import { message } from 'ant-design-vue';
import {markdownIt} from 'mavon-editor'
import {CloseOutlined, UploadOutlined} from '@ant-design/icons-vue';
import 'mavon-editor/dist/markdown/github-markdown.min.css'
import 'mavon-editor/dist/css/index.css'
export default {
props: {
paramList: {
type: Array,
required: true
},
},
components: {
CloseOutlined, UploadOutlined
},
emits: [],
setup(props, { attrs, slots, emit, expose}) {
let paramList = props.paramList;
let bodyParamObj = {};
let getChildren = paramObj => {
if (paramObj.children) {
let bodyParamObj = {};
paramObj.children.forEach(item => {
bodyParamObj[item.name] = getChildren(item);
});
return bodyParamObj;
}
return '';
}
if (paramList.length === 1) {
bodyParamObj = getChildren(paramList[0]);
} else if (paramList.length > 1) {
paramList.forEach(item => {
bodyParamObj[item.name] = getChildren(item);
});
}
let bodyRowParam = ref(JSON.stringify(bodyParamObj, null, 4));
return {
bodyRowParam,
};
},
};
</script>

View File

@@ -12,19 +12,24 @@
<a-select v-if="record.key >= 10000" v-model:value="record.type">
<a-select-option value="integer">Integer</a-select-option>
<a-select-option value="string">String</a-select-option>
<a-select-option value="file">File</a-select-option>
</a-select>
<a-tag color="pink" v-else-if="text === 'integer'">Integer</a-tag>
<a-tag color="red" v-else-if="text === 'string'">String</a-tag>
<a-tag color="green" v-else>{{text||'-'}}</a-tag>
</template>
<template v-if="column.dataIndex === 'value'">
<a-select v-if="record.enum && record.type === 'array'" v-model:value="record.value" mode="multiple" style="width: 100%;">
<a-select v-if="record.enum && record.type === 'array'" v-model:value="record.value" mode="multiple" :placeholder="record.description || '请选择'" style="width: 100%;">
<a-select-option :value="enums" v-for="enums in record.enum">{{enums}}</a-select-option>
</a-select>
<a-select v-else-if="record.enum" v-model:value="record.value" style="width: 100%;">
<a-select v-else-if="record.enum" v-model:value="record.value" :placeholder="record.description || '请选择'" style="width: 100%;">
<a-select-option :value="enums" v-for="enums in record.enum">{{enums}}</a-select-option>
</a-select>
<a-upload v-else-if="record.type==='file'" v-model:file-list="record.value" name="file" :multiple="record.type === 'array'" :before-upload="file=>{return beforeUpload(file, record)}" action="https://www.mocky.io/v2/5cc8019d300000980a055e76">
<a-upload v-else-if="record.type==='file' || record.subType === 'file' || record.subType === 'MultipartFile'"
:file-list="record.value" name="file" :multiple="record.type === 'array'"
:before-upload="file=>{return beforeUpload(file, record)}"
:remove="file=>{return handleRemove(file, record)}"
>
<a-button><upload-outlined></upload-outlined>选择文件</a-button>
</a-upload>
<a-input v-else :placeholder="record.description || '请输入参数值'" v-model:value="record.value" @change="queryParamChange(record)"></a-input>
@@ -64,26 +69,25 @@
let queryParamList = ref(props.paramList);
let nextIndex = 10000;
// Query
queryParamList.value.push({name: '', value: '', type: 'integer', key: ++nextIndex, isLastRow: true});
if (queryParamList.value.length <= 0 || !queryParamList.value[queryParamList.value.length - 1].isLastRow) {
queryParamList.value.push({name: '', value: undefined, type: 'integer', key: ++nextIndex, isLastRow: true});
}
let queryParamSelectedRowKeys = ref([]);
queryParamList.value.forEach(item => {
item.value = item.example || '';
if ((item.enum && item.type === 'array') || item.type === 'file') {
item.value = item.example || undefined;
if ((item.enum && item.type === 'array') || item.type === 'file' || item.subType === 'MultipartFile') {
item.value = [];
}
queryParamSelectedRowKeys.value.push(item.key);
});
emit('update:selected', queryParamSelectedRowKeys.value);
const queryParamRowSelectionChange = (selectedRowKeys, selectedRows) => {
queryParamSelectedRowKeys.value = selectedRowKeys;
emit('update:selected', selectedRowKeys);
};
const queryParamChange = (record) => {
if (record.isLastRow) {
record.isLastRow = false;
queryParamList.value.push({name: '', value: '', type: 'integer', key: ++nextIndex, isLastRow: true});
queryParamList.value.push({name: '', value: undefined, type: 'integer', key: ++nextIndex, isLastRow: true});
queryParamSelectedRowKeys.value.push(nextIndex);
emit('update:selected', queryParamSelectedRowKeys.value);
}
};
const queryParamRemove = (record) => {
@@ -99,17 +103,30 @@
queryParamListColumns.value.push({title: '参数值', dataIndex: 'value'});
queryParamListColumns.value.push({title: '', dataIndex: 'action', width: 40});
const beforeUpload = (file, record) => {
console.log(record)
if (record.type !== 'array') {
record.value = [file];
} else {
record.value = [...record.value, file];
}
return false;
};
const handleRemove = (file, record) => {
record.value = record.value.filter(item => item !== file);
};
const getSelectedRowKeys = () => {
return queryParamSelectedRowKeys.value;
};
return {
queryParamList,
queryParamSelectedRowKeys,
queryParamRowSelectionChange,
queryParamChange,
queryParamRemove,
queryParamListColumns,
beforeUpload,
handleRemove,
queryParamListColumns,
//
getSelectedRowKeys,
};
},
};

View File

@@ -10,12 +10,17 @@ export default createStore({
swaggerDefinitions: {},
swaggerTreePathMap: {},
methodStatistic: {},
// 数据库存储的地址信息
swaggerResource: {},
}
},
mutations: {
setUserInfo(state, userInfo) {
state.userInfo = userInfo;
},
setSwaggerResource(state, swaggerResource) {
state.swaggerResource = swaggerResource;
},
addDocChangedNum(state) {
state.docChangedNum++;
},

View File

@@ -92,6 +92,19 @@
</a-popover>
</template>
</a-form-item>
<a-form-item label="目标域名" name="rewriteDomain">
<a-input placeholder="请输入目标域名" v-model:value="docEdit.rewriteDomain"></a-input>
<template #extra>
目标域名
<a-popover title="目标域名说明">
<template #content>
<p>在文档的在线调试界面访问的域名可以初始为此处录入的域名而非文档本身的域名地址</p>
<p>可便于不同环境间的接口测试http://doc.zyplayer.com</p>
</template>
<a>说明</a>
</a-popover>
</template>
</a-form-item>
<a-form-item label="开放访问" required name="openVisit">
<a-radio-group v-model:value="docEdit.openVisit">
<a-radio :value="0"></a-radio>

View File

@@ -8,7 +8,7 @@
/>
<a-tabs v-model:activeKey="activePage" closable @tab-click="" style="padding: 5px 10px 0;">
<a-tab-pane tab="URL参数" key="urlParam">
<ParamTable v-model:selected="urlParamChecked" :paramList="urlParamList"></ParamTable>
<ParamTable ref="urlParamRef" v-model:selected="urlParamChecked" :paramList="urlParamList"></ParamTable>
</a-tab-pane>
<a-tab-pane tab="请求参数" key="bodyParam" v-if="docInfoShow.method !== 'get'">
<a-radio-group v-model:value="bodyParamType" style="margin-bottom: 5px;">
@@ -19,20 +19,20 @@
<a-radio value="binary">binary</a-radio>
</a-radio-group>
<div v-show="bodyParamType === 'form'">
<ParamTable v-model:selected="formParamChecked" :paramList="formParamList" showType></ParamTable>
<ParamTable ref="formParamRef" :paramList="formParamList" showType></ParamTable>
</div>
<div v-show="bodyParamType === 'formUrlEncode'">
<ParamTable v-model:selected="formEncodeParamChecked" :paramList="formEncodeParamList"></ParamTable>
<ParamTable ref="formEncodeParamRef" :paramList="formEncodeParamList"></ParamTable>
</div>
<div v-show="bodyParamType === 'row'">
<a-textarea placeholder="" v-model:value="bodyRowParam" :auto-size="{ minRows: 15, maxRows: 15 }"></a-textarea>
<ParamBody ref="bodyParamRef" :paramList="bodyRowParamList"></ParamBody>
</div>
</a-tab-pane>
<a-tab-pane tab="Header参数" key="headerParam">
<ParamTable v-model:selected="headerParamChecked" :paramList="headerParamList"></ParamTable>
<ParamTable ref="headerParamRef" :paramList="headerParamList"></ParamTable>
</a-tab-pane>
<a-tab-pane tab="Cookie参数" key="cookieParam">
<ParamTable v-model:selected="cookieParamChecked" :paramList="cookieParamList"></ParamTable>
<ParamTable ref="cookieParamRef" :paramList="cookieParamList"></ParamTable>
</a-tab-pane>
</a-tabs>
</div>
@@ -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},