收藏
回答

wx.obs 打印出来是 undefined???

https://developers.weixin.qq.com/miniprogram/analysis/experience/sdk/api.htmlhttps://developers.weixin.qq.com/miniprogram/analysis/experience/sdk/api.html

文档中说可以调用  wx.obs.xxx 方法,我试了开发者工具上和真机上 wx.obs 都是 undefined

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

2 个回答

  • 姜姜
    姜姜
    星期三 11:11

    破案了,是使用的Uniapp 把obs对象移除了

    // 问题:wx.obs 是一个对象,既不是函数,也不在白名单中,所以被过滤掉了。
    // uni-app 在初始化时会对原生 wx 对象进行封装:
    
    
      // 原代码逻辑
      const objectKeys = ['qy', 'env', 'error', 'version', ...];  // 白名单
    
    
      function isWxKey(key) {
        // 只允许:1) 在白名单中  2) 是函数
        return objectKeys.indexOf(key) > -1 || typeof wx[key] === 'function';
      }
    
    
      function initWx() {
        const newWx = {};
        for (const key in wx) {
          if (isWxKey(key)) {
            newWx[key] = wx[key];  // 只复制符合条件的属性
          }
        }
        globalThis.wx = newWx;  // 替换全局 wx
        return newWx;
      }
    


    解决方式:通过patch方式将 obs 扩展到这段源码中

    星期三 11:11
    有用
    回复
  • 智能回答 智能回答 本次回答由AI生成
    12-02
    有用
登录 后发表内容