收藏
回答

小程序码B接口参数无效


根据文档所述


用户扫描该码进入小程序后,将统一打开首页,开发者需在首页根据获取的码中 scene 字段的值,再做处理逻辑。使用如下代码可以获取到二维码中的 scene 字段的值,调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟


我通过以下代码获取小程序码并保存为图片

$post=array(
   scene=>$type."$".$id,
   width=>500
);
$qr = $this->curl_request("http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=".$arr->access_token,json_encode($post));


并通过以下代码进行跳转

var scene = options.scene;
if (scene) {
   this.goQrcode(scene);
}
goQrcode: function (scene) {
   var scene_arr = scene.split("$");
   //scene_arr[0]==1    类别为1则为商铺,暂不需要判断
   wx.navigateTo({
       url: '../shangpudetail/shangpudetail?id=' + scene_arr[1],
   })
},


请注意,在本地测试时,我根据文档要求进行测试,如图


这时进入小程序时会自动跳转到相应的页面,也就是说,这段程序是有效的



但用微信扫码后只能进入程序首页。


请问这是为什么?


补充一个小程序码,就是上面生成并保存在我服务器上的。



最后一次编辑于  2017-07-07
回答关注问题邀请回答
收藏

4 个回答

  • 王勇程
    王勇程
    2017-08-22

    楼上诸位可以用实机输出一下参数就知道了,我就是发现我原参数里的分隔符(特殊符号)被转义了才发现问题的,目前我仅知道减号【-】不会被转义,其他的不明,你们可以试下。

    2017-08-22
    有用
    回复
  • Alen彭
    Alen彭
    2017-08-15

    您好,这个问题怎么解决的,我现在这个问题好纠结啊

    var scene = decodeURIComponent(options.scene);// 535;//
        this.setData({ scene: scene });
        if (scene != undefined && scene != 'undefined') {
          if (scene.indexOf("_") == -1) {
            wx.redirectTo({
              url: '../card/share/share?ownerId=' + scene,
            })
      
          } else {
            var scenes = scene.split("_");
            var ownerId = scenes[0];
            wx.redirectTo({
              url: '../register/register?tuijianrenId=' + ownerId,
            })
          }
      
        }

    小程序码的参数:scene=72_zhcue

    2017-08-15
    有用
    回复
  • 于东
    于东
    2017-07-23

    最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~

    文档上是支持【$】这个字符的,【_】也支持,我用【_】已经分割出想要的字符,在真机中可以取到想要的字符,但唯独不能跳转,不知是何问题,是现在不允许扫码跳转了么?我升级审核好几个版本测试都不行,哪位请给解答下,谢谢!

    跳转用的是楼上相同的方法

    2017-07-23
    有用
    回复
  • 王勇程
    王勇程
    2017-07-08

    有人看到没?到底是我的问题还是接口的问题?

    2017-07-08
    有用
    回复
登录 后发表内容