修改大区支持最小资源版本号为字符串
This commit is contained in:
+1
-1
@@ -40,7 +40,7 @@ export default class Region extends BaseModel {
|
|||||||
latestServer: number; // 最新服
|
latestServer: number; // 最新服
|
||||||
|
|
||||||
@prop({ required: true })
|
@prop({ required: true })
|
||||||
versionCode: number; // 支持的最小版本号
|
versionCode: string; // 支持的最小版本号
|
||||||
|
|
||||||
@prop({ required: true })
|
@prop({ required: true })
|
||||||
curVersion: string; // 当前版本号,格式 x.x.x.x
|
curVersion: string; // 当前版本号,格式 x.x.x.x
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ export class UpdateRegionParams {
|
|||||||
name: string = ''; // 大区名
|
name: string = ''; // 大区名
|
||||||
prefix: string = ''; // 区名前缀
|
prefix: string = ''; // 区名前缀
|
||||||
remark: string = '';
|
remark: string = '';
|
||||||
versionCode: number = 1;
|
versionCode: string = '';
|
||||||
curVersion: string = '';
|
curVersion: string = '';
|
||||||
updateResUrl: string = '';
|
updateResUrl: string = '';
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ export class UpdateRegionParams {
|
|||||||
}
|
}
|
||||||
|
|
||||||
checkParams() {
|
checkParams() {
|
||||||
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) || !isString(this.curVersion) || !isString(this.updateResUrl)) {
|
if(!this.id || !this.name || !this.prefix || !this.maxPlayerCnt || !isArray(this.timers) || this.timers.length <= 0 || !isArray(this.activityGroupId) || this.activityGroupId.length <= 0 || !isString(this.versionCode) || !isString(this.curVersion) || !isString(this.updateResUrl)) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -132,7 +132,7 @@ export class CreateRegionParam {
|
|||||||
name: string = ''; // 大区名
|
name: string = ''; // 大区名
|
||||||
prefix: string = ''; // 区名前缀
|
prefix: string = ''; // 区名前缀
|
||||||
remark: string = '';
|
remark: string = '';
|
||||||
versionCode: number = 1;
|
versionCode: string = '';
|
||||||
env: string = ''; // 环境变量
|
env: string = ''; // 环境变量
|
||||||
gmLink: string; // 对应后台链接
|
gmLink: string; // 对应后台链接
|
||||||
gameHost: string; // 长链接
|
gameHost: string; // 长链接
|
||||||
@@ -147,7 +147,7 @@ export class CreateRegionParam {
|
|||||||
}
|
}
|
||||||
|
|
||||||
checkParams() {
|
checkParams() {
|
||||||
if(!this.name || !this.prefix || !this.env || !this.gmLink || !this.gameHost || !this.gmPort || !this.webHost || !isNumber(this.gmPort) || !isNumber(this.versionCode) || !this.updateResUrl) {
|
if(!this.name || !this.prefix || !this.env || !this.gmLink || !this.gameHost || !this.gmPort || !this.webHost || !isNumber(this.gmPort) || !isString(this.versionCode) || !this.updateResUrl) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ export default class GameController extends Controller {
|
|||||||
let curRegion = await RegionModel.findRegionByEnv(this.app.config.realEnv);
|
let curRegion = await RegionModel.findRegionByEnv(this.app.config.realEnv);
|
||||||
if(!curRegion) return resResult(STATUS.VERSION_ERR);
|
if(!curRegion) return resResult(STATUS.VERSION_ERR);
|
||||||
|
|
||||||
if (version >= curRegion.versionCode) {
|
const versionFlag = ctx.service.utils.compareVersion(version, curRegion.versionCode);
|
||||||
|
if (versionFlag >= 0) {
|
||||||
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS);
|
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,4 +71,24 @@ export default class Utils extends Service {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 比较以 . 分隔的版本号。返回 0 则版本号相等,返回正数则 versionA 大,返回负数则 versionB 大
|
||||||
|
public compareVersion (versionA: string, versionB: string) {
|
||||||
|
var vA = versionA.split('.');
|
||||||
|
var vB = versionB.split('.');
|
||||||
|
for (var i = 0; i < vA.length; ++i) {
|
||||||
|
var a = parseInt(vA[i]);
|
||||||
|
var b = parseInt(vB[i] || '0');
|
||||||
|
if (a === b) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return a - b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (vB.length > vA.length) {
|
||||||
|
return -1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user