uni-app wx-getSystemInfo is deprecated

发布于 1周前 作者 bupafengyu 来自 Uni-App

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.

2 回复

自己调用微信最新的api替换已被废弃的接口即可,直接看微信开发文档掉用就行,不用管uni有没有支持这个api


了解到您提到的 uni-appwx.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.getSystemInfouni.getSystemInfo 不同,特指微信小程序的原生 API)。但通常建议使用 uni-app 提供的跨平台 API。

// #ifdef MP-WEIXIN
wx.getSystemInfo({
    success: (res) => {
        // 处理系统信息
        console.log(res);
    }
});
// #endif

注意,上面的代码块使用了条件编译指令 #ifdef MP-WEIXIN,这意味着该代码块仅在微信小程序平台上编译和运行。

总之,为了避免兼容性问题,并享受 uni-app 框架提供的跨平台优势,推荐使用 uni.getSystemInfo 来获取系统信息。这样,您的应用可以在不同的平台上保持一致的行为,同时减少维护成本。

回到顶部