From e6435d33a5f6586dc8a9175b64d7d566f565a5a3 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 29 九月 2025 16:38:38 +0800 Subject: [PATCH] feat: 日志 --- src/views/TraceIdLogManage/components/ResourceLogsView.vue | 109 ++++++++++++++++++++---------------------------------- 1 files changed, 41 insertions(+), 68 deletions(-) diff --git a/src/views/TraceIdLogManage/components/ResourceLogsView.vue b/src/views/TraceIdLogManage/components/ResourceLogsView.vue index b2e24ff..530c536 100644 --- a/src/views/TraceIdLogManage/components/ResourceLogsView.vue +++ b/src/views/TraceIdLogManage/components/ResourceLogsView.vue @@ -1,66 +1,4 @@ <template> - <!-- <el-collapse v-model="activeName" accordion> - <el-collapse-item - v-for="item in resourceLogs" - :key="item.id" - name="1" - style="overflow: auto; max-height: 600px" - > - <template #title> - <el-button type="primary" @click="resend(item.id)" link>閲嶆柊鍙戦��</el-button> - </template> - <ProForm :model="item" is-read style="padding: 0 20px"> - <ProFormItemV2 label="method:"> - {{ EnumResourceMethodText[item.method] }} - </ProFormItemV2> - <ProFormItemV2 label="domain:">{{ item.domain }} </ProFormItemV2> - <ProFormItemV2 label="path:"> {{ item.path }}</ProFormItemV2> - <ProFormItemV2 label="requestHeaders:" label-position="top"> - <json-viewer - :copyable="true" - :boxed="true" - :value="JSON.parse(item.requestHeaders)" - ></json-viewer> - </ProFormItemV2> - <ProFormItemV2 label="request:" label-position="top"> - <json-viewer - :copyable="true" - :boxed="true" - :value="JSON.parse(item.request)" - ></json-viewer> - </ProFormItemV2> - <ProFormItemV2 label="responseHeaders:" label-position="top"> - <json-viewer - :copyable="true" - :boxed="true" - :value="JSON.parse(item.responseHeaders)" - ></json-viewer> - </ProFormItemV2> - <ProFormItemV2 label="response:" label-position="top"> - <json-viewer - :copyable="true" - :boxed="true" - :value="JSON.parse(item.response)" - ></json-viewer> - </ProFormItemV2> - <ProFormItemV2 label="isSuccess:"> {{ item.isSuccess ? '鏄�' : '鍚�' }}</ProFormItemV2> - <ProFormItemV2 label="clientIpAddress:"> {{ item.clientIpAddress }}</ProFormItemV2> - <ProFormItemV2 label="refererUrl:"> {{ item.refererUrl }}</ProFormItemV2> - <ProFormItemV2 label="consoleLogs:"> {{ item.consoleLogs }}</ProFormItemV2> - <ProFormItemV2 label="elapsedMilliseconds:"> {{ item.elapsedMilliseconds }}</ProFormItemV2> - <ProFormItemV2 label="createdUser:"> - <json-viewer - :copyable="true" - :boxed="true" - :value="JSON.parse(JSON.stringify(item.createdUser))" - ></json-viewer> - </ProFormItemV2> - <ProFormItemV2 label="createdTime:"> - {{ format(item.createdTime, 'YYYY-MM-DD HH:mm:ss') }}</ProFormItemV2 - > - </ProForm> - </el-collapse-item> - </el-collapse> --> <AppContainer> <ProTableV2 :columns="columns" @@ -70,22 +8,34 @@ :column-render-map="columnsRenderProps" > <template #requestHeaders="{ row }"> - <el-button type="primary" link @click="handleAdd({ json: JSON.parse(row.requestHeaders) })" + <el-button + type="primary" + link + @click="handleAdd({ json: { requestHeaders: JSON.parse(row.requestHeaders) } })" >鏌ョ湅</el-button > </template> <template #request="{ row }"> - <el-button type="primary" link @click="handleAdd({ json: JSON.parse(row.request) })" + <el-button + type="primary" + link + @click="handleAdd({ json: { request: JSON.parse(row.request) } })" >鏌ョ湅</el-button > </template> <template #responseHeaders="{ row }"> - <el-button type="primary" link @click="handleAdd({ json: JSON.parse(row.responseHeaders) })" + <el-button + type="primary" + link + @click="handleAdd({ json: { responseHeaders: JSON.parse(row.responseHeaders) } })" >鏌ョ湅</el-button > </template> <template #response="{ row }"> - <el-button type="primary" link @click="handleAdd({ json: JSON.parse(row.response) })" + <el-button + type="primary" + link + @click="handleAdd({ json: { response: JSON.parse(row.response) } })" >鏌ョ湅</el-button > </template> @@ -93,7 +43,7 @@ <el-button type="primary" link - @click="handleAdd({ json: JSON.parse(JSON.stringify(row.createdUser)) })" + @click="handleAdd({ json: { createdUser: row.createdUser } })" >鏌ョ湅</el-button > </template> @@ -115,6 +65,7 @@ import * as logRecordsServices from '@/services/api/logRecords'; import { Message } from '@bole-core/core'; import JsonViewerDialog from './JsonViewerDialog.vue'; +import { request } from 'http'; defineOptions({ name: 'ResourceLogsView', @@ -148,11 +99,20 @@ id: index + '', enCode: x, name: x, - width: 160, + width: 170, })) ); const operationBtns = defineOperationBtns([ + { + data: { + enCode: 'detailBtn', + name: '鏌ョ湅', + }, + emits: { + onClick: (role) => openDialog(role), + }, + }, { data: { enCode: 'reSendBtn', @@ -185,9 +145,22 @@ let res = await logRecordsServices.resendResource({ id: id }); if (res) { Message.successMessage('鎿嶄綔鎴愬姛'); + handleAdd({ json: JSON.parse(res) }); } } catch (error) {} } + +function openDialog(row: API.GetResourceLogsQueryResultItem) { + handleAdd({ + json: { + requestHeaders: JSON.parse(row.requestHeaders), + request: JSON.parse(row.request), + responseHeaders: JSON.parse(row.responseHeaders), + response: JSON.parse(row.response), + createdUser: row.createdUser, + }, + }); +} </script> <style lang="scss" scoped> -- Gitblit v1.9.1