小程序与支付宝小程序使用模板消息步骤与踩坑
⼩程序与⽀付宝⼩程序使⽤模板消息步骤与踩坑
因领导需要,想使⽤模板消息,增加⽤户体验,如果⽤户没有完成订单的时候,系统后台⼈员给⽤户发送模板消息,提醒⽤户进⾏下⼀步的继续订单。
后台接⼝配置好之后,要求的是,只能在⽤户付过款之后,才能给⽤户进⾏推送。
先说上前端的具体实现:
看了⽂档,推送消息,需要经过⽤户授权,并且只有在⽤户点击或者付款成功的时候,才能调起授权信息窗⼝,不可以在⼩程序onLoad中调起。所以我只能在⾸页的按钮上添加如下的代码:
tmplIds: [tmplId],//tmplId是当前公众平台申请的模板id号,同⼀个⼩程序,最多可以添加三个模板。因为我们有多个⼩程序,所以我使⽤了变量
success(res) {
console.Msg)
console.log('⽤户点击确定')
3.1支付宝收款新规定},
fail(res) {
console.log('⽤户点击取消')
},
complete(res) {
wx.navigateTo({
url: '/pages/introduce/introduce',
})
}
})
然后将⽤户点击模板消息要进⼊的页⾯路径给后端发过去就完成了。
坑⼀: 授权信息窗⼝的调起只能在真机上可以调起,模拟器点击按钮会报错
坑⼆:如果⽤户在点击授权窗⼝信息中,点击了 以后都保持这个状态的(类似于记住我的这个操作),下⼀次,再次点击的时候就不会调起这个窗⼝了,(⼀旦⽤户点击拒绝,并且记住),相当于这个模板消息就没有任何作⽤了。
⽀付宝上:
前端不⽤写任何的代码,只需要后端进⾏配置就可以了,还是将路径给后端⼈员。
最⼤的坑来了!
因为通过模板消息进来的页⾯,要传递参数和订单号等信息。后端配置好以后,测试了⼀下,同样的代码(和⽀付宝代码逻辑是⼀样的,路径和参数都是⼀样的),就是在⼩程序中可以正常跳转到相应的页⾯,同时参数也是正常传递,⼀切都正常。但是⽀付宝只可以跳转到相应的页⾯,但是参数就是传递不过来。
问了后台,路径配置没有错,参数也传递了。
当时测试⼀点击就跳转到线上版本,就没法进⾏本地测试,以为只能在线上测试。很郁闷,后来发现,⽀付宝是可以本地测试的。因为app 有缓存,先扫描本地的预览⼆维码,再从后台系统中给⾃⼰发送模板消息,点击跳转的就不再是线上版本,⽽是刚刚扫描的本地版本了。通过真机测试显⽰,后台只传递了 action=continueSign,字符串,并没有把订单号传递进来。我们后端是⼀个⼤神,为了不打扰⼤神,只能⾃⼰看了⼀下后台配置接⼝,⽀付宝上的和上的差别不太⼤(主要还是看不太懂。。。),问了⽀付宝客服,最后⼈家说,传递参数,需要对参数进⾏⼀下 encode转码,就可以了。然后还给我发了⼀个后端代码截图,然后我给后端发了过去,进⾏了配置转码。最后测试了⼀下,成功!⼼⾥的⽯头终于落下去了!
最后想说⼀下,⽀付宝清理⼀次缓存可真难。需要在本机系统上进⾏清理。(设置->应⽤管理->清除数据)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。