公众号发送模板消息40165错误

今天在做公众号发送模板消息的功能的时候报了一个错误"errcode":40165,"errmsg":"invalid weapp pagepath hint",网上也找了很多资料,发现很多人都有遇过同样的问题。解决方法大体上有3种,一种是把字段改成page,一种是把字段改成path,一种是改成pagepath。但前提都是小程序已经发布上线。我写的就是pagepath,但是写pagepath一直报40165错误,而且官方文档上面写的也是pagepath。于是我把字段改成page试一下,结果居然成功发送模板消息并且点击可以跳转到小程序,只是只能跳转到首页,不能跳转到page设置的页面,而且也不能拿到传过去的参数。改成path也是一样可以发送和跳转,这简直太神奇了。于是我猜想可能是官方文档写错了,然后我又去仔细看了一遍官方文档,发现pagepath字段是非必填,也就是说你完全可以不用传这个字段,如果不传他应该会有个默认值,应该是跳转到首页我猜想。于是抱着试一试的态度,我把page这个字段去掉了,结果也居然成功发送了,这么一想,我把page换成page1234照理应该也是可以成功发送的,结果并没有出乎我意料,他真的就可以发送。从这里我忽然明白了,网上大部分写page或者path的,其实是因为微信服务器没有找到pagepath这个字段,所以他默认设置为主页,所以无论你写page也好,path也好都可以跳转,只是只能跳转到首页,而且你也拿不到参数。那我写pagepath为什么会报40165错误呢?原来是因为pagepath的路径写错了,文档示例里面写的是"index?foo=bar",其实是错误的。公众号发送模板消息40165错误_第1张图片

比如我小程序的路径是/pages/index/index,那么我的pagepath应该写成page/index/index,注意前面不能有/,如果有参数也可以加在后面,比如page/index/index?type=1&age=16。

至此彻底明白了正确的字段应该是pagepath,之所以会报40165错误是因为pagepath的路径写错了,导致微信服务器找不到该页面而报错,正确的路径是诸如page/index/index?type=1

你可能感兴趣的:(微信小程序,小程序,模板消息)