33 lines
867 B
JavaScript
33 lines
867 B
JavaScript
|
let isIPhoneX = null;
|
||
|
function getIsIPhoneX() {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
if (isIPhoneX !== null) {
|
||
|
resolve(isIPhoneX);
|
||
|
}
|
||
|
else {
|
||
|
wx.getSystemInfo({
|
||
|
success: ({ model, screenHeight }) => {
|
||
|
const iphoneX = /iphone x/i.test(model);
|
||
|
const iphoneNew = /iPhone11/i.test(model) && screenHeight === 812;
|
||
|
isIPhoneX = iphoneX || iphoneNew;
|
||
|
resolve(isIPhoneX);
|
||
|
},
|
||
|
fail: reject
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
export const iphonex = Behavior({
|
||
|
properties: {
|
||
|
safeAreaInsetBottom: {
|
||
|
type: Boolean,
|
||
|
value: true
|
||
|
}
|
||
|
},
|
||
|
created() {
|
||
|
getIsIPhoneX().then(isIPhoneX => {
|
||
|
this.set({ isIPhoneX });
|
||
|
});
|
||
|
}
|
||
|
});
|