<script setup> import { formatTime } from '@/utils/datetime' defineProps({ login_uid: { type: Number, default: 0, }, user_id: { type: Number, default: 0, }, talk_type: { type: Number, default: 0, }, nickname: { type: String, default: '', }, datetime: { type: String, default: '', }, msg_id: { type: String, default: '', }, revokeInfo: { type: Object, default() { return {} }, }, extra:{ type: String, default: '', } }) </script> <template> <div class="im-message-revoke"> <div class="content" v-if="JSON.stringify(revokeInfo) !== '{}'"> <span v-if="talk_type === 1 && login_uid === revokeInfo.withdraw_id"> 你撤回了一条消息 | {{ formatTime(datetime) }} <slot></slot> <!-- 添加插槽用于放置重新编辑按钮 --> </span> <span v-if="talk_type === 1 && login_uid !== revokeInfo.withdraw_id"> {{revokeInfo.withdraw_name}}撤回了一条消息 | {{ formatTime(datetime) }} </span> <span v-if="talk_type === 2 && login_uid === revokeInfo.withdraw_id && login_uid === revokeInfo.retracted_id"> 你撤回了一条消息 | {{ formatTime(datetime) }} <slot></slot> </span> <span v-if="talk_type === 2 && login_uid === revokeInfo.withdraw_id && login_uid !== revokeInfo.retracted_id"> 你撤回了{{revokeInfo.retracted_name}}一条消息 | {{ formatTime(datetime) }} </span> <span v-if="talk_type === 2 && login_uid !== revokeInfo.withdraw_id && revokeInfo.withdraw_id === revokeInfo.retracted_id"> {{revokeInfo.withdraw_name}}撤回了一条消息 | {{ formatTime(datetime) }} </span> <span v-if="talk_type === 2 && login_uid !== revokeInfo.withdraw_id && login_uid === revokeInfo.retracted_id && revokeInfo.withdraw_id !== revokeInfo.retracted_id"> {{revokeInfo.withdraw_name}}撤回了你一条消息 | {{ formatTime(datetime) }} </span> <span v-if="talk_type === 2 && login_uid !== revokeInfo.withdraw_id && login_uid !== revokeInfo.retracted_id && revokeInfo.withdraw_id !== revokeInfo.retracted_id"> {{revokeInfo.withdraw_name}}撤回了{{revokeInfo.retracted_name}}一条消息 | {{ formatTime(datetime) }} </span> <!-- <span v-if="login_uid == user_idA"> 你撤回B了一条消息 | {{ formatTime(datetime) }} </span> <span v-else-if="login_uid == user_idB"> A撤回你了一条消息 | {{ formatTime(datetime) }} </span> <span v-else> A撤回B了一条消息 | {{ formatTime(datetime) }} </span> --> </div> <div class="content" v-if="JSON.stringify(revokeInfo) === '{}'"> <span v-if="talk_type === 1 && login_uid === user_id"> 你撤回了一条消息 | {{ formatTime(datetime) }} <slot></slot> <!-- 添加插槽用于放置重新编辑按钮 --> </span> <span v-if="talk_type === 1 && login_uid !== user_id"> {{nickname}}撤回了一条消息 | {{ formatTime(datetime) }} </span> <span v-if="talk_type === 2 && !extra && login_uid === user_id"> 你撤回了一条消息 | {{ formatTime(datetime) }} <slot></slot> <!-- 添加插槽用于放置重新编辑按钮 --> </span> <span v-if="talk_type === 2 && !extra && login_uid !== user_id"> {{nickname}}撤回了一条消息 | {{ formatTime(datetime) }} </span> <span v-if="talk_type === 2 && extra"> {{extra}} | {{ formatTime(datetime) }} </span> </div> </div> </template> <style lang="less" scoped> .im-message-revoke { display: flex; justify-content: center; .content { margin: 10px auto; background-color: #f5f5f5; font-size: 11px; line-height: 30px; padding: 0 8px; word-break: break-all; word-wrap: break-word; color: #979191; user-select: none; font-weight: 300; display: inline-block; border-radius: 3px; span { margin: 0 5px; } } } html[theme-mode='dark'] { .im-message-revoke { .content { background: unset; } } } </style>