热更新:handler监听热更新
This commit is contained in:
@@ -3,7 +3,7 @@ import { EquipModel } from './../../../db/Equip';
|
||||
import { RoleModel, RoleType } from './../../../db/Role';
|
||||
import { UserModel } from '../../../db/User';
|
||||
import { GMUserModel } from '../../../db/GMUser';
|
||||
import { Application } from 'pinus';
|
||||
import { Application, HandlerService, } from 'pinus';
|
||||
import { FrontendSession } from 'pinus';
|
||||
import { HeroModel } from './../../../db/Hero';
|
||||
import { resResult } from '../../../pubUtils/util';
|
||||
@@ -24,6 +24,7 @@ import { pushData, everydayRefresh } from '../../../services/connectorService';
|
||||
import { pick } from 'lodash';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
return new EntryHandler(app);
|
||||
}
|
||||
|
||||
@@ -90,7 +91,7 @@ export class EntryHandler {
|
||||
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SUM, role);
|
||||
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SERIES, role);
|
||||
// 推送数据
|
||||
if(role.hasInit) pushData(role, session);
|
||||
if (role.hasInit) pushData(role, session);
|
||||
|
||||
role['heros'] = heros;
|
||||
role['equips'] = equips;
|
||||
@@ -154,7 +155,7 @@ export class EntryHandler {
|
||||
* @param {Object} msg request message
|
||||
* @param {Object} session current session object
|
||||
*/
|
||||
async refresh(msg: { }, session: FrontendSession) {
|
||||
async refresh(msg: {}, session: FrontendSession) {
|
||||
let self = this;
|
||||
let roleId = session.get('roleId');
|
||||
|
||||
@@ -304,7 +305,7 @@ export class EntryHandler {
|
||||
return resResult(STATUS.TOKEN_ERR);
|
||||
}
|
||||
await everydayRefresh();
|
||||
|
||||
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
import { Application, ChannelService, FrontendSession, pinus, RemoterClass } from 'pinus';
|
||||
import { Application, ChannelService, FrontendSession, pinus, RemoterClass, HandlerService, } from 'pinus';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { resResult } from '../../../pubUtils/util';
|
||||
import { reloadResources } from '../../../pubUtils/data';
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
return new ConnectorRemote(app);
|
||||
}
|
||||
|
||||
@@ -19,21 +20,21 @@ export class ConnectorRemote {
|
||||
let sessionService = this.app.get('sessionService');
|
||||
let sessions = sessionService.getByUid(uid);
|
||||
if (!!sessions) {
|
||||
sessions.forEach(session=>{
|
||||
sessions.forEach(session => {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let uids = [{uid: roleId, sid}];
|
||||
this.channelService.pushMessageByUids('onRemoteLogin', resResult(STATUS.SERVER_MAINTENANCE ), uids);
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
this.channelService.pushMessageByUids('onRemoteLogin', resResult(STATUS.SERVER_MAINTENANCE), uids);
|
||||
});
|
||||
}
|
||||
await sessionService.akick(uid);
|
||||
}
|
||||
|
||||
public async pushMessage( uid: string, route: string, data:any) {
|
||||
public async pushMessage(uid: string, route: string, data: any) {
|
||||
let sid = pinus.app.getServerId();
|
||||
if (!!sid) {
|
||||
let uids = [{uid, sid}];
|
||||
this.channelService.pushMessageByUids(route, resResult(STATUS.SUCCESS, {mails:data}), uids);
|
||||
let uids = [{ uid, sid }];
|
||||
this.channelService.pushMessageByUids(route, resResult(STATUS.SUCCESS, { mails: data }), uids);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +48,7 @@ export class ConnectorRemote {
|
||||
public setServerMainten(maintenServers: number[]) {
|
||||
return this.maintenServers = maintenServers;
|
||||
}
|
||||
|
||||
|
||||
public getServerMainten() {
|
||||
return this.maintenServers;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user