Skip to content

Commit 425fa62

Browse files
committed
支持路由表达式中的变量调试
1 parent 819c790 commit 425fa62

File tree

7 files changed

+47
-13
lines changed

7 files changed

+47
-13
lines changed

apidoc/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>apidoc</title><link href=static/css/app.3be78c2a.css rel=preload as=style><link href=static/css/chunk-vendors.39c71c89.css rel=preload as=style><link href=static/js/app.108eb517.js rel=preload as=script><link href=static/js/chunk-vendors.a8e2b07e.js rel=preload as=script><link href=static/css/chunk-vendors.39c71c89.css rel=stylesheet><link href=static/css/app.3be78c2a.css rel=stylesheet></head><body><noscript><strong>We're sorry but apidoc doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=static/js/chunk-vendors.a8e2b07e.js></script><script src=static/js/app.108eb517.js></script></body></html>
1+
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>apidoc</title><link href=static/css/app.79f66878.css rel=preload as=style><link href=static/css/chunk-vendors.39c71c89.css rel=preload as=style><link href=static/js/app.bf5646a3.js rel=preload as=script><link href=static/js/chunk-vendors.11e0ce6b.js rel=preload as=script><link href=static/css/chunk-vendors.39c71c89.css rel=stylesheet><link href=static/css/app.79f66878.css rel=stylesheet></head><body><noscript><strong>We're sorry but apidoc doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=static/js/chunk-vendors.11e0ce6b.js></script><script src=static/js/app.bf5646a3.js></script></body></html>

apidoc/static/css/app.3be78c2a.css renamed to apidoc/static/css/app.79f66878.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apidoc/static/js/app.108eb517.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

apidoc/static/js/app.bf5646a3.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apidoc/static/js/chunk-vendors.a8e2b07e.js renamed to apidoc/static/js/chunk-vendors.11e0ce6b.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/content/DocDebug.vue

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,12 @@
2525
<div v-if="apiData.param && apiData.param.length">
2626
<h2>请求参数Parameters</h2>
2727
<div class="api-param-textarea">
28-
<div v-if="apiData.paramType === 'formdata'" class="param-box">
28+
<div
29+
v-if="
30+
apiData.paramType === 'formdata' || apiData.paramType === 'route'
31+
"
32+
class="param-box"
33+
>
2934
<Form :label-col="{ span: 5 }" :wrapper-col="{ span: 12 }">
3035
<FormItem
3136
v-for="item in apiData.param"
@@ -147,6 +152,10 @@ export default {
147152
device: {
148153
type: String,
149154
default: "xl"
155+
},
156+
url: {
157+
type: String,
158+
default: ""
150159
}
151160
},
152161
@@ -266,6 +275,7 @@ export default {
266275
267276
excute() {
268277
const that = this;
278+
let url = cloneDeep(this.url);
269279
this.loading = true;
270280
let json = {};
271281
if (this.apiData.paramType == "formdata") {
@@ -281,6 +291,23 @@ export default {
281291
}
282292
});
283293
json = formData;
294+
} else if (this.apiData.paramType == "route") {
295+
// 路由参数,将参数拼接到url中
296+
this.apiData.param.forEach(item => {
297+
const placeholderKeys = [
298+
`:${item.name}`,
299+
`<${item.name}>`,
300+
`<${item.name}?>`,
301+
`[:${item.name}]`
302+
];
303+
for (let i = 0; i < placeholderKeys.length; i++) {
304+
const key = placeholderKeys[i];
305+
if (url.indexOf(key) > -1) {
306+
const reg = new RegExp(key, "g");
307+
url = url.replace(reg, this.formdata[item.name]);
308+
}
309+
}
310+
});
284311
} else {
285312
const string = this.parameters;
286313
json = eval("(" + string + ")");
@@ -300,8 +327,7 @@ export default {
300327
if (this.apiData.paramType === "formdata") {
301328
headers["Content-Type"] = "application/x-www-form-urlencoded";
302329
}
303-
304-
sendRequest(this.apiData.url, json, method, headers)
330+
sendRequest(url, json, method, headers)
305331
.then(res => {
306332
this.loading = false;
307333
if (res.data && typeof res.data === "string") {

src/components/content/index.vue

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
{{ apiData.method }}
2424
</div>
2525
<div class="api-url-input">
26-
<input :value="apiData.url" readonly />
26+
<input v-model="url" readonly />
2727
</div>
2828
<div class="api-url-copy">
2929
<Icon type="copy" @click="copyUrl" />
@@ -38,7 +38,7 @@
3838
<DocJson :apiData="apiData" :config="config" />
3939
</TabPane>
4040
<TabPane key="3" tab="调试">
41-
<DocDebug :apiData="apiData" />
41+
<DocDebug :url="url" :apiData="apiData" />
4242
</TabPane>
4343
</Tabs>
4444
</div>
@@ -103,13 +103,21 @@ export default {
103103
}
104104
},
105105
data() {
106-
return {};
106+
return {
107+
url: ""
108+
};
109+
},
110+
watch: {
111+
"apiData.url"(url) {
112+
this.url = url;
113+
}
114+
},
115+
created() {
116+
this.url = this.apiData.url;
107117
},
108-
109-
created() {},
110118
methods: {
111119
copyUrl() {
112-
const text = this.apiData.url;
120+
const text = this.url;
113121
this.$copyText(text)
114122
.then(() => {
115123
message.success("复制成功");

0 commit comments

Comments
 (0)