防沉迷:修复登录退出时不必全部用户循环
This commit is contained in:
@@ -20,7 +20,7 @@ import { gameData } from '../../../pubUtils/data';
|
||||
|
||||
import { getMails } from '../../../services/mailService';
|
||||
import { addRoleToGuildChannel, addRoleToSysChannel, addRoleToWorldChannel, leaveGuildChannel, leaveSysChannel, leaveWorldChannel } from '../../../services/chatService';
|
||||
import { reportOnlineSchedule } from '../../../services/timeTaskService';
|
||||
import { reportOneOnline } from '../../../services/timeTaskService';
|
||||
export default function (app: Application) {
|
||||
return new EntryHandler(app);
|
||||
}
|
||||
@@ -100,7 +100,7 @@ export class EntryHandler {
|
||||
let mails = await getMails(role.roleId, serverId)
|
||||
await chackFunOpenWhenLogin(role, session);
|
||||
await loginRefresh(role.roleId);
|
||||
await reportOnlineSchedule();
|
||||
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), user.pkgName);
|
||||
|
||||
role['heros'] = heros;
|
||||
role['equips'] = equips;
|
||||
@@ -146,7 +146,11 @@ export class EntryHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let serverId = session.get('serverId');
|
||||
roleLeave(roleId);
|
||||
roleLeave(roleId).then(function(roleInfo) {
|
||||
if(roleInfo.isOnline) {
|
||||
reportOneOnline(roleId, roleInfo.userCode, sid, roleInfo.pkgName);
|
||||
}
|
||||
});
|
||||
rmRoleFromQueue(roleId, sid, COM_BTL_QUALITY, null); // 删除redis中寻宝的匹配记录
|
||||
let channelService = this.app.get('channelService');
|
||||
let channel = channelService.getChannel(roleId, true);
|
||||
@@ -158,7 +162,6 @@ export class EntryHandler {
|
||||
await leaveWorldChannel(roleId, sid, serverId);
|
||||
await leaveGuildChannel(roleId, sid);
|
||||
RoleModel.updateRoleInfo(roleId, { quitTime: nowSeconds() });
|
||||
reportOnlineSchedule();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user