atomicx-core sdk API 文档
atomicx-core sdk
atomicx-core sdk 是腾讯云最新推出的面向即时通信、音视频通话、视频直播、语聊房等场景的全新一代基于响应式的 API,您可以非常快速的在基于这组 API 构建自己的 UI 页面,它支持房间管理、屏幕分享、成员管理、麦位控制、基础美颜等丰富功能,同时基于 TRTC SDK,能够提供超低延时、高品质的音视频体验,本页面包含 atomicx-core sdk 的所有API接口,按功能模块分类展示。
LoginState
用户身份认证与登录管理模块
核心功能:负责用户身份验证、登录状态管理、用户信息维护等基础认证服务。
技术特点:支持多种认证方式、会话管理、权限验证等高级功能,确保用户身份的安全和有效。
业务价值:为直播平台提供基础的用户认证能力,是所有其他业务模块的前置条件。
应用场景:用户登录、身份验证、会话管理、权限控制等基础认证场景。
核心功能:负责用户身份验证、登录状态管理、用户信息维护等基础认证服务。
技术特点:支持多种认证方式、会话管理、权限验证等高级功能,确保用户身份的安全和有效。
业务价值:为直播平台提供基础的用户认证能力,是所有其他业务模块的前置条件。
应用场景:用户登录、身份验证、会话管理、权限控制等基础认证场景。
响应式数据
loginUserInfo
const loginUserInfo: Ref
当前登录用户信息
类型:
Ref
示例
import { useLoginState } from '@/uni_modules/tuikit-atomic-x/state/LoginState';
const { loginUserInfo } = useLoginState();
// 监听用户信息变化
watch(loginUserInfo, (newUserInfo) => {
if (newUserInfo) {
console.log('用户信息更新:', newUserInfo);
console.log('用户ID:', newUserInfo.userID);
console.log('用户昵称:', newUserInfo.nickname);
console.log('用户头像:', newUserInfo.avatarURL);
}
});
// 获取当前用户信息
const currentUser = loginUserInfo.value;
if (currentUser) {
console.log('当前登录用户:', currentUser.nickname);
}
loginStatus
const loginStatus: Ref
当前登录状态
类型:
Ref
示例
import { useLoginState } from '@/uni_modules/tuikit-atomic-x/state/LoginState';
const { loginStatus } = useLoginState();
// 监听登录状态变化
watch(loginStatus, (newStatus) => {
if (newStatus) {
console.log('登录状态更新:', newStatus);
}
});
// 获取当前登录状态
const status = loginStatus.value;
console.log('当前登录状态:', status);
接口函数
login
function login(params: LoginOptions)
登录方法
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | LoginOptions | 登录参数 |
示例
import { useLoginState } from '@/uni_modules/tuikit-atomic-x/state/LoginState';
const { login } = useLoginState();
login({
sdkAppID: 1400000000,
userID: 'user123',
userSig: 'eJx1kF1PwzAMhv9KlG...',
success: () => console.log('登录成功'),
fail: (code, message) => console.error('登录失败:', code, message)
});
logout
function logout(params?: LogoutOptions)
登出方法
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | LogoutOptions | 登出参数(可选) |
示例
import { useLoginState } from '@/uni_modules/tuikit-atomic-x/state/LoginState';
const { logout } = useLoginState();
logout({
success: () => console.log('登出成功'),
fail: (code, message) => console.error('登出失败:', code, message)
});
setSelfInfo
function setSelfInfo(params: SetSelfInfoOptions)
设置用户信息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userInfo | SetSelfInfoOptions | 用户信息 |
示例
import { useLoginState } from '@/uni_modules/tuikit-atomic-x/state/LoginState';
const { setSelfInfo } = useLoginState();
setSelfInfo({
userProfile: {
userID: 'user123',
nickname: '张三',
avatarURL: 'https://example.com/avatar.jpg',
},
success: () => console.log('用户信息设置成功'),
fail: (code, message) => console.error('用户信息设置失败:', code, message)
});
LiveListState
直播列表状态管理模块
核心功能:管理直播间列表的获取、刷新、分页加载等操作,提供直播间创建、销毁、状态查询等基础服务。
技术特点:支持直播列表分页加载、实时状态同步、多端数据一致性保证等高级功能。
业务价值:为直播平台提供直播间发现和管理的核心入口,是所有直播业务的基础。
应用场景:直播列表展示、直播间创建与管理、直播状态查询、用户信息管理等核心场景。
核心功能:管理直播间列表的获取、刷新、分页加载等操作,提供直播间创建、销毁、状态查询等基础服务。
技术特点:支持直播列表分页加载、实时状态同步、多端数据一致性保证等高级功能。
业务价值:为直播平台提供直播间发现和管理的核心入口,是所有直播业务的基础。
应用场景:直播列表展示、直播间创建与管理、直播状态查询、用户信息管理等核心场景。
响应式数据
liveList
const liveList: Ref
直播列表数据
类型:
Ref
liveListCursor
const liveListCursor: Ref
直播列表游标,用于分页加载
类型:
Ref
currentLive
const currentLive: Ref
当前直播信息
类型:
Ref
接口函数
fetchLiveList
function fetchLiveList(params: FetchLiveListOptions)
获取直播列表
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | FetchLiveListOptions | 获取参数 |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { fetchLiveList } = useLiveState();
fetchLiveList({ cursor: "", count: 20 });
createLive
function createLive(params: CreateLiveOptions)
创建直播
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CreateLiveOptions | 创建参数 |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { createLive } = useLiveState();
createLive({ liveID: 'xxx', coverUrl: 'https://example.com/cover.jpg'});
joinLive
function joinLive(params: JoinLiveOptions)
加入直播
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | JoinLiveOptions | 加入参数 |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { joinLive } = useLiveState();
joinLive({ liveID: 'host_live_id' });
leaveLive
function leaveLive(params?: LeaveLiveOptions)
离开直播
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | LeaveLiveOptions | 离开参数(可选) |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { leaveLive } = useLiveState();
leaveLive();
endLive
function endLive(params?: EndLiveOptions)
结束直播
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | EndLiveOptions | 结束参数(可选) |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { endLive } = useLiveState();
endLive();
updateLiveInfo
function updateLiveInfo(params: UpdateLiveInfoOptions)
更新直播信息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UpdateLiveInfoOptions | 更新参数 |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { updateLiveInfo } = useLiveState();
updateLiveInfo({ liveID: 'your_live_id', title: 'new title' });
updateLiveMetaData
function updateLiveMetaData(params: UpdateLiveMetaDataOptions)
更新直播元数据
- 只有管理员或房主可以调用此接口。
- 元数据更新后,房间内所有用户都会收到 {currentLive.meta} 数据更新。
- 键长度不能超过 50 字节,值长度不超过 200 字节。
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UpdateLiveMetaDataOptions | 更新参数 |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { updateLiveMetaData } = useLiveState();
updateLiveMetaData({ metaData: JSON.stringify({ key: 'value' }) });
addLiveListListener
function addLiveListListener(eventName: string, listener: ListenerCallback)
添加直播列表事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onLiveEnded'(直播结束) 'onKickedOutOfLive'(被踢出直播间) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { addLiveListListener } = useLiveState();
addLiveListListener('onLiveEnded', (eventData) => {
console.log('eventData:', eventData);
});
removeLiveListListener
function removeLiveListListener(eventName: string, listener: ListenerCallback)
移除直播列表事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onLiveEnded'(直播结束) 'onKickedOutOfLive'(被踢出直播间) |
| listener | (eventData: string) => void | 事件监听器函数,需要传入添加时相同的函数引用 |
示例
import { useLiveState } from '@/uni_modules/tuikit-atomic-x/state/LiveListState';
const { addLiveListListener, removeLiveListListener } = useLiveState();
const onLiveEnded = (eventData) => {
console.log('eventData:', eventData);
};
addLiveListListener('onLiveEnded', onLiveEnded);
// 移除监听时传入相同的函数引用
removeLiveListListener('onLiveEnded', onLiveEnded);
LiveSeatState
直播间麦位管理模块
核心功能:实现多人连麦场景下的座位控制,支持复杂的座位状态管理和音视频设备控制。
技术特点:基于音视频技术,支持多路音视频流管理,提供座位锁定、设备控制、权限管理等高级功能。
业务价值:为多人互动直播提供核心技术支撑,支持PK、连麦、多人游戏等丰富的互动场景。
应用场景:多人连麦、主播PK、互动游戏、在线教育、会议直播等需要多人音视频互动的场景。
核心功能:实现多人连麦场景下的座位控制,支持复杂的座位状态管理和音视频设备控制。
技术特点:基于音视频技术,支持多路音视频流管理,提供座位锁定、设备控制、权限管理等高级功能。
业务价值:为多人互动直播提供核心技术支撑,支持PK、连麦、多人游戏等丰富的互动场景。
应用场景:多人连麦、主播PK、互动游戏、在线教育、会议直播等需要多人音视频互动的场景。
响应式数据
seatList
const seatList: Ref
座位列表
类型:
Ref
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { seatList } = useLiveSeatState('your_live_id');
// 监听座位列表变化
watch(seatList, (newSeatList) => {
if (newSeatList && newSeatList.length > 0) {
console.log('座位列表更新:', newSeatList);
newSeatList.forEach(seat => {
console.log('座位索引:', seat.index);
console.log('座位是否锁定:', seat.isLocked);
if (seat.userInfo) {
console.log('座位上用户ID:', seat.userInfo.userID);
}
});
}
});
// 获取当前座位列表
const seats = seatList.value;
console.log('当前座位数:', seats.length);
canvas
const canvas: Ref
画布信息
类型:
Ref
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { canvas } = useLiveSeatState('your_live_id');
// 监听画布信息变化
watch(canvas, (newCanvas) => {
if (newCanvas) {
console.log('画布信息更新:', newCanvas);
}
});
// 获取当前画布信息
const currentCanvas = canvas.value;
if (currentCanvas) {
console.log('当前画布分辨率:', currentCanvas.w, 'x', currentCanvas.h);
}
speakingUsers
const speakingUsers: Ref
正在说话的用户列表
类型:
Ref
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { speakingUsers } = useLiveSeatState('your_live_id');
// 监听正在说话的用户列表变化
watch(speakingUsers, (newSpeakingUsers) => {
if (newSpeakingUsers && newSpeakingUsers.size > 0) {
console.log('正在说话的用户更新');
newSpeakingUsers.forEach((volume, userID) => {
console.log('用户ID:', userID);
console.log('音量:', volume);
});
}
});
// 获取当前正在说话的用户数量
const users = speakingUsers.value;
if (users) {
console.log('当前说话的用户数:', users.size);
}
接口函数
takeSeat
function takeSeat(params: TakeSeatOptions)
用户上麦
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | TakeSeatOptions | 上麦参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { takeSeat } = useLiveSeatState('your_live_id');
takeSeat({
liveID: 'your_live_id',
seatIndex: 1,
success: () => console.log('上麦成功'),
fail: (code, message) => console.error('上麦失败:', code, message)
});
leaveSeat
function leaveSeat(params: LeaveSeatOptions)
用户下麦
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | LeaveSeatOptions | 下麦参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { leaveSeat } = useLiveSeatState('your_live_id');
leaveSeat({
liveID: 'your_live_id',
success: () => console.log('下麦成功'),
fail: (code, message) => console.error('下麦失败:', code, message)
});
muteMicrophone
function muteMicrophone(params: MuteMicrophoneOptions)
静音麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | MuteMicrophoneOptions | 静音参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { muteMicrophone } = useLiveSeatState('your_live_id');
muteMicrophone({
liveID: 'your_live_id',
});
unmuteMicrophone
function unmuteMicrophone(params: UnmuteMicrophoneOptions)
取消静音麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UnmuteMicrophoneOptions | 取消静音参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { unmuteMicrophone } = useLiveSeatState('your_live_id');
unmuteMicrophone({
liveID: 'your_live_id',
success: () => console.log('麦克风取消静音成功'),
fail: (code, message) => console.error('麦克风取消静音失败:', code, message)
});
kickUserOutOfSeat
function kickUserOutOfSeat(params: KickUserOutOfSeatOptions)
将用户踢出座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | KickUserOutOfSeatOptions | 踢出参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { kickUserOutOfSeat } = useLiveSeatState('your_live_id');
kickUserOutOfSeat({
liveID: 'your_live_id',
userID: '用户 ID',
success: () => console.log('踢出用户成功'),
fail: (code, message) => console.error('踢出用户失败:', code, message)
});
moveUserToSeat
function moveUserToSeat(params: MoveUserToSeatOptions)
移动用户到指定座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | MoveUserToSeatOptions | 移动参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { moveUserToSeat } = useLiveSeatState('your_live_id');
moveUserToSeat({
liveID: 'your_live_id',
userID: '用户 ID',
targetIndex: 1,
success: () => console.log('用户移动成功'),
fail: (code, message) => console.error('用户移动失败:', code, message)
});
lockSeat
function lockSeat(params: LockSeatOptions)
锁定座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | LockSeatOptions | 锁定参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { lockSeat } = useLiveSeatState('your_live_id');
lockSeat({
liveID: 'your_live_id',
seatIndex: 2,
success: () => console.log('座位锁定成功'),
fail: (code, message) => console.error('座位锁定失败:', code, message)
});
unlockSeat
function unlockSeat(params: UnlockSeatOptions)
解锁座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UnlockSeatOptions | 解锁参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { unlockSeat } = useLiveSeatState('your_live_id');
unlockSeat({
liveID: 'your_live_id',
seatIndex: 2,
success: () => console.log('座位解锁成功'),
fail: (code, message) => console.error('座位解锁失败:', code, message)
});
openRemoteCamera
function openRemoteCamera(params: OpenRemoteCameraOptions)
开启远程摄像头
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | OpenRemoteCameraOptions | 开启摄像头参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { openRemoteCamera } = useLiveSeatState('your_live_id');
openRemoteCamera({
liveID: 'your_live_id',
userID: '用户 ID',
policy: 'UNLOCK_ONLY',
success: () => console.log('远程摄像头开启成功'),
fail: (code, message) => console.error('远程摄像头开启失败:', code, message)
});
closeRemoteCamera
function closeRemoteCamera(params: CloseRemoteCameraOptions)
关闭远程摄像头
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CloseRemoteCameraOptions | 关闭摄像头参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { closeRemoteCamera } = useLiveSeatState('your_live_id');
closeRemoteCamera({
liveID: 'your_live_id',
userID: '用户 ID',
success: () => console.log('远程摄像头关闭成功'),
fail: (code, message) => console.error('远程摄像头关闭失败:', code, message)
});
openRemoteMicrophone
function openRemoteMicrophone(params: OpenRemoteMicrophoneOptions)
开启远程麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | OpenRemoteMicrophoneOptions | 开启麦克风参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { openRemoteMicrophone } = useLiveSeatState('your_live_id');
openRemoteMicrophone({
liveID: 'your_live_id',
userID: '用户 ID',
policy: 'UNLOCK_ONLY',
success: () => console.log('远程麦克风开启成功'),
fail: (code, message) => console.error('远程麦克风开启失败:', code, message)
});
closeRemoteMicrophone
function closeRemoteMicrophone(params: CloseRemoteMicrophoneOptions)
关闭远程麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CloseRemoteMicrophoneOptions | 关闭麦克风参数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { closeRemoteMicrophone } = useLiveSeatState('your_live_id');
closeRemoteMicrophone({
liveID: 'your_live_id',
userID: '用户 ID',
success: () => console.log('远程麦克风关闭成功'),
fail: (code, message) => console.error('远程麦克风关闭失败:', code, message)
});
addLiveSeatEventListener
function addLiveSeatEventListener(liveID: string, eventName: string, listener: ListenerCallback)
添加座位事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onLocalCameraOpenedByAdmin'(本地摄像头被管理员开启) 'onLocalCameraClosedByAdmin'(本地摄像头被管理员关闭) 'onLocalMicrophoneOpenedByAdmin'(本地麦克风被管理员开启) 'onLocalMicrophoneClosedByAdmin'(本地麦克风被管理员关闭) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { addLiveSeatEventListener } = useLiveSeatState('your_live_id');
addLiveSeatEventListener('your_live_id', 'onLocalCameraOpenedByAdmin', (eventData) => {
console.log('eventData:', eventData);
});
removeLiveSeatEventListener
function removeLiveSeatEventListener(liveID: string, eventName: string, listener: ListenerCallback)
移除座位事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onLocalCameraOpenedByAdmin'(本地摄像头被管理员开启) 'onLocalCameraClosedByAdmin'(本地摄像头被管理员关闭) 'onLocalMicrophoneOpenedByAdmin'(本地麦克风被管理员开启) 'onLocalMicrophoneClosedByAdmin'(本地麦克风被管理员关闭) |
| listener | (eventData: string) => void | 事件监听器函数,需要传入添加时相同的函数引用 |
示例
import { useLiveSeatState } from '@/uni_modules/tuikit-atomic-x/state/LiveSeatState';
const { addLiveSeatEventListener, removeLiveSeatEventListener } = useLiveSeatState('your_live_id');
const onCameraOpened = (eventData) => {
console.log('eventData:', eventData);
};
addLiveSeatEventListener('your_live_id', 'onLocalCameraOpenedByAdmin', onCameraOpened);
// 移除监听时传入相同的函数引用
removeLiveSeatEventListener('your_live_id', 'onLocalCameraOpenedByAdmin', onCameraOpened);
LiveAudienceState
直播间观众状态管理模块
核心功能:管理直播间观众列表,提供观众权限控制、管理员设置等直播间秩序维护功能。
技术特点:支持实时观众列表更新、权限分级管理、批量操作等高级功能,确保直播间秩序和用户体验。
业务价值:为直播平台提供完整的观众管理解决方案,支持大规模观众场景下的秩序维护。
应用场景:观众管理、权限控制、直播间秩序维护、观众互动管理等核心业务场景。
核心功能:管理直播间观众列表,提供观众权限控制、管理员设置等直播间秩序维护功能。
技术特点:支持实时观众列表更新、权限分级管理、批量操作等高级功能,确保直播间秩序和用户体验。
业务价值:为直播平台提供完整的观众管理解决方案,支持大规模观众场景下的秩序维护。
应用场景:观众管理、权限控制、直播间秩序维护、观众互动管理等核心业务场景。
响应式数据
audienceList
const audienceList: Ref
直播间观众列表
类型:
Ref
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { audienceList } = useLiveAudienceState('your_live_id');
// 监听观众列表变化
watch(audienceList, (newAudienceList) => {
if (newAudienceList && newAudienceList.length > 0) {
console.log('观众列表更新:', newAudienceList);
newAudienceList.forEach(audience => {
console.log('观众ID:', audience.userID);
});
}
});
// 获取当前观众列表
const audiences = audienceList.value;
console.log('当前观众数:', audiences.length);
audienceCount
const audienceCount: Ref
直播间观众数量
类型:
Ref
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { audienceCount } = useLiveAudienceState('your_live_id');
// 监听观众数量变化
watch(audienceCount, (newCount) => {
console.log('观众数量更新:', newCount);
// 当观众数量达到某个阈值时可以进行特殊处理
if (newCount >= 100) {
console.log('直播热度很高,观众数超过100');
}
});
// 获取当前观众数量
const count = audienceCount.value;
console.log('当前观众数量:', count);
messageBannedUserList
const messageBannedUserList: Ref
被禁止发送消息的用户列表
类型:
Ref
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { messageBannedUserList } = useLiveAudienceState('your_live_id');
// 监听禁言用户列表变化
watch(messageBannedUserList, (newList) => {
console.log('禁言用户列表更新:', newList);
});
接口函数
fetchAudienceList
function fetchAudienceList(params?: FetchAudienceListOptions)
获取直播间观众列表
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | FetchAudienceListOptions | 获取观众列表参数 |
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { fetchAudienceList } = useLiveAudienceState("your_live_id");
fetchAudienceList({
liveID: 'your_live_id',
});
setAdministrator
function setAdministrator(params: SetAdministratorOptions)
设置管理员
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetAdministratorOptions | 设置管理员参数 |
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { setAdministrator } = useLiveAudienceState("your_live_id");
setAdministrator({ liveID: 'your_live_id', userID: 'user123' });
revokeAdministrator
function revokeAdministrator(params: RevokeAdministratorOptions)
撤销管理员权限
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RevokeAdministratorOptions | 撤销管理员参数 |
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { revokeAdministrator } = useLiveAudienceState("your_live_id");
revokeAdministrator({ liveID: 'your_live_id', userID: 'user123' });
kickUserOutOfRoom
function kickUserOutOfRoom(params: KickUserOutOfRoomOptions)
将用户踢出直播间
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | KickUserOutOfRoomOptions | 踢出用户参数 |
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { kickUserOutOfRoom } = useLiveAudienceState("your_live_id");
kickUserOutOfRoom({ liveID: 'your_live_id', userID: 'user123' });
disableSendMessage
function disableSendMessage(params: DisableSendMessageOptions)
禁用用户发送消息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | DisableSendMessageOptions | 禁用发送消息参数 |
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { disableSendMessage } = useLiveAudienceState("your_live_id");
disableSendMessage({ liveID: 'your_live_id', userID: 'user123', isDisable: true });
addAudienceListener
function addAudienceListener(liveID: string, eventName: string, listener: ListenerCallback)
添加观众事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onAudienceJoined'(观众加入) 'onAudienceLeft'(观众离开) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { addAudienceListener } = useLiveAudienceState("your_live_id");
addAudienceListener('your_live_id', 'onAudienceJoined', (eventData) => {
console.log('eventData:', eventData);
});
removeAudienceListener
function removeAudienceListener(liveID: string, eventName: string, listener: ListenerCallback)
移除观众事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onAudienceJoined'(观众加入) 'onAudienceLeft'(观众离开) |
| listenerID | string | 监听器ID, 用于标识监听器,需保证唯一,删除时需要传入相同的listenerID |
示例
import { useLiveAudienceState } from '@/uni_modules/tuikit-atomic-x/state/LiveAudienceState';
const { removeAudienceListener } = useLiveAudienceState("your_live_id");
removeAudienceListener('your_live_id', 'onAudienceJoined', 'listener_001');
CoGuestState
直播连麦管理相关接口
核心功能:处理观众与主播之间的连麦互动,管理连麦申请、邀请、接受、拒绝等完整的连麦流程。
技术特点:基于音视频技术,支持连麦状态实时同步、音视频质量自适应、网络状况监控等高级功能。
业务价值:为直播平台提供观众参与互动的核心能力,增强用户粘性和直播趣味性。
应用场景:观众连麦、互动问答、在线K歌、游戏直播等需要观众参与的互动场景。
核心功能:处理观众与主播之间的连麦互动,管理连麦申请、邀请、接受、拒绝等完整的连麦流程。
技术特点:基于音视频技术,支持连麦状态实时同步、音视频质量自适应、网络状况监控等高级功能。
业务价值:为直播平台提供观众参与互动的核心能力,增强用户粘性和直播趣味性。
应用场景:观众连麦、互动问答、在线K歌、游戏直播等需要观众参与的互动场景。
响应式数据
connected
const connected: Ref
已连接的连麦嘉宾列表
类型:
Ref
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { connected } = useCoGuestState('your_live_id');
// 监听已连接的连麦嘉宾列表变化
watch(connected, (newConnected) => {
if (newConnected && newConnected.length > 0) {
console.log('连麦嘉宾列表更新:', newConnected);
newConnected.forEach(guest => {
console.log('嘉宾用户ID:', guest.userID);
console.log('嘉宾名称:', guest.userName);
});
}
});
// 获取当前连麦嘉宾列表
const guests = connected.value;
console.log('当前连麦嘉宾数量:', guests.length);
invitees
const invitees: Ref
被邀请上麦的用户列表
类型:
Ref
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { invitees } = useCoGuestState('your_live_id');
// 监听被邀请用户列表变化
watch(invitees, (newInvitees) => {
if (newInvitees && newInvitees.length > 0) {
console.log('被邀请用户列表更新:', newInvitees);
newInvitees.forEach(user => {
console.log('被邀请用户ID:', user.userID);
console.log('被邀请用户名称:', user.userName);
});
}
});
// 获取当前被邀请用户列表
const invitedUsers = invitees.value;
console.log('当前被邀请用户数量:', invitedUsers.length);
applicants
const applicants: Ref
申请上麦的用户列表
类型:
Ref
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { applicants } = useCoGuestState('your_live_id');
// 监听申请上麦用户列表变化
watch(applicants, (newApplicants) => {
if (newApplicants && newApplicants.length > 0) {
console.log('申请上麦用户列表更新:', newApplicants);
newApplicants.forEach(user => {
console.log('申请用户ID:', user.userID);
console.log('申请用户名称:', user.userName);
});
}
});
// 获取当前申请上麦用户列表
const applyingUsers = applicants.value;
console.log('当前申请用户数量:', applyingUsers.length);
candidates
const candidates: Ref
可邀请上麦的候选用户列表
类型:
Ref
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { candidates } = useCoGuestState('your_live_id');
// 监听候选用户列表变化
watch(candidates, (newCandidates) => {
if (newCandidates && newCandidates.length > 0) {
console.log('候选用户列表更新:', newCandidates);
newCandidates.forEach(user => {
console.log('候选用户ID:', user.userID);
console.log('候选用户名称:', user.userName);
});
}
});
// 获取当前候选用户列表
const candidateUsers = candidates.value;
console.log('当前候选用户数量:', candidateUsers.length);
接口函数
applyForSeat
function applyForSeat(params: ApplyForSeatOptions)
申请连麦座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | ApplyForSeatOptions | 申请连麦座位参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { applyForSeat } = useCoGuestState("your_live_id");
applyForSeat({ liveID: 'your_live_id', seatIndex: 2, timeout: 30 , extension: 'extra info'});
cancelApplication
function cancelApplication(params: CancelApplicationOptions)
取消申请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CancelApplicationOptions | 取消申请参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { cancelApplication } = useCoGuestState("your_live_id");
cancelApplication({ liveID: 'your_live_id' });
acceptApplication
function acceptApplication(params: AcceptApplicationOptions)
接受申请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AcceptApplicationOptions | 接受申请参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { acceptApplication } = useCoGuestState("your_live_id");
acceptApplication({ liveID: 'your_live_id', userID: 'user123', seatIndex: 0 });
rejectApplication
function rejectApplication(params: RejectApplicationOptions)
拒绝申请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RejectApplicationOptions | 拒绝申请参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { rejectApplication } = useCoGuestState("your_live_id");
rejectApplication({ liveID: 'your_live_id', userID: 'user123' });
inviteToSeat
function inviteToSeat(params: InviteToSeatOptions)
邀请上麦
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | InviteToSeatOptions | 邀请上麦参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { inviteToSeat } = useCoGuestState("your_live_id");
inviteToSeat({ liveID: 'your_live_id', inviteeID: 'user123', seatIndex: 2, timeout: 30 , extension: 'extra info'});
cancelInvitation
function cancelInvitation(params: CancelInvitationOptions)
取消邀请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CancelInvitationOptions | 取消邀请参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { cancelInvitation } = useCoGuestState("your_live_id");
cancelInvitation({ inviteeID: 'user123' });
acceptInvitation
function acceptInvitation(params: AcceptInvitationOptions)
接受邀请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AcceptInvitationOptions | 接受邀请参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { acceptInvitation } = useCoGuestState("your_live_id");
acceptInvitation({ liveID: 'your_live_id', inviterID: 'user123' });
rejectInvitation
function rejectInvitation(params: RejectInvitationOptions)
拒绝邀请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RejectInvitationOptions | 拒绝邀请参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { rejectInvitation } = useCoGuestState("your_live_id");
rejectInvitation({ liveID: 'your_live_id', inviterID: 'user123'});
disconnect
function disconnect(params: DisconnectOptions)
断开连麦连接
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | DisconnectOptions | 断开连接参数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { disconnect } = useCoGuestState("your_live_id");
disconnect({ liveID: 'your_live_id' });
addCoGuestGuestListener
function addCoGuestGuestListener(liveID: string, eventName: string, listener: ListenerCallback)
添加连麦嘉宾侧事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onHostInvitationReceived'(收到主播邀请) 'onHostInvitationCancelled'(主播取消邀请) 'onGuestApplicationResponded'(嘉宾申请响应) 'onGuestApplicationNoResponse'(嘉宾申请无响应) 'onKickedOffSeat'(被踢下座位) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { addCoGuestGuestListener } = useCoGuestState("your_live_id");
addCoGuestGuestListener('your_live_id', 'onHostInvitationReceived', (eventData) => {
console.log('eventData:', eventData);
});
removeCoGuestGuestListener
function removeCoGuestGuestListener(liveID: string, eventName: string, listener: ListenerCallback)
移除连麦嘉宾侧事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onHostInvitationReceived'(收到主播邀请) 'onHostInvitationCancelled'(主播取消邀请) 'onGuestApplicationResponded'(嘉宾申请响应) 'onGuestApplicationNoResponse'(嘉宾申请无响应) 'onKickedOffSeat'(被踢下座位) |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { addCoGuestGuestListener, removeCoGuestGuestListener } = useCoGuestState("your_live_id");
const onHostInvitation = (eventData) => {
console.log('eventData:', eventData);
};
addCoGuestGuestListener('your_live_id', 'onHostInvitationReceived', onHostInvitation);
// 移除监听时传入相同的函数引用
removeCoGuestGuestListener('your_live_id', 'onHostInvitationReceived', onHostInvitation);
addCoGuestHostListener
function addCoGuestHostListener(liveID: string, eventName: string, listener: ListenerCallback)
添加连麦主播侧事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onGuestApplicationReceived'(收到嘉宾申请) 'onGuestApplicationCancelled'(嘉宾取消申请) 'onGuestApplicationProcessedByOtherHost'(嘉宾申请被其他主播处理) 'onHostInvitationResponded'(主播邀请得到回应) 'onHostInvitationNoResponse'(主播邀请无响应) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { addCoGuestHostListener } = useCoGuestState("your_live_id");
addCoGuestHostListener('your_live_id', 'onGuestApplicationReceived', (eventData) => {
console.log('eventData:', eventData);
});
removeCoGuestHostListener
function removeCoGuestHostListener(liveID: string, eventName: string, listener: ListenerCallback)
移除连麦主播侧事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onGuestApplicationReceived'(收到嘉宾申请) 'onGuestApplicationCancelled'(嘉宾取消申请) 'onGuestApplicationProcessedByOtherHost'(嘉宾申请被其他主播处理) 'onHostInvitationResponded'(主播邀请得到回应) 'onHostInvitationNoResponse'(主播邀请无响应) |
示例
import { useCoGuestState } from '@/uni_modules/tuikit-atomic-x/state/CoGuestState';
const { removeCoGuestHostListener } = useCoGuestState("your_live_id");
removeCoGuestHostListener('your_live_id', 'onGuestApplicationReceived', 'listener_001');
CoHostState
连线主播管理模块
核心功能:实现主播间的连线功能,支持主播邀请、连线申请、连线状态管理等主播间互动功能。
技术特点:支持多主播音视频同步、画中画显示、音视频质量优化等高级技术,确保连线体验的流畅性。
业务价值:为直播平台提供主播间协作的核心能力,支持PK、合作直播等高级业务场景。
应用场景:主播连线、合作直播、跨平台连线、主播互动等高级直播场景。
核心功能:实现主播间的连线功能,支持主播邀请、连线申请、连线状态管理等主播间互动功能。
技术特点:支持多主播音视频同步、画中画显示、音视频质量优化等高级技术,确保连线体验的流畅性。
业务价值:为直播平台提供主播间协作的核心能力,支持PK、合作直播等高级业务场景。
应用场景:主播连线、合作直播、跨平台连线、主播互动等高级直播场景。
响应式数据
connected
const connected: Ref
已连接的连线主播列表
类型:
Ref
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { connected } = useCoHostState('your_live_id');
// 监听已连接的连线主播列表变化
watch(connected, (newConnected) => {
if (newConnected && newConnected.length > 0) {
console.log('已连接的主播列表:', newConnected);
}
});
// 获取当前已连接的连线主播数量
const coHosts = connected.value;
console.log('已连接的主播数:', coHosts.length);
invitees
const invitees: Ref
被邀请连线的主播列表
类型:
Ref
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { invitees } = useCoHostState('your_live_id');
// 监听被邀请的主播列表变化
watch(invitees, (newInvitees) => {
if (newInvitees && newInvitees.length > 0) {
console.log('被邀请的主播列表:', newInvitees);
}
});
// 获取当前被邀请的主播列表
const invitedHosts = invitees.value;
console.log('被邀请的主播数:', invitedHosts.length);
applicant
const applicant: Ref
当前申请连线的主播信息
类型:
Ref
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { applicant } = useCoHostState('your_live_id');
// 监听申请连线的主播信息变化
watch(applicant, (newApplicant) => {
if (newApplicant) {
console.log('申请主播:', newApplicant.userID);
}
});
// 获取当前申请连线的主播信息
const currentApplicant = applicant.value;
if (currentApplicant) {
console.log('当前申请连线的主播:', currentApplicant.userName);
}
coHostStatus
const coHostStatus: Ref
当前连线状态
类型:
Ref
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { coHostStatus } = useCoHostState('your_live_id');
// 监听连线状态变化
watch(coHostStatus, (newStatus) => {
console.log('连线状态:', newStatus);
});
// 获取当前连线状态
const status = coHostStatus.value;
console.log('当前连线状态:', status);
接口函数
requestHostConnection
function requestHostConnection(params: RequestHostConnectionOptions)
请求连线
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RequestHostConnectionOptions | 请求连线参数 |
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { requestHostConnection } = useCoHostState("your_live_id");
requestHostConnection({
liveID: 'your_live_id',
targetHostLiveID: 'target_live_id',
layoutTemplate: 600,
timeout: 30,
});
cancelHostConnection
function cancelHostConnection(params: CancelHostConnectionOptions)
取消连线请求
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CancelHostConnectionOptions | 取消连线请求参数 |
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { cancelHostConnection } = useCoHostState("your_live_id");
cancelHostConnection({ liveID: 'your_live_id', toHostLiveID : "target_live_id" });
acceptHostConnection
function acceptHostConnection(params: AcceptHostConnectionOptions)
接受连线请求
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AcceptHostConnectionOptions | 接受连线请求参数 |
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { acceptHostConnection } = useCoHostState("your_live_id");
acceptHostConnection({ liveID: 'your_live_id', fromHostLiveID: "from_live_id" });
rejectHostConnection
function rejectHostConnection(params: RejectHostConnectionOptions)
拒绝连线请求
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RejectHostConnectionOptions | 拒绝连线请求参数 |
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { rejectHostConnection } = useCoHostState("your_live_id");
rejectHostConnection({ liveID: 'your_live_id', fromHostLiveID: "from_live_id" });
exitHostConnection
function exitHostConnection(params: ExitHostConnectionOptions)
退出连线
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | ExitHostConnectionOptions | 退出连线参数 |
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { exitHostConnection } = useCoHostState("your_live_id");
exitHostConnection({ liveID: 'your_live_id' });
addCoHostListener
function addCoHostListener(liveID: string, eventName: string, listener: ListenerCallback)
添加连线主播事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onCoHostRequestReceived'(收到连线请求) 'onCoHostRequestCancelled'(连线请求被取消) 'onCoHostRequestAccepted'(连线请求被接受) 'onCoHostRequestRejected'(连线请求被拒绝) 'onCoHostRequestTimeout'(连线请求超时) 'onCoHostUserJoined'(连线用户加入) 'onCoHostUserLeft'(连线用户离开) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { addCoHostListener } = useCoHostState("your_live_id");
addCoHostListener('your_live_id', 'onCoHostRequestReceived', (eventData) => {
console.log('eventData:', eventData);
});
removeCoHostListener
function removeCoHostListener(liveID: string, eventName: string, listener: ListenerCallback)
移除连线主播事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onCoHostRequestReceived'(收到连线请求) 'onCoHostRequestCancelled'(连线请求被取消) 'onCoHostRequestAccepted'(连线请求被接受) 'onCoHostRequestRejected'(连线请求被拒绝) 'onCoHostRequestTimeout'(连线请求超时) 'onCoHostUserJoined'(连线用户加入) 'onCoHostUserLeft'(连线用户离开) |
| listener | (eventData: string) => void | 事件监听器函数,需要传入添加时相同的函数引用 |
示例
import { useCoHostState } from '@/uni_modules/tuikit-atomic-x/state/CoHostState';
const { addCoHostListener, removeCoHostListener } = useCoHostState("your_live_id");
const onCoHostRequest = (eventData) => {
console.log('eventData:', eventData);
};
addCoHostListener('your_live_id', 'onCoHostRequestReceived', onCoHostRequest);
// 移除监听时传入相同的函数引用
removeCoHostListener('your_live_id', 'onCoHostRequestReceived', onCoHostRequest);
BattleState
直播 PK 管理模块
核心功能:处理主播间的PK对战流程,包括PK请求、接受、拒绝、退出等完整的PK管理功能。
技术特点:支持实时PK状态同步、分数统计、PK时长控制、结果计算等高级功能。
业务价值:为直播平台提供丰富的互动玩法,增加主播收益和用户粘性。
应用场景:主播PK、对战直播、分数统计、互动游戏等娱乐互动场景。
核心功能:处理主播间的PK对战流程,包括PK请求、接受、拒绝、退出等完整的PK管理功能。
技术特点:支持实时PK状态同步、分数统计、PK时长控制、结果计算等高级功能。
业务价值:为直播平台提供丰富的互动玩法,增加主播收益和用户粘性。
应用场景:主播PK、对战直播、分数统计、互动游戏等娱乐互动场景。
响应式数据
currentBattleInfo
const currentBattleInfo: Ref
当前 PK 信息
类型:
Ref
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { currentBattleInfo } = useBattleState('your_live_id');
// 监听当前 PK 信息变化
watch(currentBattleInfo, (newBattle) => {
if (newBattle) {
console.log(' PK 已开始:', newBattle.battleID);
}
});
// 获取当前 PK 信息
const battle = currentBattleInfo.value;
battleUsers
const battleUsers: Ref
PK 用户列表
类型:
Ref
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { battleUsers } = useBattleState('your_live_id');
// 监听当前 PK 用户列表变化
watch(battleUsers, (newUsers) => {
console.log('PK 用户列表更新:', newUsers);
});
// 获取当前 PK 用户列表
const users = battleUsers.value;
console.log('PK 用户列表更新:', users);
battleScore
const battleScore: Ref
PK 分数映射
类型:
Ref
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { battleScore } = useBattleState('your_live_id');
// 监听当前 PK 分数变化
watch(battleScore, (newScore) => {
console.log('PK 分数更新:', newScore);
});
// 获取当前 PK 分数
const score = battleScore.value;
console.log('当前 PK 分数:', score);
接口函数
requestBattle
function requestBattle(params: RequestBattleOptions)
请求 PK
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RequestBattleOptions | 请求 PK 参数 |
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { requestBattle } = useBattleState("your_live_id");
requestBattle({
liveID: "your_live_id",
userIDList: ["target_user_id"],
timeout: 10,
config: {
duration: 300,
needResponse: true,
extensionInfo: '{"type":"standard"}'
},
success: (battleInfo, result) => {
console.log(' PK 请求成功:', battleInfo, result);
},
fail: (code, desc) => {
console.error(' PK 请求失败:', code, desc);
}
});
cancelBattleRequest
function cancelBattleRequest(params: CancelBattleRequestOptions)
取消 PK 请求
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CancelBattleRequestOptions | 取消 PK 请求参数 |
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { cancelBattleRequest } = useBattleState("your_live_id");
cancelBattleRequest({
liveID: "your_live_id",
battleID: "battle_id",
userIDList: ["target_user_id"],
success: () => {
console.log('取消 PK 请求成功');
},
fail: (code, desc) => {
console.error('取消 PK 请求失败:', code, desc);
}
});
acceptBattle
function acceptBattle(params: AcceptBattleOptions)
接受 PK
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AcceptBattleOptions | 接受 PK 参数 |
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { acceptBattle } = useBattleState("your_live_id");
acceptBattle({
liveID: "your_live_id",
battleID: "battle_id",
success: () => {
console.log('接受 PK 成功');
},
fail: (code, desc) => {
console.error('接受 PK 失败:', code, desc);
}
});
rejectBattle
function rejectBattle(params: RejectBattleOptions)
拒绝 PK
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RejectBattleOptions | 拒绝 PK 参数 |
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { rejectBattle } = useBattleState("your_live_id");
rejectBattle({
liveID: "your_live_id",
battleID: "battle_id",
success: () => {
console.log('拒绝 PK 成功');
},
fail: (code, desc) => {
console.error('拒绝 PK 失败:', code, desc);
}
});
exitBattle
function exitBattle(params: ExitBattleOptions)
退出 PK
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | ExitBattleOptions | 退出 PK 参数 |
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { exitBattle } = useBattleState("your_live_id");
exitBattle({
liveID: "your_live_id",
battleID: "battle_id",
success: () => {
console.log('退出 PK 成功');
},
fail: (code, desc) => {
console.error('退出 PK 失败:', code, desc);
}
});
addBattleListener
function addBattleListener(liveID: string, eventName: string, listener: ListenerCallback)
添加 PK 事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onBattleStarted'( PK 开始) 'onBattleEnded'( PK 结束) 'onUserJoinBattle'(当前有用户加入 PK 对战) 'onUserExitBattle'(当前有用户退出 PK 对战) 'onBattleRequestReceived'(收到 PK 请求) 'onBattleRequestCancelled'(取消 PK 请求) 'onBattleRequestTimeout'(当前 PK 对战请求超时) 'onBattleRequestAccept'(当前 PK 对战请求被接受) 'onBattleRequestReject'(当前 PK 对战请求被拒绝) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { addBattleListener } = useBattleState('your_live_id');
addBattleListener('your_live_id', 'onBattleStarted', (eventData) => {
console.log('eventData:', eventData);
});
removeBattleListener
function removeBattleListener(liveID: string, eventName: string, listener: ListenerCallback)
移除 PK 事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onBattleStarted'( PK 开始) 'onBattleEnded'( PK 结束) 'onUserJoinBattle'(当前有用户加入 PK 对战) 'onUserExitBattle'(当前有用户退出 PK 对战) 'onBattleRequestReceived'(收到 PK 请求) 'onBattleRequestCancelled'(取消 PK 请求) 'onBattleRequestTimeout'(当前 PK 对战请求超时) 'onBattleRequestAccept'(当前 PK 对战请求被接受) 'onBattleRequestReject'(当前 PK 对战请求被拒绝) |
| listener | (eventData: string) => void | 事件监听器函数,需要传入添加时相同的函数引用 |
示例
import { useBattleState } from '@/uni_modules/tuikit-atomic-x/state/BattleState';
const { addBattleListener, removeBattleListener } = useBattleState('your_live_id');
const onBattleStarted = (eventData) => {
console.log('eventData:', eventData);
};
addBattleListener('your_live_id', 'onBattleStarted', onBattleStarted);
// 移除监听时传入相同的函数引用
removeBattleListener('your_live_id', 'onBattleStarted', onBattleStarted);
DeviceState
设备状态管理模块
核心功能:管理摄像头、麦克风等音视频设备的控制,提供设备状态监控、权限检查等基础设备服务。
技术特点:支持多设备管理、设备状态实时监控、权限动态检查、设备故障自动恢复等高级功能。
业务价值:为直播系统提供稳定的设备基础,确保音视频采集的可靠性和用户体验。
应用场景:设备管理、权限控制、音视频采集、设备故障处理等基础技术场景。
核心功能:管理摄像头、麦克风等音视频设备的控制,提供设备状态监控、权限检查等基础设备服务。
技术特点:支持多设备管理、设备状态实时监控、权限动态检查、设备故障自动恢复等高级功能。
业务价值:为直播系统提供稳定的设备基础,确保音视频采集的可靠性和用户体验。
应用场景:设备管理、权限控制、音视频采集、设备故障处理等基础技术场景。
响应式数据
microphoneStatus
const microphoneStatus: Ref
麦克风开启状态
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { microphoneStatus } = useDeviceState();
// 监听麦克风状态变化
watch(microphoneStatus, (newStatus) => {
console.log('麦克风状态:', newStatus);
if (newStatus === 'ON') {
console.log('麦克风已打开');
} else if (newStatus === 'OFF') {
console.log('麦克风已关闭');
}
});
microphoneLastError
const microphoneLastError: Ref
麦克风最后一次错误状态
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { microphoneLastError } = useDeviceState();
// 监听麦克风错误状态
watch(microphoneLastError, (newError) => {
if (newError !== undefined && newError !== DeviceError.NO_ERROR) {
console.log('麦克风错误:', newError);
}
});
hasPublishAudioPermission
const hasPublishAudioPermission: Ref
是否有音频发布权限
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { hasPublishAudioPermission } = useDeviceState();
// 检查是否有音频发布权限
const hasPermission = hasPublishAudioPermission.value;
if (!hasPermission) {
console.log('没有音频发布权限');
}
captureVolume
const captureVolume: Ref
采集音量大小(0-100)
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { captureVolume } = useDeviceState();
// 监听采集音量变化
watch(captureVolume, (newVolume) => {
console.log('采集音量:', newVolume);
});
currentMicVolume
const currentMicVolume: Ref
当前麦克风音量(0-100)
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { currentMicVolume } = useDeviceState();
// 监听麦克风音量变化
watch(currentMicVolume, (newVolume) => {
console.log('当前麦克风音量:', newVolume);
});
outputVolume
const outputVolume: Ref
输出音量大小(0-100)
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { outputVolume } = useDeviceState();
// 监听输出音量变化
watch(outputVolume, (newVolume) => {
console.log('输出音量:', newVolume);
});
cameraStatus
const cameraStatus: Ref
摄像头开启状态
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { cameraStatus } = useDeviceState();
// 监听摄像头状态变化
watch(cameraStatus, (newStatus) => {
console.log('摄像头状态:', newStatus);
if (newStatus === 'ON') {
console.log('摄像头已打开');
}
});
cameraLastError
const cameraLastError: Ref
摄像头最后一次错误状态
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { cameraLastError } = useDeviceState();
// 监听摄像头错误状态
watch(cameraLastError, (newError) => {
if (newError !== undefined && newError !== DeviceError.NO_ERROR) {
console.log('摄像头错误:', newError);
}
});
isFrontCamera
const isFrontCamera: Ref
是否为前置摄像头
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { isFrontCamera } = useDeviceState();
// 检查当前是否为前置摄像头
const isFront = isFrontCamera.value;
if (isFront) {
console.log('当前使用前置摄像头');
}
localMirrorType
const localMirrorType: Ref
本地镜像类型
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { localMirrorType } = useDeviceState();
// 获取本地镜像类型
const mirrorType = localMirrorType.value;
console.log('本地镜像类型:', mirrorType);
localVideoQuality
const localVideoQuality: Ref
本地视频质量设置
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { localVideoQuality } = useDeviceState();
// 获取本地视频质量设置
const quality = localVideoQuality.value;
console.log('本地视频质量:', quality);
currentAudioRoute
const currentAudioRoute: Ref
当前音频输出路由(扬声器/耳机)
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { currentAudioRoute } = useDeviceState();
// 监听音频输出路由变化
watch(currentAudioRoute, (newRoute) => {
console.log('音频输出路由:', newRoute);
if (newRoute === 'SPEAKERPHONE') {
console.log('使用扬声器');
} else if (newRoute === 'EARPIECE') {
console.log('使用耳机');
}
});
screenStatus
const screenStatus: Ref
屏幕共享状态
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { screenStatus } = useDeviceState();
// 监听屏幕共享状态
watch(screenStatus, (newStatus) => {
console.log('屏幕共享状态:', newStatus);
if (newStatus === 'ON') {
console.log('屏幕共享已开启');
}
});
networkInfo
const networkInfo: Ref
网络信息状态
类型:
Ref
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { networkInfo } = useDeviceState();
// 获取网络信息
const info = networkInfo.value;
console.log('网络信息:', info);
接口函数
openLocalMicrophone
function openLocalMicrophone(params?: OpenLocalMicrophoneOptions)
打开本地麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | OpenLocalMicrophoneOptions | 麦克风参数 |
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { openLocalMicrophone } = useDeviceState();
openLocalMicrophone({})
closeLocalMicrophone
function closeLocalMicrophone()
关闭本地麦克风
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { closeLocalMicrophone } = useDeviceState();
closeLocalMicrophone()
setCaptureVolume
function setCaptureVolume(params: VolumeOptions)
设置采集音量
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | VolumeOptions | 音量参数 |
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { setCaptureVolume } = useDeviceState();
setCaptureVolume({ volume: 80 })
setOutputVolume
function setOutputVolume(params: VolumeOptions)
设置输出音量
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | VolumeOptions | 音量参数 |
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { setOutputVolume } = useDeviceState();
setOutputVolume({ volume: 90 })
setAudioRoute
function setAudioRoute(params: SetAudioRouteOptions)
设置音频路由
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetAudioRouteOptions | 音频路由参数 |
示例
// 设置为扬声器
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { setAudioRoute } = useDeviceState();
setAudioRoute({ audioRoute: AudioOutput.SPEAKERPHONE })
openLocalCamera
function openLocalCamera(params?: OpenLocalCameraOptions)
打开本地摄像头
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | OpenLocalCameraOptions | 摄像头参数 |
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { openLocalCamera } = useDeviceState();
openLocalCamera({ isFront: true })
closeLocalCamera
function closeLocalCamera()
关闭本地摄像头
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { closeLocalCamera } = useDeviceState();
closeLocalCamera()
switchCamera
function switchCamera(params: SwitchCameraOptions)
切换摄像头前后置
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SwitchCameraOptions | 切换参数 |
示例
// 切换到前置摄像头
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { switchCamera } = useDeviceState();
switchCamera({ isFront: true })
switchMirror
function switchMirror(params: SwitchMirrorOptions)
切换镜像
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SwitchMirrorOptions | 镜像参数 |
示例
// 设置自动镜像
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { switchMirror } = useDeviceState();
switchMirror({ mirrorType: 'AUTO' })
updateVideoQuality
function updateVideoQuality(params: UpdateVideoQualityOptions)
更新视频质量
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UpdateVideoQualityOptions | 视频质量参数 |
示例
import { useDeviceState } from '@/uni_modules/tuikit-atomic-x/state/DeviceState';
const { updateVideoQuality } = useDeviceState();
updateVideoQuality({ quality: VideoQuality.QUALITY_1080P })
clearDeviceState
function clearDeviceState()
清除设备状态数据
AudioEffectState
音效设置管理模块
核心功能:提供变声、混响、耳返等高级音效功能,支持多种音效效果和实时音效调节。
技术特点:基于音频处理算法,支持实时音效处理、低延迟音频传输、音质优化等高级技术。
业务价值:为直播平台提供差异化的音效体验,增强用户参与度和直播趣味性。
应用场景:变声直播、K歌直播、音效娱乐、专业音效等需要音频处理的场景。
核心功能:提供变声、混响、耳返等高级音效功能,支持多种音效效果和实时音效调节。
技术特点:基于音频处理算法,支持实时音效处理、低延迟音频传输、音质优化等高级技术。
业务价值:为直播平台提供差异化的音效体验,增强用户参与度和直播趣味性。
应用场景:变声直播、K歌直播、音效娱乐、专业音效等需要音频处理的场景。
响应式数据
isEarMonitorOpened
const isEarMonitorOpened: Ref
耳返开关状态
类型:
Ref
示例
import { useAudioEffectState } from '@/uni_modules/tuikit-atomic-x/state/AudioEffectState';
const { isEarMonitorOpened } = useAudioEffectState('your_live_id');
// 监听耳返开关状态变化
watch(isEarMonitorOpened, (newStatus) => {
console.log('耳返开关状态:', newStatus);
});
// 获取当前耳返开关状态
const isOpen = isEarMonitorOpened.value;
console.log('当前耳返状态:', isOpen);
earMonitorVolume
const earMonitorVolume: Ref
耳返音量大小
类型:
Ref
示例
import { useAudioEffectState } from '@/uni_modules/tuikit-atomic-x/state/AudioEffectState';
const { earMonitorVolume } = useAudioEffectState('your_live_id');
// 监听耳返音量变化
watch(earMonitorVolume, (newVolume) => {
console.log('耳返音量:', newVolume);
});
// 获取当前耳返音量
const volume = earMonitorVolume.value;
console.log('当前耳返音量:', volume);
audioChangerType
const audioChangerType: Ref
变声状态
类型:
Ref
示例
import { useAudioEffectState } from '@/uni_modules/tuikit-atomic-x/state/AudioEffectState';
const { audioChangerType } = useAudioEffectState('your_live_id');
// 监听变声类型变化
watch(audioChangerType, (newType) => {
console.log('变声类型:', newType);
});
// 获取当前变声类型
const type = audioChangerType.value;
console.log('当前变声类型:', type);
audioReverbType
const audioReverbType: Ref
混响状态
类型:
Ref
示例
import { useAudioEffectState } from '@/uni_modules/tuikit-atomic-x/state/AudioEffectState';
const { audioReverbType } = useAudioEffectState('your_live_id');
// 监听混响类型变化
watch(audioReverbType, (newType) => {
console.log('混响类型:', newType);
});
// 获取当前混响类型
const type = audioReverbType.value;
console.log('当前混响类型:', type);
接口函数
setAudioChangerType
function setAudioChangerType(params: SetAudioChangerTypeOptions)
设置变声效果
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetAudioChangerTypeOptions | 变声效果参数 |
示例
import { useAudioEffectState } from '@/uni_modules/tuikit-atomic-x/state/AudioEffectState';
const { setAudioChangerType } = useAudioEffectState("your_live_id");
setAudioChangerType({ changerType: 'MAN' });
setAudioReverbType
function setAudioReverbType(params: SetAudioReverbTypeOptions)
设置混响效果
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetAudioReverbTypeOptions | 混响效果参数 |
示例
import { useAudioEffectState } from '@/uni_modules/tuikit-atomic-x/state/AudioEffectState';
const { setAudioReverbType } = useAudioEffectState("your_live_id");
setAudioReverbType({ reverbType: 'KTV' });
setVoiceEarMonitorEnable
function setVoiceEarMonitorEnable(params: SetVoiceEarMonitorEnableOptions)
设置耳返开关状态
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetVoiceEarMonitorEnableOptions | 耳返开关参数 |
示例
import { useAudioEffectState } from '@/uni_modules/tuikit-atomic-x/state/AudioEffectState';
const { setVoiceEarMonitorEnable } = useAudioEffectState("your_live_id");
setVoiceEarMonitorEnable({ enable: true });
setVoiceEarMonitorVolume
function setVoiceEarMonitorVolume(params: VolumeOptions)
设置耳返音量大小
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | VolumeOptions | 耳返音量参数 |
示例
import { useAudioEffectState } from '@/uni_modules/tuikit-atomic-x/state/AudioEffectState';
const { setVoiceEarMonitorVolume } = useAudioEffectState("your_live_id");
setVoiceEarMonitorVolume({ volume: 50 });
BarrageState
弹幕管理模块
核心功能:管理直播间弹幕消息,支持文本弹幕发送、自定义弹幕发送、本地提示消息等弹幕互动功能。
技术特点:支持实时弹幕推送、弹幕消息列表管理、自定义消息类型扩展等高级功能。
业务价值:为直播平台提供核心的弹幕互动能力,增强观众参与感和直播氛围。
应用场景:文本弹幕、自定义弹幕、系统提示消息、弹幕互动等直播聊天场景。
核心功能:管理直播间弹幕消息,支持文本弹幕发送、自定义弹幕发送、本地提示消息等弹幕互动功能。
技术特点:支持实时弹幕推送、弹幕消息列表管理、自定义消息类型扩展等高级功能。
业务价值:为直播平台提供核心的弹幕互动能力,增强观众参与感和直播氛围。
应用场景:文本弹幕、自定义弹幕、系统提示消息、弹幕互动等直播聊天场景。
响应式数据
messageList
const messageList: Ref
弹幕消息列表
类型:
Ref
示例
import { useBarrageState } from '@/uni_modules/tuikit-atomic-x/state/BarrageState';
const { messageList } = useBarrageState('your_live_id');
// 监听弹幕消息列表变化
watch(messageList, (newMessages) => {
if (newMessages && newMessages.length > 0) {
console.log('弹幕消息列表更新:', newMessages);
const lastMsg = newMessages[newMessages.length - 1];
console.log('最新弹幕:', lastMsg.textContent);
}
});
// 获取当前弹幕消息列表
const messages = messageList.value;
console.log('当前弹幕数量:', messages.length);
接口函数
sendTextMessage
function sendTextMessage(params: SendTextMessageOptions)
发送文本消息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SendTextMessageOptions | 发送消息参数 |
示例
import { useBarrageState } from '@/uni_modules/tuikit-atomic-x/state/BarrageState';
const { sendTextMessage } = useBarrageState('your_live_id');
sendTextMessage({ liveID: 'your_live_id', text: 'Hello World' });
sendCustomMessage
function sendCustomMessage(params: SendCustomMessageOptions)
发送自定义消息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SendCustomMessageOptions | 发送自定义消息参数 |
示例
import { useBarrageState } from '@/uni_modules/tuikit-atomic-x/state/BarrageState';
const { sendCustomMessage } = useBarrageState('your_live_id');
sendCustomMessage({ liveID: 'your_live_id', businessID: 'livekit', data: JSON.stringify('my custom message') });
appendLocalTip
function appendLocalTip(params: AppendLocalTipOptions)
添加本地提示消息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AppendLocalTipOptions | 本地提示消息参数 |
示例
import { useBarrageState } from '@/uni_modules/tuikit-atomic-x/state/BarrageState';
const { appendLocalTip } = useBarrageState('your_live_id');
appendLocalTip({ liveID: 'your_live_id', message: { liveID: 'your_live_id', sender: { userID: 'user_id' }, sequence: 0, timestampInSecond: 0, messageType: BarrageType.TEXT, textContent: 'tip message' } });
BaseBeautyState
基础美颜管理模块
核心功能:提供磨皮、美白、红润等基础美颜效果调节,支持实时美颜参数调整。
技术特点:支持实时美颜处理、参数平滑调节、性能优化等高级技术。
业务价值:为直播平台提供基础的美颜能力,提升用户形象和直播质量。
应用场景:美颜直播、形象优化、美颜调节、直播美化等需要美颜功能的场景。
核心功能:提供磨皮、美白、红润等基础美颜效果调节,支持实时美颜参数调整。
技术特点:支持实时美颜处理、参数平滑调节、性能优化等高级技术。
业务价值:为直播平台提供基础的美颜能力,提升用户形象和直播质量。
应用场景:美颜直播、形象优化、美颜调节、直播美化等需要美颜功能的场景。
响应式数据
smoothLevel
const smoothLevel: Ref
磨皮级别 取值范围[0,9]: 0 表示关闭,9 表示效果最明显
类型:
Ref
示例
import { useBaseBeautyState } from '@/uni_modules/tuikit-atomic-x/state/BaseBeautyState';
const { smoothLevel } = useBaseBeautyState('your_live_id');
// 监听磨皮级别变化
watch(smoothLevel, (newLevel) => {
console.log('磨皮级别:', newLevel);
});
// 获取当前磨皮级别
const level = smoothLevel.value;
console.log('当前磨皮级别:', level);
whitenessLevel
const whitenessLevel: Ref
美白级别 取值范围[0,9]: 0 表示关闭,9 表示效果最明显
类型:
Ref
示例
import { useBaseBeautyState } from '@/uni_modules/tuikit-atomic-x/state/BaseBeautyState';
const { whitenessLevel } = useBaseBeautyState('your_live_id');
// 监听美白级别变化
watch(whitenessLevel, (newLevel) => {
console.log('美白级别:', newLevel);
});
// 获取当前美白级别
const level = whitenessLevel.value;
console.log('当前美白级别:', level);
ruddyLevel
const ruddyLevel: Ref
红润级别 取值范围[0,9]: 0 表示关闭,9 表示效果最明显
类型:
Ref
示例
import { useBaseBeautyState } from '@/uni_modules/tuikit-atomic-x/state/BaseBeautyState';
const { ruddyLevel } = useBaseBeautyState('your_live_id');
// 监听红润级别变化
watch(ruddyLevel, (newLevel) => {
console.log('红润级别:', newLevel);
});
// 获取当前红润级别
const level = ruddyLevel.value;
console.log('当前红润级别:', level);
接口函数
setSmoothLevel
function setSmoothLevel(params: SetSmoothLevelOptions)
设置磨皮级别
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetSmoothLevelOptions | 磨皮参数,取值范围[0,9]: 0 表示关闭,9 表示效果最明显 |
示例
import { useBaseBeautyState } from '@/uni_modules/tuikit-atomic-x/state/BaseBeautyState';
const { setSmoothLevel } = useBaseBeautyState('your_live_id');
setSmoothLevel({ smoothLevel: 5 });
setWhitenessLevel
function setWhitenessLevel(params: SetWhitenessLevelOptions)
设置美白级别
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetWhitenessLevelOptions | 美白参数,取值范围[0,9]: 0 表示关闭,9 表示效果最明显 |
示例
import { useBaseBeautyState } from '@/uni_modules/tuikit-atomic-x/state/BaseBeautyState';
const { setWhitenessLevel } = useBaseBeautyState('your_live_id');
setWhitenessLevel({ whitenessLevel: 6 });
setRuddyLevel
function setRuddyLevel(params: SetRuddyLevelOptions)
设置红润级别
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetRuddyLevelOptions | 红润参数,取值范围[0,9]: 0 表示关闭,9 表示效果最明显 |
示例
import { useBaseBeautyState } from '@/uni_modules/tuikit-atomic-x/state/BaseBeautyState';
const { setRuddyLevel } = useBaseBeautyState('your_live_id');
setRuddyLevel({ ruddyLevel: 4 });
GiftState
礼物互动管理模块
核心功能:管理直播间礼物的发送、接收、展示等礼物互动功能,支持普通礼物和自定义礼物类型。
技术特点:支持礼物列表管理、礼物发送与接收事件监听、礼物动画展示等高级功能。
业务价值:为直播平台提供核心的礼物打赏能力,是直播变现的重要途径。
应用场景:礼物打赏、礼物动画、礼物排行榜、自定义礼物等直播打赏互动场景。
核心功能:管理直播间礼物的发送、接收、展示等礼物互动功能,支持普通礼物和自定义礼物类型。
技术特点:支持礼物列表管理、礼物发送与接收事件监听、礼物动画展示等高级功能。
业务价值:为直播平台提供核心的礼物打赏能力,是直播变现的重要途径。
应用场景:礼物打赏、礼物动画、礼物排行榜、自定义礼物等直播打赏互动场景。
响应式数据
usableGifts
const usableGifts: Ref
可用礼物列表
类型:
Ref
接口函数
refreshUsableGifts
function refreshUsableGifts(params: RefreshUsableGiftsOptions)
刷新可用礼物列表
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RefreshUsableGiftsOptions | 刷新礼物列表参数 |
示例
import { useGiftState } from '@/uni_modules/tuikit-atomic-x/state/GiftState';
const { refreshUsableGifts } = useGiftState("your_live_id");
refreshUsableGifts({});
sendGift
function sendGift(params: SendGiftOptions)
发送礼物
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SendGiftOptions | 发送礼物参数 |
示例
import { useGiftState } from '@/uni_modules/tuikit-atomic-x/state/GiftState';
const { sendGift } = useGiftState("your_live_id")
sendGift({ liveID: 'your_live_id', giftID: "gift001", count: 1 });
setLanguage
function setLanguage(params: SetLanguageOptions)
设置礼物语言
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetLanguageOptions | 设置语言参数 |
示例
import { useGiftState } from '@/uni_modules/tuikit-atomic-x/state/GiftState';
const { setLanguage } = useGiftState("your_live_id");
setLanguage({ liveID: 'your_live_id', language: 'zh' });
addGiftListener
function addGiftListener(liveID: string, eventName: string, listener: ListenerCallback)
添加礼物事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onReceiveGift'(收到礼物) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useGiftState } from '@/uni_modules/tuikit-atomic-x/state/GiftState';
const { addGiftListener } = useGiftState("your_live_id");
addGiftListener('your_live_id', 'onReceiveGift', (eventData) => {
console.log('eventData:', eventData);
});
removeGiftListener
function removeGiftListener(liveID: string, eventName: string, listener: ListenerCallback)
移除礼物事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播间ID |
| eventName | string | 事件名称,可选值: 'onReceiveGift'(收到礼物) |
示例
import { useGiftState } from '@/uni_modules/tuikit-atomic-x/state/GiftState';
const { removeGiftListener } = useGiftState("your_live_id")
removeGiftListener('your_live_id', 'onReceiveGift', 'listener_001');
LikeState
点赞互动管理模块
核心功能:处理直播间的点赞功能,支持点赞发送、点赞统计、点赞事件监听等互动功能。
技术特点:支持高并发点赞处理、实时点赞统计、点赞动画效果、点赞排行榜等高级功能。
业务价值:为直播平台提供基础的互动能力,增强用户参与度和直播氛围。
应用场景:点赞互动、人气统计、互动效果、用户参与等基础互动场景。
核心功能:处理直播间的点赞功能,支持点赞发送、点赞统计、点赞事件监听等互动功能。
技术特点:支持高并发点赞处理、实时点赞统计、点赞动画效果、点赞排行榜等高级功能。
业务价值:为直播平台提供基础的互动能力,增强用户参与度和直播氛围。
应用场景:点赞互动、人气统计、互动效果、用户参与等基础互动场景。
响应式数据
totalLikeCount
const totalLikeCount: Ref
总点赞数量
类型:
Ref
示例
import { useLikeState } from '@/uni_modules/tuikit-atomic-x/state/LikeState';
const { totalLikeCount } = useLikeState('your_live_id');
// 监听总点赞数量变化
watch(totalLikeCount, (newCount) => {
console.log('总点赞数量:', newCount);
});
// 获取当前总点赞数量
const likeCount = totalLikeCount.value;
console.log('当前获赞数:', likeCount);
接口函数
sendLike
function sendLike(params: SendLikeOptions)
发送点赞
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SendLikeOptions | 点赞参数 |
示例
import { useLikeState } from '@/uni_modules/tuikit-atomic-x/state/LikeState';
const { sendLike } = useLikeState("your_live_id");
sendLike({ liveID: 'your_live_id', count: 1 });
addLikeListener
function addLikeListener(liveID: string, eventName: string, listener: ListenerCallback)
添加点赞事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播ID |
| eventName | string | 事件名称,可选值: 'onReceiveLikesMessage'(收到点赞消息) |
| listener | (eventData: string) => void | 事件监听器函数 |
示例
import { useLikeState } from '@/uni_modules/tuikit-atomic-x/state/LikeState';
const { addLikeListener } = useLikeState("your_live_id");
addLikeListener('your_live_id', 'onReceiveLikesMessage', (eventData) => {
console.log('eventData:', eventData);
});
removeLikeListener
function removeLikeListener(liveID: string, eventName: string, listener: ListenerCallback)
移除点赞事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveID | string | 直播ID |
| eventName | string | 事件名称,可选值: 'onReceiveLikesMessage'(收到点赞消息) |
| listener | (eventData: string) => void | 事件监听器函数,需要传入添加时相同的函数引用 |
示例
import { useLikeState } from '@/uni_modules/tuikit-atomic-x/state/LikeState';
const { addLikeListener, removeLikeListener } = useLikeState("your_live_id");
const onReceiveLikes = (eventData) => {
console.log('eventData:', eventData);
};
addLikeListener('your_live_id', 'onReceiveLikesMessage', onReceiveLikes);
// 移除监听时传入相同的函数引用
removeLikeListener('your_live_id', 'onReceiveLikesMessage', onReceiveLikes);
CallState
通话状态管理模块
核心功能:负责音视频通话的状态管理、通话控制、参与者管理等通话核心服务。
技术特点:支持音频通话、视频通话、多人通话、通话记录查询等高级功能。
业务价值:为直播平台提供完整的音视频通话能力,支持一对一和多人通话场景。
应用场景:语音通话、视频通话、群组通话、通话历史管理等通话场景。
核心功能:负责音视频通话的状态管理、通话控制、参与者管理等通话核心服务。
技术特点:支持音频通话、视频通话、多人通话、通话记录查询等高级功能。
业务价值:为直播平台提供完整的音视频通话能力,支持一对一和多人通话场景。
应用场景:语音通话、视频通话、群组通话、通话历史管理等通话场景。
响应式数据
activeCall
const activeCall: Ref
当前活跃通话信息
类型:
Ref
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { activeCall } = useCallState();
// 监听通话信息变化
watch(activeCall, (newCall) => {
if (newCall) {
console.log('当前通话:', newCall.callId);
console.log('通话类型:', newCall.mediaType);
}
});
recentCalls
const recentCalls: Ref
最近通话记录列表
类型:
Ref
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { recentCalls } = useCallState();
// 监听最近通话记录变化
watch(recentCalls, (newCalls) => {
console.log('最近通话记录:', newCalls);
newCalls.forEach((call) => {
console.log('通话ID:', call.callId, '类型:', call.mediaType);
});
});
cursor
const cursor: Ref
通话记录查询游标
类型:
Ref
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { cursor } = useCallState();
// 监听查询游标变化
watch(cursor, (newCursor) => {
console.log('当前游标:', newCursor);
if (newCursor) {
console.log('还有更多通话记录可加载');
}
});
selfInfo
const selfInfo: Ref
当前用户在通话中的信息
类型:
Ref
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { selfInfo } = useCallState();
// 监听自身通话信息变化
watch(selfInfo, (newInfo) => {
if (newInfo) {
console.log('用户ID:', newInfo.userId);
console.log('麦克风状态:', newInfo.isMicMuted ? '静音' : '开启');
console.log('摄像头状态:', newInfo.isCameraMuted ? '关闭' : '开启');
}
});
allParticipants
const allParticipants: Ref
所有通话参与者列表
类型:
Ref
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { allParticipants } = useCallState();
// 监听通话参与者变化
watch(allParticipants, (newParticipants) => {
console.log('参与者数量:', newParticipants.length);
newParticipants.forEach((participant) => {
console.log('用户:', participant.userId, '音频:', participant.hasAudio, '视频:', participant.hasVideo);
});
});
speakerVolumes
const speakerVolumes: Ref
参与者音量列表
类型:
Ref
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { speakerVolumes } = useCallState();
// 监听参与者音量变化
watch(speakerVolumes, (newVolumes) => {
newVolumes.forEach((item) => {
console.log('用户:', item.userId, '音量:', item.volume);
});
});
networkQualities
const networkQualities: Ref>
参与者网络质量信息
类型:
Ref>
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { networkQualities } = useCallState();
// 监听网络质量变化
watch(networkQualities, (newQualities) => {
Object.entries(newQualities).forEach(([userId, quality]) => {
console.log('用户:', userId, '网络质量:', quality);
});
});
接口函数
calls
function calls(params: CallsOptions)
发起通话
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CallsOptions | 通话参数 |
示例
import { useCallState, CallMediaType } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { calls } = useCallState();
calls({
participantIds: ['user123', 'user456'],
mediaType: CallMediaType.Video,
success: () => console.log('发起通话成功'),
fail: (code, message) => console.error('发起通话失败:', code, message)
});
accept
function accept(params?: AcceptOptions)
接听通话
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | AcceptOptions | 接听参数(可选) |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { accept } = useCallState();
accept({
success: () => console.log('接听成功'),
fail: (code, message) => console.error('接听失败:', code, message)
});
reject
function reject(params?: RejectOptions)
拒绝通话
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | RejectOptions | 拒绝参数(可选) |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { reject } = useCallState();
reject({
success: () => console.log('拒绝成功'),
fail: (code, message) => console.error('拒绝失败:', code, message)
});
hangup
function hangup(params?: HangupOptions)
挂断通话
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | HangupOptions | 挂断参数(可选) |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { hangup } = useCallState();
hangup({
success: () => console.log('挂断成功'),
fail: (code, message) => console.error('挂断失败:', code, message)
});
join
function join(params: JoinOptions)
加入通话
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | JoinOptions | 加入通话参数 |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { join } = useCallState();
join({
callId: 'call_123456',
success: () => console.log('加入通话成功'),
fail: (code, message) => console.error('加入通话失败:', code, message)
});
invite
function invite(params: InviteOptions)
邀请用户加入通话
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | InviteOptions | 邀请参数 |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { invite } = useCallState();
invite({
participantIds: ['user789'],
success: () => console.log('邀请成功'),
fail: (code, message) => console.error('邀请失败:', code, message)
});
queryRecentCalls
function queryRecentCalls(params?: QueryRecentCallsOptions)
查询通话记录
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| [params] | QueryRecentCallsOptions | 查询参数(可选) |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { queryRecentCalls } = useCallState();
queryRecentCalls({
cursor: '',
count: 20,
success: () => console.log('查询成功'),
fail: (code, message) => console.error('查询失败:', code, message)
});
deleteRecentCalls
function deleteRecentCalls(params: DeleteRecentCallsOptions)
删除通话记录
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | DeleteRecentCallsOptions | 删除参数 |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { deleteRecentCalls } = useCallState();
deleteRecentCalls({
callIdList: ['call_123', 'call_456'],
success: () => console.log('删除成功'),
fail: (code, message) => console.error('删除失败:', code, message)
});
addCallListener
function addCallListener(eventName: string, listener: ICallListener, listenerID?: string)
添加通话事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onCallStarted'(通话开始) | 'onCallReceived'(收到通话) | 'onCallEnded'(通话结束) |
| listener | ICallListener | 事件回调函数 |
| [listenerID] | string | 监听器ID(可选,用于标识和移除特定监听器) |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { addCallListener } = useCallState();
// 监听收到通话事件
addCallListener('onCallReceived', (params) => {
console.log('收到通话:', params);
// params 包含: { callId, mediaType, userData }
}, 'myListener');
// 监听通话开始事件
addCallListener('onCallStarted', (params) => {
console.log('通话已开始:', params);
// params 包含: { callId, mediaType }
});
// 监听通话结束事件
addCallListener('onCallEnded', (params) => {
console.log('通话已结束:', params);
// params 包含: { callId, mediaType, reason, userId }
});
removeCallListener
function removeCallListener(eventName: string, listenerID?: string)
移除通话事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| [listenerID] | string | 监听器ID(可选,如果不传则移除该事件的所有监听器) |
示例
import { useCallState } from '@/uni_modules/tuikit-atomic-x/state/CallState';
const { removeCallListener } = useCallState();
// 移除特定监听器
removeCallListener('onCallReceived', 'myListener');
// 移除该事件的所有监听器
removeCallListener('onCallReceived');