小程序码获取参数的问题
发布于 7 年前 作者 xia93 2484 次浏览 来自 问答

原本我通过后台调用getwxacodeunlimit这个接口可以生成每个房间的对应小程序码,今天突然就不行了,然后提示的错误如下:

{"errcode":40129,"errmsg":"invalid scene hint: [mx4Oxa01421525]"}


{"errcode":41030,"errmsg":"invalid page hint: [xriCqa04281090]"}

我确认小程序已经上线并发布了,页面也确定是小程序里面的界面。

我尝试把参数弄成最简单的,还是报这样的错误,参数如下:

$params = array(
 
                'scene'=>'roomid',
 
                'page'=>'pages/Dinner/index'
 

            );


$params = json_encode($params);

结果就是无脑报上面的两个错误。

另外有一个bug是通过这个接口生成的小程序码,通过微信的扫一扫,开发工作的扫一扫,苹果手机打开小程序里面的扫一扫,都可以获得scene参数,唯独用安卓手机打开小程序里面的扫一扫,scene参数被截断了。

比如我scene的设置是roomid=7,那在安卓手机小程序里面的扫一扫,获得的scene只有roomid,后面的就没有了。

请官方人员确认下,这是什么问题呢?

3 回复

scene >> 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)

你最好把scene编码一下,encodeURIComponent,接受到的时候decodeURIComponent解一下就行。

page >> 必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面

刚才我也遇到了,仔细检查代码后,猜测一种可能

打开app.json,找下这个路径是否存在。

如果不存在,小程序依旧可以打开这个路径应该是因为微信做了容错,允许在小程序端打开app.json不存在的路径。

生成小程序码的是微信服务器端,服务器端是通过app.json来收录路径,如果没有收录到该路径,自然报路径不存在。

下个版本在app.json补上该路径应该就可以了

请问一下解决了吗

回到顶部