修改大区支持最小资源版本号为字符串
This commit is contained in:
@@ -21,7 +21,8 @@ export default class GameController extends Controller {
|
||||
let curRegion = await RegionModel.findRegionByEnv(this.app.config.realEnv);
|
||||
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);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -71,4 +71,24 @@ export default class Utils extends Service {
|
||||
}
|
||||
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