后台:服务器维护

This commit is contained in:
luying
2021-12-08 10:25:21 +08:00
parent 103314a8bf
commit 22f8d3c438
29 changed files with 512 additions and 343 deletions
@@ -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) {