Skip to content

背景

微信消息模板跳转小程序的 API 中,无法指定小程序的环境版本,只能跳转到已发布的生产环境。

导致测试小程序体验版本的接口交互功能,每次修复 bug 都需要发布生产环境。

1,影响生产环境安全

2,发布生产,需要微信审核,时间不可控,严重影响 bug 测试及修复进度

https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html

img

社区相关讨论

https://developers.weixin.qq.com/community/develop/doc/00028cd1850410a6b9076379e5bc00

https://developers.weixin.qq.com/community/develop/doc/00020a3870c4886e671ac48d252000?_at=1651044532705

需要一种动态自定义带参跳转小程序体验版的功能,在体验版测试完成的项目流程

解决方案

通过如下方式自行拼接获得跳转链接,在微信中点击该参数即可跳转到体验版小程序

img

https://open.weixin.qq.com/sns/getexpappinfo?appid=wx83b418748310a345&path=pages/index/job-list.html?orderId=16

在微信中点击该参数即可跳转到体验版小程序

img

该功能为历史遗留功能,目前暂时可以使用

最新版,生成动态小程序跳转链接的方案,参考如下文档

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/sms.html

注意事项

链接打开方式

该链接仅能在微信中点击访问,在外部浏览器访问将无法识别,并返回非体验成员的报错

img

缓存问题

每次从链接进入,都会在微信小程序中形成一个缓存。无法获取最新打开的链接中的参数。

需要手动删除体验版小程序,重新点击进入,才可获取最新的参数

img

多参数传递问题

当需要在调整的链接中携带多个参数时,需要对 path ? 后面的参数字段进行 encodeURIComponent 编码,如携带orderId=16&type=1

https://open.weixin.qq.com/sns/getexpappinfo?appid=wx83b418748310a345&path=pages/index/job-list.html?orderId=16&type=1

则需要对 orderId=16&type=1 进行编码,得到 orderId%3D16%26type%3D1

https://open.weixin.qq.com/sns/getexpappinfo?appid=wx83b418748310a345&path=pages/index/job-list.html?orderId%3D16%26type%3D1

才能正常传递多个参数

而小程序提取参数逻辑中,无需 decodeURIComponent ,小程序将自动解析,正常解析出这两个参数

Lucking