收藏
回答

在PC端开发者工具测试取值错乱问题?

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1.06.2504010

  // 跳转关卡
  onGoLevel(e) {
    const that = this;
    const idx = e.currentTarget.dataset.idx;
    const level = that.data.pageLevels[idx];
    const levelId = that.data.pageLevels[idx].id;
    console.log(idx, levelId);
    if (level.unlocked) {
      wx.navigateTo({
        url: `/pages/level/index?id=${level.id}`
      });
    } else {
      // 用户看广告可打开关卡
      wx.showModal({
        title: '解锁关卡',
        content: '关卡解锁需要观看广告,确定要解锁吗?',
        success: (res) => {
          if (res.confirm) {
            // 播放广告
            loadRewardedAd(
              'adunit-2ce6db3cb1e45a86',
              () => {
                // wx.showToast({ title: '广告观看成功,发放奖励' });
                // 这里写奖励逻辑(如加积分、解锁功能等)
                console.log('用户看广告解锁',levelId);
                that.forceOpen(levelId);
              },
              (err) => {
                wx.showToast({
                  title: err,
                  icon: 'none'
                });
              }
            );
          } else {
            console.log('用户取消解锁')
          }
        }
      });


    }
  },


  forceOpen(levelId) {
    // 打开本关
    console.log('强制解锁',levelId);
    const title = '强制解锁关卡' + levelId;
    const content = app.globalData.devId + '设备上报';
    report.rptErrInfo(title, content);
    const ok = loader.forceUnlockLevel(levelId)
    console.log('解锁值,', ok);
    if (ok) {
      this.refreshPage();
      // wx.navigateTo({
      //   url: `/pages/level/index?id=${levelId}`
      // });
    }
  },


找问题两天,完成播放广告后,会出现正常解锁和不能解锁的情况,随机出现,经排查是取值问题,我在弹窗前取值为5,但是播放广告完回调就变成了6,很奇怪,有的时候会正常,网上查了一下,是闭包陷阱,我试着修改了一下,使用const在传值前重新定义,但是还会出现问题。怀疑是sdk问题。请帮忙看看,谢谢!

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

2 个回答

  • 神经蛙
    神经蛙
    发表于小程序端
    09-11

    手机上也会出现,并且值为上个关卡的值

    09-11
    有用
    回复 1
    • 神经蛙
      神经蛙
      发表于小程序端
      09-11

      广告回调入口就变了,很奇怪,从日志上就可以看到

      09-11
      回复
  • 智能回答 智能回答 本次回答由AI生成
    09-11
    有用
    回复
登录 后发表内容