如果对微信公众号开发不了解的,可以移步 >>>
今天我要吐槽下模板消息中加入小程序跳转的坑,做这个功能,掉了不少头发。最终实现的效果
点击“看点直播”小程序跳转指定页面,不是小程序首页,不是小程序首页,不是小程序首页。如果是首页,就不用掉头发了。
1、准备工作
由于之前做的模板消息推送,跳转的是 h5 链接,so easy,干就完了。但是如果要跳转小程序的话,公众号首先要关联小程序,如果是关联自己家做的小程序,权限问题不用找外人。
如果是关联别人家的小程序,比如我这里要关联“看点直播”,
步骤:
① 向对方的小程序管理员获取相应小程序的ApplD;
② 在公众平台登录自己的公众号(注意:只有管理员才有权限),点击左侧的 [小程序管理];
③ 点击右上角的「添加」,选择「关联小程序」;
④ 输入目标小程序的ApplD。
确认关联操作后,公众平台会自动向小程序管理员发送关联邀请;小程序管理员只需要在手机上确认,即可成功将小程序与公众号进行关联。
关联成功的亚子:
如果是“待确定”状态,去找小程序管理员审核。
2、官方文档说明
http 请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
注:url 和 miniprogram 都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至 url。
看文档,感觉没啥难度,要跳转小程序需要两个参数,一个是 小程序的 appid,一个是小程序跳转的具体路径 pagepath。
当我满心欢喜的写完代码,测试一下准备收工的时候,接口返回信息给你当头一棒。
既然说 pagepath 路径不对,那我必须找运营小姐姐唠会天。
说链接可能调整了,重新发一个。os:问题不大,估计可以早点下班了。
没想到的是,链接还是不对,仍然报同样的错误。
是不是复制链接操作有误,我决定自己试试
小程序复制链接,还得开权限,这处处都受限制,怎么开权限呢?
这个谜一般操作
① 新建群发
② 点击小程序
③ 在“开启入口”输入自己的微信号
输入的时候手速要快,操作过的人会懂,开启后有 10 分钟有效期
④ 小程序指定页面复制链接
复制后的链接长这个鬼亚子(不是传统的 h5 链接):
pages/reserve/main.html?p=****&f=*&test_id=*&o=******&fp=detail_page
既然链接没错,为啥接口报错显示:
invalid weapp pagepath hint???
不合理!
在网上看了 n 个答案,说是把 pagepath 改成 page 或者 path 就可以发送
网上各个都是人才,说话又好听。竟然自己改参数,谁是第一个始作俑者??出来,看我不打死你。
试了下,真的发送成功,小程序跳转后的页面
复制了下链接:
pages/home/index.html,这不是首页吗??我的预期是到具体的直播房间。
如果你只是跳转到首页,那么,这么做,没有问题,你把 pagepath 改成任何参数都行,默认跳首页,但是你要跳指定页面,对不起,你可能遇到和我一样的情况。
完犊子,今天又得加班了
去微信开放社区看看,发现不少人遇到类似问题,有些直接改为 path 就完事了,估计是跳首页,有人说这是一个未解决的坑。
报错时,我一直确信这个链接没问题,因为这个小程序已发布,而且我自己从小程序里复制的链接,走进了一个死胡同,网上说的方案我排列组合的实验了 n 次,都不见效。
修改参数行不通,一直跳首页,那么这个路径有没有什么问题呢,看了官方文档的路径
对比自己的路径,为啥你这么突出
pages/reserve/main.html?p=****&f=*&test_id=*&o=******&fp=detail_page
通过对链接做加减法,最终成功了!
"pagepath": "pages/reserve/main?p=****"
鬼知道我经历了什么?看了看表,已经凌晨 1 点半了。
欢迎关注 @Python大星 ,一个会点 Python 的 Java 程序员。如果你有更好的想法,欢迎留言,一起探讨,想说你就说啊!后面继续分享微信公众号的相关开发,人少就散了吧!
@Python大星 | 文