需要添加直播接口
This commit is contained in:
58
uni_modules/tuikit-atomic-x/state/LiveSummaryState.ts
Normal file
58
uni_modules/tuikit-atomic-x/state/LiveSummaryState.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
* @module LiveSummaryState
|
||||
* @module_description
|
||||
* 统计信息状态管理模块
|
||||
* 核心功能:统计和展示直播过程中的关键数据,包括观看人数、点赞数、礼物数等实时统计。
|
||||
* 技术特点:支持实时数据采集、数据聚合、统计分析等功能,提供完整的直播数据视图。
|
||||
* 业务价值:为直播平台提供数据分析能力,支持直播效果评估和优化改进。
|
||||
* 应用场景:直播数据展示、主播分析、流量统计、商业数据报表等数据分析场景。
|
||||
*/
|
||||
import { ref } from "vue";
|
||||
import { getRTCRoomEngineManager } from "./rtcRoomEngine";
|
||||
|
||||
/**
|
||||
* 直播间统计信息
|
||||
* @type {Ref<any>}
|
||||
* @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<any>();
|
||||
|
||||
const onLiveSummaryStoreChanged = (eventName : string, res : string) : void => {
|
||||
try {
|
||||
if (eventName === "summaryData") {
|
||||
const data = JSON.parse(res);
|
||||
summaryData.value = data;
|
||||
}
|
||||
} 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;
|
||||
Reference in New Issue
Block a user