web
9 小时以前 49fa0d82a40345342966e810b44429aec0480ef3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// @ts-nocheck
 
// #ifndef UNI-APP-X && APP
 
// #ifdef MP-ALIPAY
interface My {
    SDKVersion: string
}
declare var my: My
// #endif
 
function compareVersion(v1:string, v2:string) {
  let a1 = v1.split('.');
  let a2 = v2.split('.');
  const len = Math.max(a1.length, a2.length);
 
  while (a1.length < len) {
    a1.push('0');
  }
  while (a2.length < len) {
    a2.push('0');
  }
 
  for (let i = 0; i < len; i++) {
    const num1 = parseInt(a1[i], 10);
    const num2 = parseInt(a2[i], 10);
 
    if (num1 > num2) {
      return 1;
    }
    if (num1 < num2) {
      return -1;
    }
  }
 
  return 0;
}
 
function gte(version: string) {
    let {SDKVersion} = uni.getSystemInfoSync();
    // #ifdef MP-ALIPAY
    SDKVersion = my.SDKVersion
    // #endif
    return compareVersion(SDKVersion, version) >= 0;
}
// #endif
 
 
/** 环境是否支持canvas 2d */
export function canIUseCanvas2d(): boolean {
    // #ifdef MP-WEIXIN
    return gte('2.9.0');
    // #endif
    // #ifdef MP-ALIPAY
    return gte('2.7.0');
    // #endif
    // #ifdef MP-TOUTIAO
    return gte('1.78.0');
    // #endif
    // #ifndef MP-WEIXIN || MP-ALIPAY || MP-TOUTIAO
    return false
    // #endif
    
    // #ifdef UNI-APP-X && APP || APP-NVUE || APP-VUE
    return false;
    // #endif
}