fastman3-dfyjapp-jsbridge
Version:
a jsbridge module for dfyj app
69 lines (66 loc) • 1.56 kB
JavaScript
/**
* 末尾补.0
* @param num 原始值
* @param n 位数最大的值
* @returns {*}
*/
var padZero = function padZero(num, n) {
var len = num.split('.').length;
while (len < n) {
num = num + '.0';
len++;
}
return num;
};
/**
* 获取APP版本号
* @param _
* @returns {*}
*/
var getVersion = function getVersion() {
var groups = navigator.userAgent.toLowerCase().match(/DFYJ\/([\d.]+)/i);
if (!groups) {
return undefined;
} else {
return groups[1];
}
};
/**
* 比较手机系统版本,arg1 > arg2, return 1; arg1 == arg2, return 0; arg1 < arg2, return -1
* @param compareVersion
* @returns {number}
*/
var _compareVersion = function _compareVersion(a, b) {
// 补.0操作
var _as = a.split('.');
var _bs = b.split('.');
var max = Math.max(_as.length, _bs.length);
a = padZero(a, max);
b = padZero(b, max);
var as = a.split('.');
var bs = b.split('.');
if (a === b) return 0;
for (var i = 0; i < as.length; i++) {
var x = parseInt(as[i]);
if (!bs[i]) return 1;
var y = parseInt(bs[i]);
if (x < y) return -1;
if (x > y) return 1;
}
return -1;
};
/**
* 比较APP版本,比compareVersion大则返回1,否则返回-1;相等返回0;
* @param compareVersion
* @returns {number}
*/
var compareVersion = function compareVersion(v) {
// 获取当前版本号
var currentVersion = getVersion();
if (!currentVersion) {
return 1;
} else {
return _compareVersion(currentVersion, v);
}
};
export { getVersion, compareVersion, _compareVersion };