前情
最近又接手一个全新多端项目,包括抖音/快手/微信/支付宝,其中就有支付宝端,支付宝端有特有的芝麻免押,其它端都需要跳转到支付宝端决定是否可以让用户享受芝麻免押服务,好走余下逻辑
坑位
我有博客文章有介绍常用小程序外链的唤起规则,成功的实现了支付宝小程序的唤起逻辑,但是只是唤起是不行的,你还需要拿到外链唤起的参数,根据参数走余下逻辑
第一坑:据我开发小程序的经验好像除了微信小程序可以指定唤起版本外,其它端像抖音/快手都是不支持指定唤起版本的(开发版、体验版、线上版),一开始服务端按支付宝文挡说明生成了唤起链接,让我测试是否可行,我说应该不能指定唤起版本,我看不到参数是否正常能拿到,现在只能测能不能正常唤起
第二坑:确实实现唤起开发版了,也能打印日志查看参数了,但是发现参数丢了,链接传了3个参,但是我只拿到了其中一个,我又开始武断了,难道支付宝小程序参数解析都有BUG么,还能丢参数,接下来自己的反复尝试最后发现是自己传参的问题,又狠狠的抽了自己一巴掌
解决方案
坑一解法:
先打开指定版本的小程序,再在右上角设置里面把联调设置开启,再让小程序打开处于热启动状态,后续扫码、点击link进入,都会进入到你当前热启动状态的版本来就实现了唤起到指定版本

坑二解法:
在使用小程序提供的生成外连跳转工具的时候在设置Page参数的时候,如果要通过URL传参数,要记得参数先执行encodeURIComponent处理再拼接在url后,如果要走启动参数query,也是同理的

总结
- 支付宝小程序可以通过手动开启联调让小程序热启动来实现跳指定版本
- 支付宝小程序通过URL传参记得先encodeURIComponent处理,不然会出现丢参数问题
小感:遇到问题不用先武断下结论,去问问AI,或者去小程序论坛转转/百度必应搜搜,再或者问问同事,一种不行多尝试几种也许你会有新的发现,祝各位朋友在编程爬坑路上都能一帆顺风并能发现新大陆
参考链接: