ios:审核服判断逻辑

This commit is contained in:
luying
2022-06-23 09:39:46 +08:00
parent 5e5b052aa0
commit f105c79837
9 changed files with 77 additions and 6 deletions

View File

@@ -31,15 +31,40 @@ export default class GameController extends Controller {
return;
}
public async checkReview() {
const { ctx } = this;
const { version } = ctx.request.body;
let curRegion = await RegionModel.findRegionByEnv(this.app.config.realEnv);
if(!curRegion) return resResult(STATUS.VERSION_ERR);
let isReview = await ctx.service.update.checkReview(curRegion, version);
let hasNewWebServer = false, webServerUrl = '';
if(isReview && curRegion.reviewEnv) {
let reviewRegion = await RegionModel.findRegionByEnv(curRegion.reviewEnv);
if(reviewRegion) {
hasNewWebServer = true, webServerUrl = reviewRegion.webHost;
}
}
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { isReview, hasNewWebServer, webServerUrl });
return;
}
public async getServerList() {
try {
const { ctx } = this;
let { uid, clientVersion } = ctx;
console.log('clientVersion', clientVersion);
let { uid } = ctx;
const { version } = ctx.request.body;
let serverList = new Array<GroupParam>();
let loginServerList = new Array<ServerParamWithRole>();
let allServers = await ServerlistModel.findByEnv(ctx.app.config.realEnv);
let curRegion = await RegionModel.findRegionByEnv(this.app.config.realEnv);
if(!curRegion) return resResult(STATUS.VERSION_ERR);
let isReview = await ctx.service.update.checkReview(curRegion, version);
let env = isReview? curRegion.reviewEnv: ctx.app.config.realEnv;
let allServers = await ServerlistModel.findByEnv(env||ctx.app.config.realEnv, isReview);
let roles = await RoleModel.findAllByUid(uid, true, true);
for (let server of allServers) {
let curGroup = serverList.find(cur => cur.groupId == server.groupId);

View File

@@ -8,6 +8,7 @@ export default (app: Application) => {
router.get('/dev', controller.home.dev);
router.get('/dev/smscode', controller.account.getSmsCode);
router.get('/', controller.home.index);
router.post('/user/checkreview', controller.game.checkReview);
router.post('/user/channellogin', controller.account.channelLogin);
router.post('/user/devicelogin', controller.account.deviceLogin);
router.post('/user/getsms', controller.account.getSms);

View File

@@ -1,4 +1,5 @@
import { STATUS, } from '@consts';
import { RegionType } from '@db/Region';
import { Service } from 'egg';
// let fs = require("fs");
@@ -34,5 +35,13 @@ export default class Update extends Service {
remoteVersionUrl: `${baseUrl}/version.manifest`
});
}
public async checkReview(curRegion: RegionType, version: string) {
const ctx = this.ctx;
if(!curRegion || !curRegion.reviewVersion || !version) return false;
let reviewVersionFlag = ctx.service.utils.compareVersion(version, curRegion.reviewVersion);
return `${ctx.clientIp}`.startsWith('17.') || reviewVersionFlag > 0;
}
}