UNPKG

agora-edu-core

Version:

Core APIs for building an online classroom

158 lines (157 loc) 3.57 kB
import { AgoraRteScene } from 'agora-rte-sdk'; import { EduStoreBase } from '../base'; import { EduUserStruct } from './struct'; import { FetchUserParam } from './type'; /** * `UserStore` 类用于管理用户。 */ /** @en * The `UserStore` class is used for managing users. */ export declare class UserStore extends EduStoreBase { private _disposers; private _dataStore; /** * @internal * * 主房间数据信息 **/ /** @en * @internal * * Main room datastore */ get mainRoomDataStore(): DataStore; /** * @internal * * 分组房间数据信息 **/ /** @en * @internal * * Sub room datastore */ get subRoomDataStore(): DataStore; /** * 本地用户 **/ /** @en * Local user */ get localUser(): EduUserStruct | undefined; /** * 房间内所有用户 **/ /** @en * All users in the room */ get users(): Map<string, EduUserStruct>; /** * 房间内用户数 */ /** @en * Number of users in the room */ get userCount(): number; /** * 老师列表 **/ /** @en * Teacher list */ get teacherList(): Map<string, EduUserStruct>; /** * 学生列表 **/ /** @en * Student list */ get studentList(): Map<string, EduUserStruct>; /** * 助教列表 **/ /** @en * Assistant list */ get assistantList(): Map<string, EduUserStruct>; /** * 奖励信息字典 * key: 用户UUID * value: 用户获得的奖励数 **/ /** @en * Rewards info map * key: User UUID * value: The number of rewards the user gets */ get rewards(): Map<string, number>; /** * 获取用户列表 * @param params 查询条件 * @returns 用户列表 * **/ /** @en * Gets the user list * @param params Search conditions * @returns User list */ fetchUserList(params: FetchUserParam): Promise<{ total: any; count: any; nextId: any; list: any; }>; /** * 将用户踢出房间 * @param userUuid 用户 ID * @param isBan 是否永久封禁该用户 * **/ /** @en * Kicks a user out of the room * @param userUuid The user ID * @param isBan Whether to ban the user */ kickOutOnceOrBan(userUuid: string, isBan: boolean): Promise<undefined>; private _setEventHandler; /** * 更新用户自定属性 * @param users 要更新的用户属性信息 * @param fromScene 要更新的用户所在的房间对象,不传默认为当前房间 */ /** @en * Updates users properties * @param users Information about the user properties to be updated * @param fromScene The room object in which the user resides. If not passed, defaults to the current room */ updateUserProperties(users: { userUuid: string; properties: any; cause?: any; }[], fromScene?: AgoraRteScene): Promise<void>; /** * @internal */ /** @en * @internal */ onInstall(): void; /** * @internal */ /** @en * @internal */ onDestroy(): void; } declare type DataStore = { users: Map<string, EduUserStruct>; teacherList: Map<string, EduUserStruct>; studentList: Map<string, EduUserStruct>; assistantList: Map<string, EduUserStruct>; rewards: Map<string, number>; userCount: number; }; export {};