🎈 perf(热更新): 添加白名单热更新地址
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import { STATUS } from '@consts';
|
||||
import { GameModel } from '@db/Game';
|
||||
import { Controller } from 'egg';
|
||||
import { RoleModel } from '@db/Role';
|
||||
import { NoticeModel } from '@db/Notice';
|
||||
@@ -24,13 +23,13 @@ export default class GameController extends Controller {
|
||||
return ctx.body = ctx.service.utils.resResult(STATUS.VERSION_ERR);
|
||||
}
|
||||
|
||||
const versionFlag = ctx.service.utils.compareVersion(version, curRegion.versionCode);
|
||||
const versionFlag = ctx.service.utils.compareVersion(version, curRegion.minVersion);
|
||||
if (versionFlag >= 0) {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
return;
|
||||
}
|
||||
//版本号太低
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.VERSION_ERR, { version: curRegion.versionCode });
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.VERSION_ERR, { version: curRegion.minVersion });
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -120,26 +119,6 @@ export default class GameController extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
public async newServer() {
|
||||
const { ctx } = this;
|
||||
const { serverId, serverType, name, host, port, status } = ctx.request.body;
|
||||
const serverList = await GameModel.getAllServerList();
|
||||
for (let { id, host: preHost, port: prePort } of serverList) {
|
||||
if (preHost === host && prePort === port && id === serverId) {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.SERVER_EXISTS);
|
||||
return;
|
||||
}
|
||||
}
|
||||
const gameInfo = await GameModel.newServer(serverId, serverType, name, host, port, status);
|
||||
if (gameInfo) {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { gameInfo });
|
||||
} else {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.NEW_SERVER_ERR);
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
public async getnotice() {
|
||||
const { ctx } = this;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { Controller } from 'egg';
|
||||
import { RegionModel } from '@db/Region';
|
||||
import { STATUS } from '@consts';
|
||||
import { checkWhiteList } from 'app/pubUtils/sysUtil';
|
||||
|
||||
export default class UpdateController extends Controller {
|
||||
public async getversion() {
|
||||
@@ -15,12 +16,13 @@ export default class UpdateController extends Controller {
|
||||
|
||||
const env = this.app.config.realEnv;
|
||||
const curRegion = await RegionModel.findRegionByEnv(env);
|
||||
const { curVersion, updateResUrl, addressType: originAddressType } = curRegion;
|
||||
const { curVersion, whitelistVersion, updateResUrl, addressType: originAddressType } = curRegion;
|
||||
|
||||
if(originAddressType != addressType) {
|
||||
return ctx.body = ctx.service.utils.resResult(STATUS.ADDRESS_ERR);
|
||||
}
|
||||
let isWhiteList = await checkWhiteList(ctx.app.config.realEnv, ctx.clientIp, ctx.uid);
|
||||
|
||||
ctx.body = await ctx.service.update.getUpdateUrl(env, curVersion, updateResUrl);
|
||||
ctx.body = await ctx.service.update.getUpdateUrl(env, isWhiteList? whitelistVersion: curVersion, updateResUrl);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user