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