From 089bf5d2378b3c4a61d795b2a92bede2c193b771 Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Tue, 06 Jan 2026 11:22:58 +0800
Subject: [PATCH] 1

---
 src/components/chat/TalkForwardRecord.vue |  140 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 140 insertions(+), 0 deletions(-)

diff --git a/src/components/chat/TalkForwardRecord.vue b/src/components/chat/TalkForwardRecord.vue
new file mode 100644
index 0000000..669ec59
--- /dev/null
+++ b/src/components/chat/TalkForwardRecord.vue
@@ -0,0 +1,140 @@
+<template>
+  <div class="lum-dialog-mask" v-show="isShow">
+    <el-container class="lum-dialog-box">
+      <el-header class="no-padding header" height="60px">
+        <p>会话记录 ({{ records.length }})</p>
+        <p class="tools">
+          <i class="el-icon-close" @click="close" />
+        </p>
+      </el-header>
+      <el-main class="no-padding main" v-loading="loading">
+        <el-scrollbar class="full-height" tag="section" :native="false">
+          <div v-for="record in records" :key="record.id" class="message-group">
+            <div class="left-box">
+              <el-avatar
+                fit="contain"
+                shape="square"
+                :size="30"
+                :src="record.avatar"
+              />
+            </div>
+
+            <div class="right-box">
+              <div class="msg-header">
+                <span class="name">
+                  {{
+                    record.nickname_remarks
+                      ? record.nickname_remarks
+                      : record.nickname
+                  }}
+                </span>
+                <el-divider direction="vertical" />
+                <span class="time">{{ record.created_at }}</span>
+              </div>
+
+              <!-- 文本消息 -->
+              <text-message
+                v-if="record.msg_type == 1"
+                :content="record.content"
+              />
+
+              <!-- 文件 - 图片消息 -->
+              <image-message
+                v-else-if="record.msg_type == 2 && record.file.type == 1"
+                :src="record.file.url"
+              />
+
+              <!-- 文件 - 音频消息 -->
+              <audio-message
+                v-else-if="record.msg_type == 2 && record.file.type == 2"
+                :src="record.file.url"
+              />
+
+              <!-- 文件 - 视频消息 -->
+              <video-message
+                v-else-if="record.msg_type == 2 && record.file.type == 3"
+                :src="record.file.url"
+              />
+
+              <!-- 文件 - 其它格式文件 -->
+              <file-message
+                v-else-if="record.msg_type == 2 && record.file.file_type == 4"
+                :file="record.file"
+                :record_id="record.id"
+              />
+
+              <!-- 代码块消息 -->
+              <code-message
+                v-else-if="record.msg_type == 4"
+                :code="record.code_block.code"
+                :lang="record.code_block.lang"
+              />
+
+              <div v-else class="other-message">未知消息类型</div>
+            </div>
+          </div>
+        </el-scrollbar>
+      </el-main>
+    </el-container>
+  </div>
+</template>
+<script>
+import { ServeGetForwardRecords } from '@/api/chat'
+
+export default {
+  name: 'TalkForwardRecord',
+  data() {
+    return {
+      record_id: 0,
+      records: [],
+      loading: false,
+      isShow: false,
+    }
+  },
+  methods: {
+    open(record_id) {
+      if (record_id !== this.record_id) {
+        this.record_id = record_id
+        this.records = []
+        this.loadRecords()
+      }
+
+      this.isShow = true
+    },
+    close() {
+      this.isShow = false
+    },
+    loadRecords() {
+      this.loading = true
+      ServeGetForwardRecords({
+        record_id: this.record_id,
+      })
+        .then(res => {
+          if (res.code == 200) {
+            this.records = res.data.rows
+          }
+        })
+        .finally(() => {
+          this.loading = false
+        })
+    },
+  },
+}
+</script>
+<style lang="less" scoped>
+.lum-dialog-mask {
+  z-index: 99999;
+}
+
+.lum-dialog-box {
+  width: 500px;
+  max-width: 500px;
+  height: 600px;
+}
+
+/deep/.el-scrollbar__wrap {
+  overflow-x: hidden;
+}
+
+@import '~@/assets/css/talk/talk-records.less';
+</style>

--
Gitblit v1.9.3