From 2cb735ef481569aea4a077fa150e33d17052f6ba Mon Sep 17 00:00:00 2001 From: TanYibin <5491541@qq.com> Date: Mon, 17 Jul 2023 17:12:09 +0800 Subject: [PATCH] 接口日志增加内容复制按钮 --- ant-design-vue-jeecg/src/views/system/monitor/ApiLogList.vue | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/ant-design-vue-jeecg/src/views/system/monitor/ApiLogList.vue b/ant-design-vue-jeecg/src/views/system/monitor/ApiLogList.vue index e1a53c9..e48044e 100644 --- a/ant-design-vue-jeecg/src/views/system/monitor/ApiLogList.vue +++ b/ant-design-vue-jeecg/src/views/system/monitor/ApiLogList.vue @@ -103,19 +103,23 @@ <template :slot="expandedRowRender" slot-scope="record"> <div style="margin: 0"> <div> - <a-badge status="default" style="vertical-align: text-bottom;"/> + <a-badge status="default" style="vertical-align: revert;" /> + <a-button @click="copyToClipboard(record.requestHeader)" type="link" icon="copy" style="vertical-align: revert;"></a-button> <span style="vertical-align: left;word-break:break-all;white-space:pre-wrap;overflow:hidden;color:#b3b3b3;">请求头:{{ record.requestHeader }}</span> </div> <div> - <a-badge status="success" style="vertical-align: text-bottom;"/> - <span style="vertical-align: text-bottom;word-break:break-all;white-space:pre-wrap;overflow:hidden;color:saddlebrown;">请求内容:{{ record.requestBody }}</span> + <a-badge status="success" style="vertical-align: middle;" /> + <a-button @click="copyToClipboard(record.requestBody)" type="link" icon="copy" style="vertical-align: middle;"></a-button> + <span style="vertical-align: middle; word-break: break-all; white-space: pre-wrap; overflow: hidden; color: saddlebrown;">请求内容:{{ record.requestBody }}</span> </div> <div> - <a-badge status="processing" style="vertical-align: text-bottom;"/> + <a-badge status="processing" style="vertical-align: revert;" /> + <a-button @click="copyToClipboard(record.responseBody)" type="link" icon="copy" style="vertical-align: revert;"></a-button> <span style="vertical-align: text-bottom;word-break:break-all;white-space:pre-wrap;overflow:hidden;color:#0066CC;">响应内容:{{ record.responseBody }}</span> </div> - <div v-if="record.exception"> - <a-badge status="error" style="vertical-align: text-bottom;"/> + <div v-if="record.exception" > + <a-badge status="error" style="vertical-align: revert;" /> + <a-button @click="copyToClipboard(record.exception)" type="link" icon="copy" style="vertical-align: revert;"></a-button> <span style="vertical-align: text-bottom;word-break:break-all;white-space:pre-wrap;overflow:hidden;color:red">异常堆栈信息:{{ record.exception }}</span> </div> </div> @@ -138,6 +142,7 @@ import { JeecgListMixin } from '@/mixins/JeecgListMixin' import ApiLogModal from './modules/ApiLogModal' import JEllipsis from '@comp/jeecg/JEllipsis' import {getApiNameList} from '@api/api' +import ClipboardJS from 'clipboard' export default { name: 'ApiLogList', @@ -240,6 +245,23 @@ export default { } }) }, + copyToClipboard(content) { + const clipboard = new ClipboardJS('.copy-button', { + text: () => content + }); + + clipboard.on('success', () => { + clipboard.destroy(); + this.$message.success('已复制到剪贴板'); + }); + + clipboard.on('error', () => { + clipboard.destroy(); + this.$message.error('复制失败'); + }); + + clipboard.onClick(event); // 添加这一行来触发点击事件 + }, initDictConfig() {}, getSuperFieldList() { let fieldList = [] -- libgit2 0.22.2