sdg
Version:
pomelo ts
45 lines (44 loc) • 1.41 kB
TypeScript
import Base from '../../base';
import Application from '../../application';
import ChannelRemote from '../remote/frontend/channelRemote';
import { IBroadcastFilter, IChannels, IChannelServiceOptions, IGroups, IMsgRsp, IStore } from '../..';
import Channel from './channel/channel';
export default class ChannelService extends Base {
channelRemote: ChannelRemote;
store: IStore;
prefix: string;
channels: IChannels;
broadcastFilter: IBroadcastFilter;
constructor(app: Application, opts: IChannelServiceOptions);
start(): Promise<void>;
/**
* 创建channel
* @param name
*/
createChannel(name: string): Promise<Channel>;
getChannel(name: string, create?: boolean): Promise<Channel>;
destroyChannel(name: string): Promise<void>;
pushMessageByUids(route: string, msg: any, uids: any): void;
/**
* 给某组发消息
* @param route
* @param msg
* @param groups
*/
sendMessageByGroup(route: string, msg: IMsgRsp, groups: IGroups): void;
/**
* 给某个类型服务器广播消息
* @param serverType
* @param route
* @param msg
*/
broadcast(serverType: string, route: string, msg: IMsgRsp): void;
/**
* 本服务器上广播
* @param route
* @param msg
*/
broadcastSelf(route: string, msg: IMsgRsp): void;
private sendMessage;
private restoreChannel;
}