远程登录

This commit is contained in:
mamengke01
2020-12-25 16:22:21 +08:00
parent cc7b0fb276
commit e9c14f9f6a

View File

@@ -13,6 +13,7 @@ import { getAp } from '../../../services/actionPointService';
import Actor from '../../../pubUtils/actor';
import { ItemModel } from '../../../db/Item';
import { switchOnFunc } from '../../../services/funcSwitchService';
import { stat } from 'fs';
export default function (app: Application) {
return new EntryHandler(app);
@@ -43,7 +44,8 @@ export class EntryHandler {
if (!role) {
return resResult(STATUS.ROLE_NOT_FOUND);
}
sessionService.kick(role.roleId);//踢掉之前登录的账号code1005
self.remoteLogin(role.roleId);
await sessionService.akick(role.roleId);//踢掉之前登录的账号code1005
await session.abind(role.roleId);
session.set('uid', role.roleId);
session.set('roleId', role.roleId);
@@ -91,6 +93,18 @@ export class EntryHandler {
return resResult(STATUS.SUCCESS, { role });
}
remoteLogin(uid: string) {
let sessionService = this.app.get('sessionService');
let sessions = sessionService.getByUid(uid);
if (!!sessions) {
sessions.forEach(session=>{
let roleId = session.get('roleId');
let sid = session.get('sid');
let uids = [{uid: roleId, sid}];
this.app.get('channelService').pushMessageByUids('onRemoteLogin', resResult(STATUS.LOGIN_ERR ), uids);
});
}
}
/**
* User log out handler
*
@@ -98,7 +112,7 @@ export class EntryHandler {
* @param {Object} session current session object
*
*/
onUserLeave(session: FrontendSession) {
onUserLeave(session: FrontendSession, reason: string) {
if (!session || !session.uid) {
return;
}
@@ -110,7 +124,6 @@ export class EntryHandler {
let channelService = this.app.get('channelService');
let channel = channelService.getChannel(roleId, true);
channel.leave(roleId, sid);
this.app.rpc.battle.battleRemote.kick.route(session)(roleId, this.app.get('serverId'), serverId);
// this.app.rpc.chat.chatRemote.kick.route(session, true)(session.uid, this.app.get('serverId'), session.get('rid'));
}