修复beta版本日志排序问题
This commit is contained in:
parent
b431789d3a
commit
8bdd4d957c
@ -233,22 +233,47 @@ export class LogManager {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分割版本号,只保留数字部分
|
// 分离主版本号和beta版本号
|
||||||
const partsA = versionA.split(/[. ]/).map(part => {
|
let mainVersionA = versionA;
|
||||||
const num = parseInt(part);
|
let betaVersionA = '';
|
||||||
return isNaN(num) ? 0 : num;
|
let mainVersionB = versionB;
|
||||||
});
|
let betaVersionB = '';
|
||||||
const partsB = versionB.split(/[. ]/).map(part => {
|
|
||||||
const num = parseInt(part);
|
|
||||||
return isNaN(num) ? 0 : num;
|
|
||||||
});
|
|
||||||
|
|
||||||
// 比较每个部分
|
if (isBetaA) {
|
||||||
for (let i = 0; i < Math.max(partsA.length, partsB.length); i++) {
|
const parts = versionA.split('beta');
|
||||||
const numA = partsA[i] || 0;
|
mainVersionA = parts[0].trim();
|
||||||
const numB = partsB[i] || 0;
|
betaVersionA = parts[1].trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isBetaB) {
|
||||||
|
const parts = versionB.split('beta');
|
||||||
|
mainVersionB = parts[0].trim();
|
||||||
|
betaVersionB = parts[1].trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 比较主版本号
|
||||||
|
const mainPartsA = mainVersionA.split('.').map(part => parseInt(part) || 0);
|
||||||
|
const mainPartsB = mainVersionB.split('.').map(part => parseInt(part) || 0);
|
||||||
|
|
||||||
|
for (let i = 0; i < Math.max(mainPartsA.length, mainPartsB.length); i++) {
|
||||||
|
const numA = mainPartsA[i] || 0;
|
||||||
|
const numB = mainPartsB[i] || 0;
|
||||||
if (numA !== numB) {
|
if (numA !== numB) {
|
||||||
return numB - numA;
|
return numB - numA; // 降序排列,最新版本在前
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果主版本号相同且都有beta版本,比较beta版本号
|
||||||
|
if (betaVersionA && betaVersionB) {
|
||||||
|
const betaPartsA = betaVersionA.split('.').map(part => parseInt(part) || 0);
|
||||||
|
const betaPartsB = betaVersionB.split('.').map(part => parseInt(part) || 0);
|
||||||
|
|
||||||
|
for (let i = 0; i < Math.max(betaPartsA.length, betaPartsB.length); i++) {
|
||||||
|
const numA = betaPartsA[i] || 0;
|
||||||
|
const numB = betaPartsB[i] || 0;
|
||||||
|
if (numA !== numB) {
|
||||||
|
return numB - numA; // 降序排列,beta2.0 > beta1.2
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user