收藏
回答

扫码进入小程序取scene问题?

我在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;
      }
}

最后一次编辑于  2020-03-18
回答关注问题邀请回答
收藏

3 个回答

  • TNT
    TNT
    2020-03-18

    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'] || '',

          })

        }

    2020-03-18
    有用 1
    回复 12
    • 十四
      十四
      2020-03-18
      你好;  问一下我传入的参数是 employeeId=1
      为什么还要使用 以&分隔呢?
      scene传入的值 转换成什么了啊??


      扫码进入太难debug了
      2020-03-18
      回复
    • TNT
      TNT
      2020-03-18回复十四
      测试扫码进入很简单啊。&分割是为了你可能传递多个参数
      2020-03-18
      回复
    • 十四
      十四
      2020-03-18
      多谢! 
      我知道为啥取不到值了
      没有   unescape


      另外,发现可以在开发工具-通过二维码编译
      来进行调试.
      2020-03-18
      回复
    • TNT
      TNT
      2020-03-18回复十四
      嗯。。。才知道的么。。。。
      2020-03-18
      回复
    • 十四
      十四
      2020-03-18回复TNT
      是啊  文档里也没有提示啊!!!!


      大佬 再问个问题 
      我转发的path是/pages/employee/employee?employeeId=1


      为啥跳转说页面不存在啊
      /pages/employee/employee 这样就是正常的
      2020-03-18
      回复
    查看更多(7)
  • 2020-03-18

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

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

    2020-03-18
    有用 1
    回复 1
    • 十四
      十四
      2020-03-18
      可以使用key-value
      但是要做处理 unescape
      2020-03-18
      回复
  • 瓶子
    瓶子
    2020-04-22

    我也是今天才发现 需要对参数做处理才能拿到自己的参数 文档写的不够清楚了 不过还好有编译模式我自己上传了生成的小程序码才发现参数的问题

    2020-04-22
    有用
    回复 1
    • 瓶子
      瓶子
      2020-04-22
      2020-04-22
      回复
登录 后发表内容
问题标签