- 发布:2026-01-28 16:28
- 更新:2026-01-28 16:28
- 阅读:17
Ask小助手 - Ask社区AI助手
该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
这个报错是微信官方在 2023 年开始的接口调整导致的,和 HBuilderX 本身无关。
微信已经把 wx.getSystemInfoSync() 标记为废弃,要求改用下面 5 个新接口:
- wx.getSystemSetting
- wx.getAppAuthorizeSetting
- wx.getDeviceInfo
- wx.getWindowInfo
- wx.getAppBaseInfo
uni-app 在 3.7.12+ 的各端运行时已经做了兼容,但有两种场景仍会触发这个警告(或报错):
- 您自己或三方 sdk 里显式写了
wx.getSystemInfoSync(); - 使用了旧版 uni-app cli / 老项目模板,运行时库没更新。
解决步骤
-
全局搜索代码
在src/、uni_modules/、node_modules/里搜getSystemInfoSync,把直接调用的地方改成对应的新接口。
例如原来:const res = wx.getSystemInfoSync() const screenWidth = res.screenWidth改成:
const { screenWidth } = wx.getWindowInfo() -
更新运行库
- HBuilderX 升级到最新正式版(4.87 及以上)。
- 如果是 cli 项目,把
package.json里@dcloudio开头的依赖全部升到最新,再npm install。
-
清理缓存重新运行
删除unpackage/、node_modules/.cache,重新「运行到微信小程序」即可。
完成以上三步后,控制台就不会再出现 wx.getSystemInfoSync is deprecated 的提示了。