import { defineComponent } from "vue"; import { ElTag } from "element-plus"; // import VirtualList from 'vue-virtual-list-v3'; // import VirtualList from 'vue3-virtual-list' import { RecycleScroller } from 'vue-virtual-scroller' import styles from './index.module.less' import event, { LIVE_EVENT_MESSAGE } from '/src/components/live-broadcast/event'; import { state } from '/src/state' import dayjs from 'dayjs'; import Empty from "/src/components/empty"; export default defineComponent({ props: { data: { type: Array, default: () => ([]) } }, data() { return { messageList: [] as any[], // 回复学生列表 loadingMessage: false, // 观看列表状态 } }, mounted() { this.loadingMessage = true event.on(LIVE_EVENT_MESSAGE["RC:TxtMsg"], this.onMessage); setTimeout(() => { this.loadingMessage = false; }, 2000); }, beforeUnmount() { event.off(LIVE_EVENT_MESSAGE["RC:TxtMsg"], this.onMessage); }, methods: { onMessage(value: any) { if (value && value.user) { console.log(state.user) console.log(value) const sendTime = dayjs(value.$EventMessage.sentTime || new Date()).format('HH:mm:ss') let tempObj = { name: value.user?.name, id: value.user.id, isSelf: false, content: value.content, sendTime } // 判断是否是主播 if (value.user.id === state.user.id) { tempObj.isSelf = true } this.messageList.push(tempObj); this.loadingMessage = false } console.log(this.messageList) } }, render() { return ( // //
showInfo
//
// // // // // //
{this.messageList.length > 0 ? this.messageList.map((item : any) => (
{/* */}

{item.name} {item.isSelf ? 主播 : null}

{ item.sendTime }

{ item.content }
)) : this.loadingMessage ?
: }
) } }) function source(source: any) { throw new Error("Function not implemented."); }