sdg
Version:
pomelo ts
52 lines (51 loc) • 1.29 kB
TypeScript
import ChannelService from '../channelService';
import { FRONTEND_ID, IGroups, IRecords, UID } from '../../..';
export default class Channel {
private channelService;
name: string;
groups: IGroups;
records: IRecords;
private userAmount;
private state;
constructor(name: string, channelService: ChannelService);
/**
* 用户加入channel
* @param uid
* @param frontendId
*/
add(uid: UID, frontendId: FRONTEND_ID): Promise<boolean>;
/**
* 退出channel
* @param uid
* @param frontendId
*/
leave(uid: UID, frontendId: FRONTEND_ID): Promise<boolean>;
getUserAmount(): number;
/**
* Get channel members.
* @return {Array} channel member uid list
*/
getMembers(): string[];
/**
* Get Member info.
*
* @param {String} uid user id
* @return {Object} member info
*/
getMember(uid: UID): {
frontendId: string;
uid: string;
};
/**
* Remove member by uid
* @param uid member to removed
*/
removeMember(uid: UID): Promise<boolean>;
/**
* 给当前channel所有用户发消息
* @param route
* @param msg
*/
pushMessage(route: string, msg: any): void;
destroy(): Promise<void>;
}