UNPKG

sdg

Version:

pomelo ts

46 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class DirectSchedule { constructor(app, opts) { this.app = app; this.opts = opts; } start() { } stop() { } schedule(route, data, sids, opts) { this.app.logger.info('[Direct][Schedule]', { route, data, sids, opts }); opts = opts || {}; const msg = { route, data, ts: Date.now() }; if (opts.type === 'broadcast') { this.doBroadcast(msg, opts.userOptions || {}); } else { this.doBatchPush(msg, sids); } } /** * 批量发送消息 * @param msg * @param opts */ doBroadcast(msg, opts) { const sessionService = this.app.sessionService; // 给绑定uid的socket发消息 if (opts.binded) { sessionService.getBindedSessions().map(s => sessionService.sendMsgByUid(s.uid, msg)); } else { sessionService.getSessions().map(s => sessionService.sendMsg(s.id, msg)); } } /** * 给指定的客户端发消息 * @param msg * @param sids */ doBatchPush(msg, sids) { sids.map(sid => this.app.sessionService.sendMsg(sid, msg)); } } exports.default = DirectSchedule; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1c2hTY2hlZHVsZXJzL2RpcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE1BQXFCLGNBQWM7SUFJakMsWUFBWSxHQUFnQixFQUFFLElBQWE7UUFDekMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU0sS0FBSyxLQUFJLENBQUM7SUFDVixJQUFJLEtBQUksQ0FBQztJQUVULFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBYyxFQUFFLElBQWtCLEVBQUUsSUFBbUI7UUFDcEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVsQixNQUFNLEdBQUcsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUMvQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBYSxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxHQUFrQixFQUFFLElBQW9CO1FBQzFELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQy9DLG1CQUFtQjtRQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0RjthQUFNO1lBQ0wsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFFO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxXQUFXLENBQUMsR0FBa0IsRUFBRSxJQUFXO1FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGO0FBL0NELGlDQStDQyJ9