为了突破微信小程序模板消息限制,需收集到足够的推送码,即每次提交表单时获取到的formId。一个formId代表着开发者有向当前用户推送模板消息的一次权限。当表单组件中的属性report-submit=true时表示发送模板消息,提交表单便可以获取formId。接下来只要对原先的页面进行改造,将用户原先绑定了点击事件的界面用表单组件中的button按钮组件来代替,即把用户的交互点击的bindtap事件由表单bindsubmit来代替,从而捕获用户的点击事件来生成更多的推送码。同时提交多个form表单,以获取多个不同的formId来发送多个消息模板通知原来还能通过另一种方式来实现:简单来说,就是运用css样式重叠,让页面上的多个不同的form表单通过一次触发,点击事件穿透,来实现触发多个表单的方式。wxml的结构要遵循多个表单一层一层往内嵌套,以实现点击事件穿透(冒泡)的结果。
在点击跳转的时候跳转比较快,偶尔会收集不到formid,这时在跳转的时候加300ms延迟解决问题
that.timer = setTimeout(() => { wx.navigateTo({ url: \'/pages/index?type=rob\' + \'&formId=\' + (e.detail.formId || \'\') }) }, 300)
请发表评论