/** * @module LiveSummaryState * @module_description * 统计信息状态管理模块 * 核心功能:统计和展示直播过程中的关键数据,包括观看人数、点赞数、礼物数等实时统计。 * 技术特点:支持实时数据采集、数据聚合、统计分析等功能,提供完整的直播数据视图。 * 业务价值:为直播平台提供数据分析能力,支持直播效果评估和优化改进。 * 应用场景:直播数据展示、主播分析、流量统计、商业数据报表等数据分析场景。 */ import { ref } from "vue"; import { getRTCRoomEngineManager } from "./rtcRoomEngine"; /** * 直播间统计信息 * @type {Ref} * @memberof module:LiveSummaryState * @example * import { useLiveSummaryState } from '@/uni_modules/tuikit-atomic-x/state/LiveSummaryState'; * const { summaryData } = useLiveSummaryState('your_live_id'); * * // 监听统计数据变化 * watch(summaryData, (newData) => { * if (newData) { * console.log('直播统计数据更新:', newData); * } * }); * * // 获取当前统计数据 * const data = summaryData.value; * if (data) { * console.log('当前直播统计数据:', data); * } */ const summaryData = ref(); const onLiveSummaryStoreChanged = (eventName : string, res : string) : void => { try { if (eventName === "summaryData") { const data = JSON.parse(res); summaryData.value = data; console.log("直播统计数据更新", summaryData.value) } } catch (error) { console.error("onLiveSummaryStoreChanged error:", error); } }; function bindEvent(liveID : string) : void { getRTCRoomEngineManager().on("liveSummaryStoreChanged", onLiveSummaryStoreChanged, liveID); } export function useLiveSummaryState(liveID : string) { bindEvent(liveID); return { summaryData, // 直播间统计信息 }; } export default useLiveSummaryState;