first commit
This commit is contained in:
53
polyfill.js
Normal file
53
polyfill.js
Normal file
@@ -0,0 +1,53 @@
|
||||
// #ifdef MP-WEIXIN
|
||||
// 拦截 wx.getSystemInfoSync 和 wx.getSystemInfo,避免 uni-app 内部或第三方库调用导致微信原生警告
|
||||
if (typeof wx !== 'undefined' && wx.getSystemInfoSync) {
|
||||
const originalGetSystemInfoSync = wx.getSystemInfoSync;
|
||||
wx.getSystemInfoSync = function () {
|
||||
if (wx.getWindowInfo && wx.getAppBaseInfo && wx.getDeviceInfo && wx.getAppAuthorizeSetting && wx.getSystemSetting) {
|
||||
try {
|
||||
const windowInfo = wx.getWindowInfo() || {};
|
||||
const appBaseInfo = wx.getAppBaseInfo() || {};
|
||||
const deviceInfo = wx.getDeviceInfo() || {};
|
||||
const appAuthorizeSetting = wx.getAppAuthorizeSetting() || {};
|
||||
const systemSetting = wx.getSystemSetting() || {};
|
||||
|
||||
let safeAreaInsets = undefined;
|
||||
if (windowInfo.safeArea) {
|
||||
safeAreaInsets = {
|
||||
top: windowInfo.safeArea.top,
|
||||
left: windowInfo.safeArea.left,
|
||||
right: windowInfo.screenWidth - windowInfo.safeArea.right,
|
||||
bottom: windowInfo.screenHeight - windowInfo.safeArea.bottom
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
...windowInfo,
|
||||
...appBaseInfo,
|
||||
...deviceInfo,
|
||||
...appAuthorizeSetting,
|
||||
...systemSetting,
|
||||
safeAreaInsets,
|
||||
system: deviceInfo.system,
|
||||
platform: deviceInfo.platform,
|
||||
model: deviceInfo.model
|
||||
};
|
||||
} catch (e) {
|
||||
return originalGetSystemInfoSync.call(wx);
|
||||
}
|
||||
}
|
||||
return originalGetSystemInfoSync.call(wx);
|
||||
};
|
||||
const originalGetSystemInfo = wx.getSystemInfo;
|
||||
wx.getSystemInfo = function (options) {
|
||||
if (wx.getSystemInfoAsync) {
|
||||
try {
|
||||
return wx.getSystemInfoAsync(options);
|
||||
} catch (e) {
|
||||
return originalGetSystemInfo.call(wx, options);
|
||||
}
|
||||
}
|
||||
return originalGetSystemInfo.call(wx, options);
|
||||
};
|
||||
}
|
||||
// #endif
|
||||
Reference in New Issue
Block a user