字段变更详情(共 {{ changesList.length }} 处变更)
@@ -131,10 +137,10 @@
-
+
- 数据删除快照
+ 删除前的数据快照
-
+
-
-
+
+
原始数据
@@ -220,16 +226,36 @@ const currentLog = ref
({})
// 详情解析逻辑
// ============================================================
-// 解析 detail type
-const detailType = computed(() => {
+// 辅助函数:判断 details 是否有可显示内容
+const hasDetailContent = (details: any): boolean => {
+ if (!details || typeof details !== 'object') return false
+ if (Object.keys(details).length === 0) return false
+ return !!(
+ details.changes ||
+ details.deleted_snapshot ||
+ details.created ||
+ details.payload
+ )
+}
+
+// 判断是否存在各高级结构
+const hasChanges = computed(() => {
const details = currentLog.value.details
- if (!details) return 'raw'
+ return !!(details?.changes && typeof details.changes === 'object')
+})
- if (details.changes && typeof details.changes === 'object') return 'changes'
- if (details.deleted_snapshot && typeof details.deleted_snapshot === 'object') return 'deleted_snapshot'
- if (details.created && typeof details.created === 'object') return 'created'
+const hasDeletedSnapshot = computed(() => {
+ const details = currentLog.value.details
+ return !!(details?.deleted_snapshot && typeof details.deleted_snapshot === 'object')
+})
- return 'raw'
+const hasCreated = computed(() => {
+ const details = currentLog.value.details
+ return !!(details?.created && typeof details.created === 'object')
+})
+
+const showRawJson = computed(() => {
+ return !hasChanges.value && !hasDeletedSnapshot.value && !hasCreated.value
})
// 解析 changes 为表格数据