收藏
回答

项目中搜索没有wx.getSystemInfo方法,控制台却报warning。有其他方法会导致吗?


warning为

wx.getSystemInfo is deprecated.Please use wx.getSystemSetting/wx.getAppAuthorizeSetting/wx.getDeviceInfo/wx.getWindowInfo/wx.getAppBaseInfo instead.

但是在项目中全局搜索没有getSystemInfo关键字。。

回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2024-11-11

    你好,基础库版本多少?

    2024-11-11
    有用
    回复 2
    • Han
      Han
      2025-03-04
      我的是3.6.6也有,换到3.3.5就没有了
      2025-03-04
      回复
    • 社区技术运营专员--许涛
      社区技术运营专员--许涛
      2025-03-05回复Han
      3.7.9有吗?
      2025-03-05
      回复
  • 猫
    2025-03-13

    <navigation-bar title="Weixinback="{{false}}" color="blackbackground="#FFF"></navigation-bar>

    已解决,这个会调用此方法导致报错

    2025-03-13
    有用 2
    回复
  • 啊亮Liang
    啊亮Liang
    2025-04-27

    哎还是我来吧,首先鸟方法用不了,然后微信给出了新方法,用新方法都可以用,但是会有红色的线标出来的大部分原因是因为该死的 TypeScript 会有类型报错。微信没有去维护类型文件,手动加一个上去就好了, 比如我需要获取手机型号和类型,官方接口:https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html 这就是了,具体返回值我就不写了,直接去typeJS的 类型声明文件:lib.wx.api.d.ts 上声明这些字段就行了: D:\wechat_tiny\demo_1\typings\types\wx\lib.wx.api.d.ts 这个文件中,搜: getSystemInfoSync(): SystemInfo 这个接口。然后在这下面写上:

    getDeviceInfo(): {

    brand: string;

    model: string;

    system: string;

    }; 大概这样哈:

    就相当于在

    declare namespace WechatMiniprogram {

      interface Wx {

       =》 在这个层级申明了。只是微信接口太多很难找,就直接搜一个同类级的,直接接着写就OK 了

        };

      }

    }然后就你用啥库都 不红了,我这里是3.7.12 不知道是不是每个项目都需要独立加T.T 没试哈:

    2025-04-27
    有用
    回复 1
    • 啊亮Liang
      啊亮Liang
      2025-04-27
      实在是解决不来了,直接问了腾讯元宝,说是类型错误给了个错的文件,我找了找应该是这个,只有这个里面一堆已有的类型声明关于wx. 下面的。所以就改了,然后就OK了
      2025-04-27
      1
      回复
  • 启年
    启年
    2024-11-08

    可能和基础库有关,换个基础库的版本看看效果吧

    2024-11-08
    有用
    回复 2
    • 尘风
      尘风
      2024-11-11
      确实是,我换成3.3.5就没有了。3.6.x就有。
      以后就不能用最新的基础库了吗T_T
      2024-11-11
      回复
    • 启年
      启年
      2024-11-12回复尘风
      应该不会,后面可能会修复,报黄先不用理会了
      2024-11-12
      回复
登录 后发表内容