后端是PHP进 行消息发送 官方发送数据例子如下:
最开始 为了构造一个json数据格式,
第一步:我是先把 数据构造成一个多维数组 $arr,
第二步:$json_data = json_encode($arr),然后再 $json = urldecode($json_data);
第三步:再然后 就是 通过 curl_init 进行发送了,这里不再详述。
接下来有个坑慧困,发送不成功,错误信息 如下
{“errcode”:40165,“errmsg”:"invalid weapp pagepath}
百度下,很快有了答案,说官方文档有误,把 pagepath 改为 path 即可,我试了下,果然可以,消息推送正常,开心坏了!
奇怪的事情发生了,点击推送消息后没有腊埋跳转到小程序指定页面,一直是首页!
然后百度搜索各种答案,有说 路径参数名,改为 page(试了下居然可以),有的说 为 pagepath(这不是刚跳出来的坑吗?为啥别人居然可以成功发送?)
经过各种测试终于发现问题所在,第二步有问题!json_encode() 把原来数组中的路径 斜杠转义了! 'pages/auth/auth?id=6' 变成了 'pages\/auth\/auth?id=6' 难怪找不到路径!
后来看了下手册,有防止 json_encode() 转义 斜杠的参数
JSON_UNESCAPED_SLASHES (不转义斜杠,对应的数字 64)
然后把第二步 改为 $json_data = json_encode($arr, JSON_UNESCAPED_SLASHES )
还得把 页面参数由 path 改为 pagepath (不改会报错!)
再发送消息就可以正常接收并跳转到指定小程序页面啦!下面是我的构造的正确的多维数组格式
小程序跳转H5页面是通过web-view组件来实现的,web-view是一个可以用来承载网页的容器,会自动铺满整个小程序页面,也就是说h5页面的跳转是在小程序的环境下打开的。需要在小程序里建立一个空白页,放置webview用来展示H5页面。
限制条件:
1、H5页面所在的域名必须为https
2、由于web-view组件是一个全屏组件,不能和其它小程序组件合用,因此需要独立占据一个页面,由A跳到B,由B跳到h5页面
3、小程序能够跳转的h5页面的域名必须在业务域名中进行注册
4、小程序账号必须是企业账号,个人和海外账号暂不支持,只有企业账号才能看到业务域名入口
5、设置网页授权域名,H5页面关联的服务号谨枝悉中去进行设置,在公众号设置添加好需要跳转的域名
1、h5页面在小程序环境下打开的情况下
限制条件:
1、当前的h5页面必祥乎须是在小程序的环境下打开的页面,才能回跳小程序的指定页面。
2、其它限制条件同小程序跳h5页面的要求
注意点:无论是小程序跳转H5页面还是跳转回来都是可以传递参数的
2、h5页面不在小程序环境下打开的情况下
微信新增小程序跳转按钮:wx-open-launch-weapp(具体用法可参搭颂考 官方文档 )。用于页面中提供一个可跳转指定小程序的按钮。使用此标签后,用户需在网页内点击标签按钮方可跳转小程序。
1、通过微信公众号后台配置菜单,子菜单内容选择小程序
2、公众号推文里添加素材
点击小程序,d框如下图(在d框中可以选择展示的方式:文字、图片、小程序卡片、小程序码
3、当公众号和小程序已关联(在公众号的菜单中有绑定小程序的入口)
小程序所在的菜单会出现在公众号的介绍页(如果是在二级菜单中,所对应的只出现相应一级的该小程序入口)
4、模板消息(直接在模板消息接口中配置)
该小程序appid必须与发模板消息的公众号是绑定关联关系,点击模板消息跳转小程序,可支持跳转到小程序的具体页面,支持带参数,(示例index?foo=bar)
5、H5页面中嵌入小程序码
6、安卓手机debug调试( 打开信息里面的调试功能 )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)