微信小程序有URL链接和URL(系统不支持直接识别URL,用户无法正常打开小程序,开发者需要使用H5页面传输,然后跳转打开小程序),可以用于短信和电子邮件。 、网页、微信等推出小程序的业务场景。
生成的URL链接如下:/**或/**,生成的...URL如下:://dl//?t=
但后来可能发现很多人滥用,于是又出台了一条规则:从2022年4月11日开始,URL Link和URL有效期最长为30天,不再支持永久有效的URL Link和URL。每个独立的 URL Link 和 URL 被某个用户访问后,只有该用户才能再次访问并打开对应的小程序,其他用户无法再次通过同一 URL 打开该小程序。
现在想要使用的跳转链接,只能用来在短信触发时,实时不断地生成唯一的链接。与上一代所有用户都可以使用的固定链接不同,但小程序的文档中也提到,通过短信打开小程序有三种方式:①通过URL ②通过URL Link ③通过云开发静态网站。
经过最终评估,不依赖后端,使用云端开发静态传输页面更为合适。运维团队在申请短信模板时,忘记在URL前后加空格,导致URL路径后面出现一串中文参数,如下图:
点击网址时可以正常打开转账页面,但点击“打开小程序”按钮却没有任何反应。终于在文档中找到了答案。原来界面中的参数有限制:最多1024个字符,并且只支持数字和大小。写出英文和一些特殊字符:!#$&'()*+,/:;=?@-._~%
// 获取小程序路径和参数 function getWxroute() { // 小程序路径与参数映射 const pathMaps = { home: '/pages/index/home', im: '/pages/chat/list' } const query = getQuery()
通过调试,确实发现参数中也包含了路径中的汉字,并且文档中也写了接口返回的错误码(参数填写错误)。最后在获取参数时,通过正则表达式去掉所有不支持的字符,解决了问题。
经验教训:
1、匹配短信中的URL或链接时,要注意前后内容的处理。
2. URL链接和URL部分不支持中文参数。