67 lines
1.3 KiB
JavaScript
67 lines
1.3 KiB
JavaScript
|
|
import { getAppBaseInfo } from './wechat';
|
|||
|
|
|
|||
|
|
let systemInfo;
|
|||
|
|
|
|||
|
|
// 获取系统信息
|
|||
|
|
function getSystemInfo() {
|
|||
|
|
if (systemInfo == null) {
|
|||
|
|
systemInfo = getAppBaseInfo();
|
|||
|
|
}
|
|||
|
|
return systemInfo;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 版本号比较, 参考:https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html
|
|||
|
|
export function compareVersion(v1, v2) {
|
|||
|
|
v1 = v1.split('.');
|
|||
|
|
v2 = v2.split('.');
|
|||
|
|
const len = Math.max(v1.length, v2.length);
|
|||
|
|
|
|||
|
|
while (v1.length < len) {
|
|||
|
|
v1.push('0');
|
|||
|
|
}
|
|||
|
|
while (v2.length < len) {
|
|||
|
|
v2.push('0');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
for (let i = 0; i < len; i += 1) {
|
|||
|
|
const num1 = parseInt(v1[i], 10);
|
|||
|
|
const num2 = parseInt(v2[i], 10);
|
|||
|
|
|
|||
|
|
if (num1 > num2) {
|
|||
|
|
return 1;
|
|||
|
|
}
|
|||
|
|
if (num1 < num2) {
|
|||
|
|
return -1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function judgeByVersion(version) {
|
|||
|
|
const currentSDKVersion = getSystemInfo().SDKVersion;
|
|||
|
|
return compareVersion(currentSDKVersion, version) >= 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function canIUseFormFieldButton() {
|
|||
|
|
return judgeByVersion('2.10.3');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function canUseVirtualHost() {
|
|||
|
|
let result = false;
|
|||
|
|
|
|||
|
|
// #ifdef MP-WEIXIN
|
|||
|
|
result = judgeByVersion('2.19.2');
|
|||
|
|
// #endif
|
|||
|
|
|
|||
|
|
// #ifdef H5 || APP-PLUS || MP-ALIPAY
|
|||
|
|
result = true;
|
|||
|
|
// #endif
|
|||
|
|
|
|||
|
|
return result;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function canUseProxyScrollView() {
|
|||
|
|
return judgeByVersion('2.19.2');
|
|||
|
|
}
|