/** * 热更新相关的工具 */ let UpdateUtils = { /** * bytes 转换成 MB * * @author libo * @date 2019-03-19 * @param {number} bytes 字节 * @returns {number} MB */ bytesToMb (bytes) { return bytes / 1024 / 1024; }, /** * 版本比对函数 * * @author libo * @date 2019-03-21 * @param {string} versionA 本地版本号 * @param {string} versionB 远程版本号 * @returns {number} 比对结果, 小于0需要更新 */ compareVersionStr (versionA, versionB) { G.LogUtils.log('本地版本:' + versionA + ' 远程版本:' + versionB); let vA = versionA.split('.'); let vB = versionB.split('.'); // 先判断t let isDebugA = vA[0] == 't' ? true : false; let isDebugB = vB[0] == 't' ? true : false; // t不一致就不用更新 if (isDebugA != isDebugB) { return 0; } // 去除t if (isDebugA) { vA.shift(); } if (isDebugB) { vB.shift(); } for (let i = 0; i < vA.length; ++i) { let a = parseInt(vA[i]); let b = parseInt(vB[i] || 0); if (a === b) { continue; } else { return a - b; } } if (vB.length > vA.length) { return -1; } else { return 0; } } }; module.exports = UpdateUtils;