feat(升级中心): 实现备用更新方案并优化版本检查逻辑
This commit is contained in:
32
uni_modules/uni-upgrade-center-app/utils/tools.js
Normal file
32
uni_modules/uni-upgrade-center-app/utils/tools.js
Normal file
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* 比较版本号
|
||||
* @param {string} v1 - 版本号1
|
||||
* @param {string} v2 - 版本号2
|
||||
* @returns {number} - 1表示v1大于v2,-1表示v1小于v2,0表示相等
|
||||
*/
|
||||
export function compareVersion(v1, v2) {
|
||||
const arr1 = v1.split('.').map(Number)
|
||||
const arr2 = v2.split('.').map(Number)
|
||||
const maxLen = Math.max(arr1.length, arr2.length)
|
||||
|
||||
for (let i = 0; i < maxLen; i++) {
|
||||
const n1 = arr1[i] ?? 0
|
||||
const n2 = arr2[i] ?? 0
|
||||
|
||||
if (n1 > n2) return 1
|
||||
if (n1 < n2) return -1
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取较大版本号
|
||||
* @param {string} v1 - 版本号1
|
||||
* @param {string} v2 - 版本号2
|
||||
* @returns {string} - 较大的版本号
|
||||
*/
|
||||
export function getMaxVersion(v1, v2) {
|
||||
return compareVersion(v1, v2) >= 0 ? v1 : v2
|
||||
}
|
||||
Reference in New Issue
Block a user