uni-app wx-getSystemInfo is deprecated
uni-app wx-getSystemInfo is deprecated
信息类别 | 内容 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境操作系统 | Mac |
PC开发环境操作系统版本号 | MacBook Pro |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.28 |
第三方开发者工具版本号 | HBX |
基础库版本号 | 3.5.x |
项目创建方式 | HBuilderX |
操作步骤:
- 正常预览即可。
预期结果:
- 正常预览即可。
实际结果:
- 如上图
bug描述:
wx-getSystemInfo is deprecated. Please use
wx.getSystemSetting/wx.getAppAuthorizeSetting/wx.getDeviceInfo/wx.getWindowInfo/wx.getAppBaseInfo instead.
自己调用微信最新的api替换已被废弃的接口即可,直接看微信开发文档掉用就行,不用管uni有没有支持这个api
了解到您提到的 uni-app
中 wx.getSystemInfo
被废弃的问题。确实,随着小程序平台的发展,一些旧的 API 可能会被标记为废弃,以鼓励开发者使用更新、更高效的 API。针对 uni-app
框架,虽然它封装了多个平台的 API,但当我们使用特定平台的 API(如微信小程序 API)时,仍然需要注意这些 API 的更新情况。
在 uni-app
中,虽然 wx.getSystemInfo
已经被废弃,但 uni-app
提供了自己的系统信息获取方式,或者通过条件编译使用各平台推荐的新 API。以下是如何在 uni-app
中获取系统信息的替代方法:
使用 uni.getSystemInfo
uni-app
提供了跨平台的 uni.getSystemInfo
API,可以用来获取设备信息。这是一个推荐的替代方案,因为它可以在不同平台上保持一致的行为。
uni.getSystemInfo({
success: function (res) {
console.log(res.system); // 操作系统名称
console.log(res.model); // 手机型号
console.log(res.pixelRatio); // 屏幕像素比
console.log(res.windowWidth); // 屏幕宽度
console.log(res.windowHeight); // 屏幕高度
// 更多信息可以参考uni-app官方文档
}
});
条件编译使用平台特定 API(如微信小程序)
如果您仍然需要在特定平台(如微信小程序)上使用最新的 API,可以通过条件编译来实现。例如,微信小程序提供了 wx.getSystemInfoSync
或新的 wx.getSystemInfo
(带回调)的更新版本(注意,这里的 wx.getSystemInfo
与 uni.getSystemInfo
不同,特指微信小程序的原生 API)。但通常建议使用 uni-app
提供的跨平台 API。
// #ifdef MP-WEIXIN
wx.getSystemInfo({
success: (res) => {
// 处理系统信息
console.log(res);
}
});
// #endif
注意,上面的代码块使用了条件编译指令 #ifdef MP-WEIXIN
,这意味着该代码块仅在微信小程序平台上编译和运行。
总之,为了避免兼容性问题,并享受 uni-app
框架提供的跨平台优势,推荐使用 uni.getSystemInfo
来获取系统信息。这样,您的应用可以在不同的平台上保持一致的行为,同时减少维护成本。