sdg
Version:
pomelo ts
46 lines • 3.15 kB
JavaScript
;
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