消息
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
<template>
|
||||
<div
|
||||
v-if="isCallMessage && conversationType === TYPES.CONV_GROUP"
|
||||
:class="{ 'blink-text': isBlink }"
|
||||
>
|
||||
{{ custom }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { computed } from '../../../adapter-vue';
|
||||
import TUIChatEngine, { IMessageModel } from '@tencentcloud/chat-uikit-engine';
|
||||
|
||||
interface IProps {
|
||||
message: IMessageModel;
|
||||
signalingInfo: any;
|
||||
customContent: any;
|
||||
blinkMessageIDList?: string[];
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<IProps>(), {
|
||||
message: () => ({}) as IMessageModel,
|
||||
signalingInfo: () => ({}),
|
||||
customContent: () => ({}),
|
||||
blinkMessageIDList: () => [],
|
||||
});
|
||||
|
||||
const TYPES = TUIChatEngine.TYPES;
|
||||
const isCallMessage = computed(() => !!props.signalingInfo);
|
||||
const conversationType = computed(() => props.message?.conversationType);
|
||||
const custom = computed(() => props.customContent?.custom);
|
||||
|
||||
const isBlink = computed(() => {
|
||||
if (props.message?.ID) {
|
||||
return props.blinkMessageIDList?.includes(props.message.ID);
|
||||
}
|
||||
return false;
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@keyframes blink-text {
|
||||
50% {
|
||||
color: #ff9c19;
|
||||
}
|
||||
}
|
||||
|
||||
.blink-text {
|
||||
animation: blinkText 1s linear 3;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user