UNPKG

sdg

Version:

pomelo ts

84 lines 4.16 kB
"use strict"; /** * 登录信息 */ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const lodash_1 = tslib_1.__importDefault(require("lodash")); const base_1 = tslib_1.__importDefault(require("../../base")); class ConnectionService extends base_1.default { constructor(app) { super(app); this.connCount = 0; this.loginedCount = 0; this.logined = {}; this.serverId = app.getServerId(); } /** * 成功登录,记录信息 * @param uid * @param info */ addLoginedUser(uid, info) { if (!this.logined[uid]) { this.loginedCount++; } info.uid = uid; this.logined[uid] = info; } /** * 更新登录信息 * @param uid * @param info */ updateUserInfo(uid, info) { let user = this.logined[uid]; if (!user) return; for (let p in info) { if (info.hasOwnProperty(p) && typeof info[p] !== 'function') { user[p] = info[p]; } } } /** * Increase connection count */ increaseConnectionCount() { this.connCount++; } /** * 离线 * @param uid */ removeLoginedUser(uid) { if (this.logined[uid]) this.loginedCount--; delete this.logined[uid]; } /** * 减少连接 * @param uid {String} uid */ decreaseConnectionCount(uid) { if (this.connCount) this.connCount--; if (uid) { this.removeLoginedUser(uid); } } /** * Get statistics info * @return {Object} statistics info */ getStatisticsInfo() { return { serverId: this.serverId, totalConnCount: this.connCount, loginedCount: this.loginedCount, loginedList: lodash_1.default.values(this.logined) }; } } exports.default = ConnectionService; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvblNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3NlcnZpY2UvY29ubmVjdGlvblNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSCw0REFBdUI7QUFHdkIsOERBQThCO0FBRTlCLE1BQXFCLGlCQUFrQixTQUFRLGNBQUk7SUFNakQsWUFBWSxHQUFnQjtRQUMxQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFMTixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsWUFBTyxHQUF3QyxFQUFFLENBQUM7UUFJdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUdEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsR0FBUSxFQUFFLElBQXNCO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtRQUVELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsR0FBUSxFQUFFLElBQXNCO1FBQzdDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRWxCLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFRLElBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVLEVBQUU7Z0JBQ25FLElBQVksQ0FBQyxDQUFDLENBQUMsR0FBSSxJQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckM7U0FDRjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILHVCQUF1QjtRQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLEdBQVE7UUFDeEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUzQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILHVCQUF1QixDQUFDLEdBQVE7UUFDOUIsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVyQyxJQUFJLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxpQkFBaUI7UUFDZixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUM5QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsV0FBVyxFQUFFLGdCQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQW5GRCxvQ0FtRkMifQ==