扫码进入小程序取scene问题?
发布于 7 年前 作者 nwang 4832 次浏览 来自 官方Issues

我在onLoad 中取值 option.scene

但是取值不到; 直接跳转到首页了;

哪里取值有问题吗?

我传入 scene 是 1 的话(如下图) 能不能 直接 option.scene 获取

或者 employeeId=1 怎么获取合适?

            
onLoad: function(option) {
            let employeeId  = false;
        if (option.employeeId) {
          employeeId = option.employeeId;
        }
        if (option.scene) {
          let scene = decodeURIComponent(option.scene);
          employeeId = scene.split('=')[1];
        }

      if (employeeId === false) {
        uni.redirectTo({
          url: '/pages/index/index'
        });
        return;
      }
}

2 回复

options=>{“path”:“pages/index/index”,“query”:{“scene”:“18-3456”},“scene”:1001,“referrerInfo”:{}};

scene是自定义的参数拼接,不能用key-value形式。

if (!options.scene) {

      this.setData({

        employeeId: options.employeeId || ‘’

      })

    } else {

      var getQueryString = {}

      var strs = decodeURIComponent(options.scene).split(’&’) //以&分割

      //取得全部并赋值

      for (var i = 0; i < strs.length; i++) {

        getQueryString[strs[i].split(’=’)[0]] = unescape(strs[i].split(’=’)[1])

      }

      this.setData({

        employeeId: getQueryString[‘employeeId’] || ‘’,

      })

    }

回到顶部