后台:服务器维护
This commit is contained in:
@@ -6,6 +6,8 @@ import { resResult, checkWhiteListWithUid, genCode } from "../../../pubUtils/uti
|
||||
import { BLOCK_TYPE, CHANNEL_PREFIX, MSG_TYPE, STATUS } from "../../../consts";
|
||||
import { UserModel } from "../../../db/User";
|
||||
import { SERVER_DEBUG_MODE } from "../../../pubUtils/dicParam";
|
||||
import { nowSeconds } from "../../../pubUtils/timeUtil";
|
||||
import { getServerMainten } from "../../../services/gmService";
|
||||
export function globalFilter(app: Application) {
|
||||
return new Filter(app);
|
||||
}
|
||||
@@ -37,13 +39,17 @@ Filter.prototype.before = async function (routeRecord: RouteRecord, msg: any, se
|
||||
|
||||
session.push('teamCode', () => {});
|
||||
|
||||
const maintenServers = this.app.get('maintenServers');
|
||||
if(maintenServers && maintenServers.indexOf(serverId) != -1) { // 该服务器维护
|
||||
let isWhiteList = await checkWhiteListWithUid(uid);
|
||||
if(isWhiteList) return next(null);
|
||||
|
||||
pinus.app.get('channelService').pushMessageByUids('onServerMaintenance', resResult(STATUS.SERVER_MAINTENANCE), [{ uid: roleId, sid }]);
|
||||
return next(new Error(), resResult(STATUS.SERVER_MAINTENANCE));
|
||||
if(sid) {
|
||||
const mainten = getServerMainten(serverId);
|
||||
console.log('***** maintenServers', mainten)
|
||||
if(mainten) { // 该服务器维护
|
||||
if(mainten.startTime > nowSeconds() || mainten.endTime < nowSeconds()) return next(null)
|
||||
let isWhiteList = await checkWhiteListWithUid(uid);
|
||||
if(isWhiteList) return next(null);
|
||||
|
||||
pinus.app.get('channelService').pushMessageByUids('onServerMaintenance', resResult(STATUS.SERVER_MAINTENANCE), [{ uid: roleId, sid }]);
|
||||
return next(new Error(), resResult(STATUS.SERVER_MAINTENANCE));
|
||||
}
|
||||
}
|
||||
|
||||
let hasBlockWords = false;
|
||||
|
||||
@@ -6,6 +6,7 @@ import { UserGuildType } from '../../../db/UserGuild';
|
||||
import { kickUser } from '../../../services/connectorService';
|
||||
import { PVPConfigType } from '../../../db/SystemConfig';
|
||||
import { setDicAuctionTime } from '../../../services/guildActivityService';
|
||||
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
return new ConnectorRemote(app);
|
||||
@@ -16,7 +17,6 @@ export class ConnectorRemote {
|
||||
constructor(private app: Application) {
|
||||
this.app = app;
|
||||
}
|
||||
private maintenServers: number[] = []; // 维护中的服务器
|
||||
|
||||
public async remoteLogin(uid: string, message?: any) {
|
||||
await kickUser(this.app, uid, message);
|
||||
@@ -69,13 +69,16 @@ export class ConnectorRemote {
|
||||
reloadResources();
|
||||
}
|
||||
|
||||
public setServerMainten(maintenServers: number[]) {
|
||||
this.app.set('maintenServers', maintenServers);
|
||||
return this.maintenServers = maintenServers;
|
||||
public setServerMainten(serverIds: number[], startTime: number, endTime: number) {
|
||||
setServerMainten(serverIds, startTime, endTime);
|
||||
}
|
||||
|
||||
public getServerMainten() {
|
||||
return this.maintenServers;
|
||||
public stopServerMainten(serverIds: number[]) {
|
||||
stopServerMainten(serverIds);
|
||||
}
|
||||
|
||||
public getServerMainten(serverId: number) {
|
||||
return getServerMainten(serverId);
|
||||
}
|
||||
|
||||
public setPvpSeasonNum(pvpConfig: PVPConfigType) {
|
||||
|
||||
Reference in New Issue
Block a user