Skip to content

Commit d807ce9

Browse files
committed
升级兼容apidoc2.4.0
1 parent 425fa62 commit d807ce9

File tree

16 files changed

+446
-145
lines changed

16 files changed

+446
-145
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.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>
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.d65fcd89.css rel=preload as=style><link href=static/css/chunk-vendors.39c71c89.css rel=preload as=style><link href=static/js/app.9ecb1b87.js rel=preload as=script><link href=static/js/chunk-vendors.52db4364.js rel=preload as=script><link href=static/css/chunk-vendors.39c71c89.css rel=stylesheet><link href=static/css/app.d65fcd89.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.52db4364.js></script><script src=static/js/app.9ecb1b87.js></script></body></html>

apidoc/static/css/app.79f66878.css renamed to apidoc/static/css/app.d65fcd89.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.9ecb1b87.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/app.bf5646a3.js

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

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

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

src/components/Header.vue

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -71,17 +71,17 @@
7171
<div class="actions">
7272
<Tooltip placement="bottom">
7373
<template slot="title">
74-
Set Global Authorize
74+
设置全局请求参数
7575
</template>
7676
<Button
77-
v-if="isGlobalAuth"
78-
icon="safety-certificate"
77+
v-if="isGlobalParams"
78+
icon="global"
7979
type="primary"
80-
@click="showGlobalAuth"
81-
><span v-if="device != 'mobile'">Authorize</span></Button
80+
@click="showGlobalParams"
81+
><span v-if="device != 'mobile'">全局参数</span></Button
8282
>
83-
<Button v-else icon="safety-certificate" @click="showGlobalAuth"
84-
><span v-if="device != 'mobile'">Authorize</span></Button
83+
<Button v-else icon="global" @click="showGlobalParams"
84+
><span v-if="device != 'mobile'">全局参数</span></Button
8585
>
8686
</Tooltip>
8787

@@ -107,7 +107,7 @@
107107

108108
<script>
109109
import { Select, Tooltip, Button, Icon } from "ant-design-vue";
110-
import GlobalAuthModal from "./auth/globalAuthModal";
110+
import GlobalParamsModal from "./globalParamsModal";
111111
import AppSelect from "./AppSelect";
112112
import { ls } from "@/utils/cache";
113113
@@ -136,7 +136,7 @@ export default {
136136
},
137137
data() {
138138
return {
139-
isGlobalAuth: false,
139+
isGlobalParams: false,
140140
currentCache: "",
141141
logoPath: "./logo.png",
142142
currentApp: ""
@@ -159,22 +159,23 @@ export default {
159159
}
160160
},
161161
created() {
162-
const globalAuth = ls.get("globalAuth");
163-
if (globalAuth) {
164-
this.isGlobalAuth = true;
162+
const globalParams = ls.get("globalParams");
163+
if (globalParams) {
164+
this.isGlobalParams = true;
165165
}
166166
},
167167
methods: {
168-
showGlobalAuth() {
169-
GlobalAuthModal({
170-
success: this.setGlobalAuthSuccess
168+
showGlobalParams() {
169+
GlobalParamsModal({
170+
config: this.config,
171+
success: this.setGlobalParamsSuccess
171172
});
172173
},
173-
setGlobalAuthSuccess(val) {
174+
setGlobalParamsSuccess(val) {
174175
if (val) {
175-
this.isGlobalAuth = true;
176+
this.isGlobalParams = true;
176177
} else {
177-
this.isGlobalAuth = false;
178+
this.isGlobalParams = false;
178179
}
179180
},
180181
onCacheChange(val) {

src/components/auth/globalAuthModal/Index.vue

Lines changed: 0 additions & 79 deletions
This file was deleted.

src/components/content/DocDebug.vue

Lines changed: 95 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -194,32 +194,71 @@ export default {
194194
},
195195
watch: {
196196
apiData() {
197-
this.parameters = this.renderParamsCode(this.apiData.param);
198197
this.returnData = {};
199-
this.headerData = this.renderHeaderData(this.apiData.header);
198+
this.initApiData();
200199
}
201200
},
202201
203202
created() {
204-
this.parameters = this.renderParamsCode(this.apiData.param);
205203
this.config = ls.get("config");
206-
207-
if (this.apiData.paramType == "formdata") {
208-
let fileList = {};
209-
let formdata = {};
210-
this.apiData.param.forEach(item => {
211-
if (item.type === "file") {
212-
fileList[item.name] = [];
213-
} else {
214-
formdata[item.name] = item.default ? item.default : "";
215-
}
216-
});
217-
this.fileList = fileList;
218-
this.formdata = formdata;
219-
}
220-
this.headerData = this.renderHeaderData(this.apiData.header);
204+
this.initApiData();
221205
},
222206
methods: {
207+
initApiData() {
208+
this.handleParameters(this.apiData.param);
209+
210+
if (this.apiData.paramType == "formdata") {
211+
let fileList = {};
212+
let formdata = {};
213+
this.apiData.param.forEach(item => {
214+
if (item.type === "file") {
215+
fileList[item.name] = [];
216+
} else {
217+
if (
218+
this.globalParams &&
219+
this.globalParams.params &&
220+
this.globalParams.params.length
221+
) {
222+
const paramsItem = this.globalParams.params.find(
223+
p => p.key === item.name
224+
);
225+
if (paramsItem && paramsItem.value) {
226+
formdata[item.name] = paramsItem.value;
227+
} else {
228+
formdata[item.name] = item.default ? item.default : "";
229+
}
230+
} else {
231+
formdata[item.name] = item.default ? item.default : "";
232+
}
233+
}
234+
});
235+
this.fileList = fileList;
236+
this.formdata = formdata;
237+
}
238+
this.headerData = this.renderHeaderData(this.apiData.header);
239+
},
240+
handleParameters(params) {
241+
let newParams = params;
242+
// 处理全局请求参数
243+
this.globalParams = ls.get("globalParams");
244+
if (
245+
this.globalParams &&
246+
this.globalParams.params &&
247+
this.globalParams.params.length
248+
) {
249+
for (let i = 0; i < this.globalParams.params.length; i++) {
250+
const globalParamItem = this.globalParams.params[i];
251+
const paramsItem = newParams.find(
252+
p => p.name === globalParamItem.key
253+
);
254+
if (paramsItem && !paramsItem.default) {
255+
paramsItem.default = globalParamItem.value;
256+
}
257+
}
258+
}
259+
260+
this.parameters = this.renderParamsCode(params);
261+
},
223262
renderParamsCode(params, indent = 0) {
224263
const indentContent = getIndent(indent);
225264
const valueIndentContent = getIndent(indent + 2);
@@ -315,15 +354,30 @@ export default {
315354
316355
const method = this.apiData.method.toLowerCase();
317356
const headers = {};
318-
this.globalAuthToken = ls.get("globalAuth");
319-
if (this.globalAuthToken) {
320-
headers[this.globalAuthKey] = this.globalAuthToken;
321-
}
322357
if (this.headerData && this.headerData.length) {
323358
this.headerData.forEach(item => {
324359
headers[item.name] = item.default;
325360
});
326361
}
362+
// 添加全局请求头参数
363+
const globalParams = ls.get("globalParams");
364+
if (globalParams && globalParams.headers && globalParams.headers.length) {
365+
for (let i = 0; i < globalParams.headers.length; i++) {
366+
const globalHeaderParam = globalParams.headers[i];
367+
if (!headers[globalHeaderParam.key]) {
368+
headers[globalHeaderParam.key] = globalHeaderParam.value;
369+
}
370+
}
371+
}
372+
// 添加全局请求参数
373+
if (globalParams && globalParams.params && globalParams.params.length) {
374+
for (let i = 0; i < globalParams.params.length; i++) {
375+
const globalParamItem = globalParams.params[i];
376+
if (!json[globalParamItem.key]) {
377+
json[globalParamItem.key] = globalParamItem.value;
378+
}
379+
}
380+
}
327381
if (this.apiData.paramType === "formdata") {
328382
headers["Content-Type"] = "application/x-www-form-urlencoded";
329383
}
@@ -351,21 +405,27 @@ export default {
351405
},
352406
renderHeaderData(headerData) {
353407
const data = cloneDeep(headerData);
354-
// 赋值全局Auth
355-
this.globalAuthKey =
356-
this.config && this.config.global_auth_key
357-
? this.config.global_auth_key
358-
: "Authorization";
359-
this.globalAuthToken = ls.get("globalAuth");
360408
if (data && data.length) {
361-
const headers = data.map(item => {
362-
if (item.name === this.globalAuthKey && this.globalAuthToken) {
363-
item.default = this.globalAuthToken;
364-
}
365-
return item;
366-
});
367-
return headers;
409+
const globalParams = ls.get("globalParams");
410+
if (
411+
globalParams &&
412+
globalParams.headers &&
413+
globalParams.headers.length
414+
) {
415+
return data.map(item => {
416+
const globalParamFind = globalParams.headers.find(
417+
p => p.key === item.name
418+
);
419+
if (globalParamFind && globalParamFind.value) {
420+
item.default = globalParamFind.value;
421+
}
422+
return item;
423+
});
424+
} else {
425+
return data;
426+
}
368427
}
428+
369429
return [];
370430
},
371431
onHeaderCellChange(key, dataIndex, value) {

src/components/content/DocTable.vue

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
defaultExpandAllRows
3030
childrenColumnName="params"
3131
>
32+
<template slot="rowDesc" slot-scope="text">
33+
<div v-html="textToHtml(text)"></div>
34+
</template>
3235
</Table>
3336
</div>
3437
</div>
@@ -75,13 +78,17 @@
7578
childrenColumnName="params"
7679
@expandedRowsChange="onExpandedRowsChange"
7780
>
81+
<template slot="rowDesc" slot-scope="text">
82+
<div v-html="textToHtml(text)"></div>
83+
</template>
7884
</Table>
7985
</div>
8086
</div>
8187
</template>
8288

8389
<script>
8490
import { Table, Icon, Popover } from "ant-design-vue";
91+
import { textToHtml } from "../../utils/utils";
8592
8693
let paramsRowKey = 0;
8794
export default {
@@ -136,7 +143,8 @@ export default {
136143
},
137144
{
138145
title: "说明",
139-
dataIndex: "desc"
146+
dataIndex: "desc",
147+
scopedSlots: { customRender: "rowDesc" }
140148
}
141149
],
142150
returnColumns: [
@@ -159,7 +167,8 @@ export default {
159167
},
160168
{
161169
title: "说明",
162-
dataIndex: "desc"
170+
dataIndex: "desc",
171+
scopedSlots: { customRender: "rowDesc" }
163172
}
164173
],
165174
tableScroll: {
@@ -179,6 +188,7 @@ export default {
179188
this.returnData = this.handleReturnData(this.apiData.return);
180189
},
181190
methods: {
191+
textToHtml,
182192
handleReturnData(data) {
183193
return data
184194
? data.map(item => {

0 commit comments

Comments
 (0)