UNPKG

sdg

Version:

pomelo ts

45 lines (44 loc) 1.41 kB
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; }