uniapp 版本对比实现热更新
创建utils.js
module.exports = {
/**
* 比较版本号的大小,如果curV 大于 reqV,则返回true,否则返回false
* @param {String} curV
* @param {String} reqV
*/
Version: function(curV, reqV) {
var arr1 = curV.toString().split('.');
var arr2 = reqV.toString().split('.');
//将两个版本号拆成数字
var minL = Math.min(arr1.length, arr2.length);
var pos = 0; //当前比较位
var diff = 0; //当前为位比较是否相等
var flag = false;
//逐个比较如果当前位相等则继续比较下一位
while (pos < minL) {
diff = parseInt(arr1[pos]) - parseInt(arr2[pos]);
if (diff == 0) {
pos++;
continue;
} else if (diff > 0) {
flag = true;
break;
} else {
flag = false;
break;
}
}
return flag;
}
}
引用方法
import { Version } from 'utils/utils.js';
let test_v = Version(plus.runtime.version, data.hotupdate_version);
if (!test_v) {
console.log('需要更新')
}