前言:json
这个问题支付宝小程序官方文档并无专门说明,钉钉群的官方技术支持给了个开发者社区的帖子,详见:如何跳转小程序。小程序
若是配置的页面没有参数还好,不会出问题,若是有参数,极可能配出来的连接没法正常获取到携带参数的,坑在这里:微信小程序
1.page参数:刚开始觉得是页面path路径(也就是app.json中的路径),由于后边还有query参数,理所固然的会认为这里只须要path;api
2.query参数:虽然看到“启动参数”四个字,可是这种路径没有配太小程序app的启动参数的,微信小程序也不是这么玩的,因此这里就理所固然的被认为是页面参数了;微信
而后拼接出来的路径是这样的:app
window.location.href="alipays://platformapi/startapp?appId=xxx&page=pages/goodDetail/goodDetail&query=goods_id%3d101"
很显然,这样是没法正常获取页面参数了。经验证,上边的连接拼接中缺乏了页面参数的部分,这部分须要转码后追加在页面path后边。spa
正确操做:3d
//有页面参数(没有启动参数)
location.href = "alipays://platformapi/startapp?appId=xxx&page=pages/goodDetail/goodDetail"+encodeURIComponent("?goods_id="+goods_id)
//有页面参数,有启动参数(如渠道号、平台号等打开小程序就须要传过来的参数)
location.href = "alipays://platformapi/startapp?appId=xxx&page=pages/goodDetail/goodDetail"+encodeURIComponent("?goods_id="+goods_id)+&query=encodeURIComponent("appParams="+xx)
总结:code
官方文档突出了启动参数,却压根儿没提页面参数,初次接触,踩坑不免,毕竟支付宝小程序还在成长中,咱们本身也得多多实践,多多尝试。orm