热更新:handler监听热更新

This commit is contained in:
qiaoxin
2021-07-16 11:29:26 +08:00
parent dc15862207
commit fc1b2c080e
65 changed files with 321 additions and 254 deletions
@@ -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;
}