|
@@ -6,8 +6,8 @@
|
|
|
<div class="item-header">
|
|
<div class="item-header">
|
|
|
<div class="title">基本信息</div>
|
|
<div class="title">基本信息</div>
|
|
|
<div class="btns">
|
|
<div class="btns">
|
|
|
- <div class="btn">接口说明</div>
|
|
|
|
|
- <div class="btn">在线调试</div>
|
|
|
|
|
|
|
+ <div class="btn" @click="openActionRemark">调试说明</div>
|
|
|
|
|
+ <div class="btn" @click="openActionMock">在线调试</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item-body">
|
|
<div class="item-body">
|
|
@@ -25,7 +25,7 @@
|
|
|
<div class="item-body">
|
|
<div class="item-body">
|
|
|
<a-table :data-source="reqData" :columns="reqColumns" :pagination="{ hideOnSinglePage: true }">
|
|
<a-table :data-source="reqData" :columns="reqColumns" :pagination="{ hideOnSinglePage: true }">
|
|
|
<template #required="{ record }">
|
|
<template #required="{ record }">
|
|
|
- <div>{{ record.required? '是' : '否' }}</div>
|
|
|
|
|
|
|
+ <div>{{ record.required ? '是' : '否' }}</div>
|
|
|
</template>
|
|
</template>
|
|
|
</a-table>
|
|
</a-table>
|
|
|
</div>
|
|
</div>
|
|
@@ -46,15 +46,28 @@
|
|
|
<div class="title">返回示例</div>
|
|
<div class="title">返回示例</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item-body">
|
|
<div class="item-body">
|
|
|
- <a-textarea v-model:value="resExample" placeholder="" :autosize="true" />
|
|
|
|
|
|
|
+ <a-textarea v-model:value="resExample" placeholder="" :autoSize="true" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <a-modal v-model:visible="visible" centered title="调用说明" width="700px" :footer="null">
|
|
|
|
|
+ <div class="content" style="padding: 20px 10px 10px;font-size: 16px;">
|
|
|
|
|
+ <p>· 使用需鉴权的接口要在网络请求头(Http Headers)中添加参数(Authorization)项,设置已授权的令牌(JWT:JSON Web Tokens)</p>
|
|
|
|
|
+ <p>· 获取授权的JWT如下:</p>
|
|
|
|
|
+ <p>1). 首先拥有成都市规划和自然资源局门户的账号和密码</p>
|
|
|
|
|
+ <p>2). 其次由信息中心管理员配置client_id、client_secret、username、password参数值</p>
|
|
|
|
|
+ <p>3). 然后获取access_token</p>
|
|
|
|
|
+ <p>4). 最后通过access_token访问需鉴权的资源</p>
|
|
|
|
|
+ <p>5). 注意:access_token有效期为:30分钟,过期需重新获取</p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </a-modal>
|
|
|
|
|
+ <ActionMock v-if="showActionMock" @closeModal="showActionMock = false" :action="actionData"/>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
import { defineComponent, reactive, ref, toRefs, computed, onMounted, watch } from 'vue';
|
|
import { defineComponent, reactive, ref, toRefs, computed, onMounted, watch } from 'vue';
|
|
|
import { getInterfaceDetail } from '/@/api/interface/interface.ts';
|
|
import { getInterfaceDetail } from '/@/api/interface/interface.ts';
|
|
|
|
|
+import ActionMock from './ActionMock.vue';
|
|
|
|
|
|
|
|
const props = {
|
|
const props = {
|
|
|
action: {
|
|
action: {
|
|
@@ -65,11 +78,11 @@ const props = {
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
name: 'assemblyDetail',
|
|
name: 'assemblyDetail',
|
|
|
- components: {},
|
|
|
|
|
|
|
+ components: {ActionMock},
|
|
|
props,
|
|
props,
|
|
|
setup(props) {
|
|
setup(props) {
|
|
|
//action数据,初始化时使用这个数据去组装需要的数据
|
|
//action数据,初始化时使用这个数据去组装需要的数据
|
|
|
- const data = ref(null)
|
|
|
|
|
|
|
+ const actionData = ref(null)
|
|
|
|
|
|
|
|
// 四类数据
|
|
// 四类数据
|
|
|
const baseData = ref(null)
|
|
const baseData = ref(null)
|
|
@@ -77,6 +90,9 @@ export default defineComponent({
|
|
|
const resData = ref(null)
|
|
const resData = ref(null)
|
|
|
const resExample = ref(null)
|
|
const resExample = ref(null)
|
|
|
|
|
|
|
|
|
|
+ const visible = ref(false)
|
|
|
|
|
+ const showActionMock = ref(false)
|
|
|
|
|
+
|
|
|
//请求参数表
|
|
//请求参数表
|
|
|
const reqColumns = [
|
|
const reqColumns = [
|
|
|
{
|
|
{
|
|
@@ -152,7 +168,7 @@ export default defineComponent({
|
|
|
)
|
|
)
|
|
|
const getActionData = (id) => {
|
|
const getActionData = (id) => {
|
|
|
getInterfaceDetail(id).then(res => {
|
|
getInterfaceDetail(id).then(res => {
|
|
|
- data.value = {
|
|
|
|
|
|
|
+ actionData.value = {
|
|
|
...res,
|
|
...res,
|
|
|
queryParams: JSON.parse(res.queryParams),
|
|
queryParams: JSON.parse(res.queryParams),
|
|
|
requestHeaders: JSON.parse(res.requestHeaders),
|
|
requestHeaders: JSON.parse(res.requestHeaders),
|
|
@@ -163,50 +179,69 @@ export default defineComponent({
|
|
|
baseData.value = [
|
|
baseData.value = [
|
|
|
{
|
|
{
|
|
|
label: '接口名称',
|
|
label: '接口名称',
|
|
|
- value: data.value.name || '',
|
|
|
|
|
|
|
+ value: actionData.value.name || '',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
label: '接口地址',
|
|
label: '接口地址',
|
|
|
- value: data.value.requestUrl || '',
|
|
|
|
|
|
|
+ value: actionData.value.requestUrl || '',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
label: '请求方式',
|
|
label: '请求方式',
|
|
|
- value: data.value.requestMethod ? data.value.requestMethod : '',
|
|
|
|
|
|
|
+ value: actionData.value.requestMethod ? actionData.value.requestMethod : '',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
label: '发布日期',
|
|
label: '发布日期',
|
|
|
- value: data.value.publishTime || '',
|
|
|
|
|
|
|
+ value: actionData.value.publishTime || '',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
label: '版本号',
|
|
label: '版本号',
|
|
|
- value: data.value.version || ''
|
|
|
|
|
|
|
+ value: actionData.value.version || ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
label: '接口描述',
|
|
label: '接口描述',
|
|
|
- value: data.value.remark || ''
|
|
|
|
|
|
|
+ value: actionData.value.remark || ''
|
|
|
},
|
|
},
|
|
|
]
|
|
]
|
|
|
- reqData.value = data.value.queryParams
|
|
|
|
|
- reqData.value.forEach((item,index)=>{
|
|
|
|
|
|
|
+ reqData.value = actionData.value.queryParams
|
|
|
|
|
+ reqData.value.unshift({
|
|
|
|
|
+ description:'令牌',
|
|
|
|
|
+ in:'header',
|
|
|
|
|
+ name:'Authorization',
|
|
|
|
|
+ required:false,
|
|
|
|
|
+ type:'string'
|
|
|
|
|
+ })
|
|
|
|
|
+ reqData.value.forEach((item, index) => {
|
|
|
item.key = index
|
|
item.key = index
|
|
|
})
|
|
})
|
|
|
- resData.value = data.value.responseParams
|
|
|
|
|
- resData.value.forEach((item,index)=>{
|
|
|
|
|
|
|
+ resData.value = actionData.value.responseParams
|
|
|
|
|
+ resData.value.forEach((item, index) => {
|
|
|
item.key = index
|
|
item.key = index
|
|
|
})
|
|
})
|
|
|
- resExample.value = data.value.successRespExample
|
|
|
|
|
- console.log(data.value);
|
|
|
|
|
|
|
+ resExample.value = actionData.value.successRespExample
|
|
|
|
|
+ console.log(actionData.value);
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
+ const openActionRemark = () => {
|
|
|
|
|
+ visible.value = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ const openActionMock = ()=>{
|
|
|
|
|
+ showActionMock.value = true
|
|
|
|
|
+ }
|
|
|
return {
|
|
return {
|
|
|
- data,
|
|
|
|
|
|
|
+ actionData,
|
|
|
baseData,
|
|
baseData,
|
|
|
reqData,
|
|
reqData,
|
|
|
resData,
|
|
resData,
|
|
|
resExample,
|
|
resExample,
|
|
|
|
|
|
|
|
reqColumns,
|
|
reqColumns,
|
|
|
- resColumns
|
|
|
|
|
|
|
+ resColumns,
|
|
|
|
|
+
|
|
|
|
|
+ visible,
|
|
|
|
|
+ showActionMock,
|
|
|
|
|
+
|
|
|
|
|
+ openActionRemark,
|
|
|
|
|
+ openActionMock
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|
|
@@ -243,6 +278,8 @@ export default defineComponent({
|
|
|
background-color: #66b1ff;
|
|
background-color: #66b1ff;
|
|
|
color: #fff;
|
|
color: #fff;
|
|
|
margin-right: 10px;
|
|
margin-right: 10px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ user-select: none;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|