From 5c64b3b2d1a1b0413a3fae980669e96e38db0955 Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 25 Apr 2022 20:54:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E4=BD=8E=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/consts/constModules/sysConst.ts | 2 -- shared/db/Region.ts | 3 +++ shared/domain/backEndField/params.ts | 8 ++++++-- shared/resource/jsons/dic_goods.json | 2 +- web-server/app/controller/game.ts | 12 +++++++++--- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index eb19f85b0..668c78d8c 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -10,8 +10,6 @@ export const TEL_ENCRYPT_KEY = 'fiqaxijabbantusm'; export const DEBUG_MAGIC_WORD = 'zyz666server518'; -export const CLIENT_VERSION = 1;//客户端最低版本号 - export const AUTH_SMS_CNT_PER_DAY = 8; export const ADULT_AGE = 18; diff --git a/shared/db/Region.ts b/shared/db/Region.ts index e83741e14..dbd94f187 100644 --- a/shared/db/Region.ts +++ b/shared/db/Region.ts @@ -39,6 +39,9 @@ export default class Region extends BaseModel { @prop({ required: true }) latestServer: number; // 最新服 + @prop({ required: true }) + versionCode: number; // 版本号 + @prop({ required: true }) latestServerUniqId: number; // 最新服唯一id diff --git a/shared/domain/backEndField/params.ts b/shared/domain/backEndField/params.ts index 7ac32d402..c4d8bdd7c 100644 --- a/shared/domain/backEndField/params.ts +++ b/shared/domain/backEndField/params.ts @@ -74,6 +74,7 @@ export class UpdateRegionParams { name: string = ''; // 大区名 prefix: string = ''; // 区名前缀 remark: string = ''; + versionCode: number = 1; maxPlayerCnt: number = 0; timers: SERVER_TIMER[] = []; @@ -92,7 +93,7 @@ export class UpdateRegionParams { } checkParams() { - if(!this.id || !this.name || !this.prefix || !this.maxPlayerCnt || !isArray(this.timers) || this.timers.length <= 0 || !isArray(this.activityGroupId) || this.activityGroupId.length <= 0 ) { + if(!this.id || !this.name || !this.prefix || !this.maxPlayerCnt || !isArray(this.timers) || this.timers.length <= 0 || !isArray(this.activityGroupId) || this.activityGroupId.length <= 0 || !isNumber(this.versionCode)) { return false } return true; @@ -105,6 +106,7 @@ export class UpdateRegionParams { name: this.name, prefix: this.prefix, remark: this.remark, + versionCode: this.versionCode, stategy } } else { @@ -113,6 +115,7 @@ export class UpdateRegionParams { name: this.name||oldRegion.name, prefix: this.prefix||oldRegion.prefix, remark: this.remark||oldRegion.remark, + versionCode: this.versionCode||oldRegion.versionCode, stategy: { ...(oldRegion.stategy||{}), ...stategy } } } @@ -123,6 +126,7 @@ export class CreateRegionParam { name: string = ''; // 大区名 prefix: string = ''; // 区名前缀 remark: string = ''; + versionCode: number = 1; env: string = ''; // 环境变量 gmLink: string; // 对应后台链接 gameHost: string; // 长链接 @@ -136,7 +140,7 @@ export class CreateRegionParam { } checkParams() { - if(!this.name || !this.prefix || !this.env || !this.gmLink || !this.gameHost || !this.gmPort || !this.webHost || !isNumber(this.gmPort) ) { + if(!this.name || !this.prefix || !this.env || !this.gmLink || !this.gameHost || !this.gmPort || !this.webHost || !isNumber(this.gmPort) || !isNumber(this.versionCode)) { return false } return true; diff --git a/shared/resource/jsons/dic_goods.json b/shared/resource/jsons/dic_goods.json index 7f11d22a8..834c10853 100644 --- a/shared/resource/jsons/dic_goods.json +++ b/shared/resource/jsons/dic_goods.json @@ -1425,7 +1425,7 @@ "good_id": 11319, "name": "第一赛季亚军头像框", "quality": 1, - "image_id": "sa3", + "image_id": "sai3", "itid": 51, "goodType": 10, "redPoint": 0, diff --git a/web-server/app/controller/game.ts b/web-server/app/controller/game.ts index 712382a34..dc9e14499 100644 --- a/web-server/app/controller/game.ts +++ b/web-server/app/controller/game.ts @@ -1,4 +1,4 @@ -import { CLIENT_VERSION, STATUS } from '@consts'; +import { STATUS } from '@consts'; import { GameModel } from '@db/Game'; import { Controller } from 'egg'; import { RoleModel } from '@db/Role'; @@ -9,18 +9,24 @@ import { ServerlistModel } from '@db/Serverlist'; import { dispatch } from 'app/pubUtils/dispatcher'; import { RedisClient } from 'redis'; import { REDIS_KEY } from '@consts'; +import { RegionModel } from '@db/Region'; +import { resResult } from 'app/pubUtils/util'; export default class GameController extends Controller { public async checkVersion() { const { ctx } = this; const { version } = ctx.request.body; - if (version >= CLIENT_VERSION) { + + let curRegion = await RegionModel.findRegionByEnv(this.app.config.realEnv); + if(!curRegion) return resResult(STATUS.VERSION_ERR); + + if (version >= curRegion.versionCode) { ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS); return; } //版本号太低 - ctx.body = ctx.service.utils.resResult(STATUS.VERSION_ERR, { version: CLIENT_VERSION }); + ctx.body = ctx.service.utils.resResult(STATUS.VERSION_ERR, { version: curRegion.versionCode }); return; }