<template>
|
<app-dialog-form
|
v-bind="dialogFormProps"
|
>
|
<app-layout-row v-loading="appStore.getLoading('getEntity') || appStore.getLoading('download')">
|
|
<app-layout-col :span="24" :padding-top="10" v-for=" item in form.params">
|
<app-collapse-form :title="item.title">
|
<app-layout-col :span="24" :padding-left="3" :padding-right="3">
|
<app-view-json :value="item.data" copyable boxed sort v-if="item.data !== ''"/>
|
<el-text v-if="item.data === ''">接口无信息</el-text>
|
</app-layout-col>
|
</app-collapse-form>
|
</app-layout-col>
|
|
</app-layout-row>
|
</app-dialog-form>
|
</template>
|
|
<script setup>
|
|
import {useI18n} from 'vue-i18n';
|
|
const {t} = useI18n();
|
|
import {useEntityStore, useAppStore} from '@/store/modules/index.js';
|
import * as baseApi from "@/api/index.js";
|
|
const entityStore = useEntityStore();
|
const appStore = useAppStore();
|
|
const dialogFormRef = ref();
|
|
const value = ref();
|
|
const form = reactive({
|
params: [
|
{
|
title: '参数信息',
|
fileId: '',
|
data: ''
|
},
|
{
|
title: '请求信息',
|
fileId: '',
|
data: ''
|
},
|
{
|
title: '响应信息',
|
fileId: '',
|
data: ''
|
}
|
]
|
})
|
|
const dialogFormProps = {
|
width: 1000,
|
title: t('common.dialog.title.view'),
|
ref: dialogFormRef,
|
footerDom: false
|
};
|
const onOpen = async (row) => {
|
dialogFormRef.value.onOpen();
|
|
const {param_file_id, req_file_id, rsp_file_id} = row;
|
|
form.params[0].fileId = param_file_id;
|
|
form.params[1].fileId = req_file_id;
|
|
form.params[2].fileId = rsp_file_id;
|
|
const [param, req, rsp] = await Promise.all(form.params.map(({fileId}) => baseApi.file.getFileText(fileId)));
|
|
try {
|
form.params[0].data = JSON.parse(param);
|
} catch (err) {
|
form.params[0].data = param;
|
}
|
|
try {
|
form.params[1].data = JSON.parse(req);
|
} catch (err) {
|
form.params[1].data = req;
|
}
|
|
|
try {
|
form.params[2].data = JSON.parse(rsp);
|
} catch (err) {
|
form.params[2].data = rsp;
|
}
|
|
}
|
|
defineExpose({
|
onOpen,
|
});
|
|
</script>
|