原本我通过后台调用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,后面的就没有了。
请官方人员确认下,这是什么问题呢?
微信小程序开发问题解答
微信小程序开发者回答:
刚才我也遇到了,仔细检查代码后,猜测一种可能
打开app.json,找下这个路径是否存在。
如果不存在,微信小程序依旧可以打开这个路径应该是因为微信做了容错,允许在微信小程序端打开app.json不存在的路径。
生成微信小程序码的是微信服务器端,服务器端是通过app.json来收录路径,如果没有收录到该路径,自然报路径不存在。
下个版本在app.json补上该路径应该就可以了
微信小程序开发者回答:
scene >> 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
你最好把scene编码一下,encodeURIComponent,接受到的时候decodeURIComponent解一下就行。
page >> 必须是已经发布的微信小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
本文网址:http://www.91bianli.com/weixinxiaochengxu/620.html