uniapp 版本号对比判断是否更新

uniapp yekong

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('需要更新')
            }
喜欢