本篇文章给大家带来的内容是关于微信小程序如何实现发送多条服务消息(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
看了官方文档的服务通知推送,必须要用户手动触发才能获取到fromId,而用户点击一次,只能获取到一个fromId,那么在这点击一次的情况下,怎么才能获取到多个fromId呢,当时这个问题困扰了我2个多小时,用获取到用户点击的fromId,fromId递增的方式,是能生成多个,但是微信无法识别,模拟用户点击方式也不可行,然后又试了css的点击穿透,也无法实现,后来突然想用一个笨办法,那就是在一个标签下面,嵌套多个
<view class='dfbg'> <form name='pushMsgFm' report-submit="true" data-type='submit' bindsubmit='formSubmit'> <button class='Gbtn flex f_center' class='btn' formType="submit"> <view class='aa'> <form name='pushMsgFm' report-submit="true" data-type='submit' bindsubmit='formSubmit'> <button class='Gbtn flex f_center' class='btn' formType="submit"> <view class='aa'> <form name='pushMsgFm' report-submit="true" data-type='submit' bindsubmit='formSubmit'> <button class='Gbtn flex f_center' class='btn' formType="submit"> </button> </form> </view> </button> </form> </view> </button> </form> </view>
我这里就写了3个,想生成几十条的,自行嵌套进去吧
嵌套的from和button的样式请用设置为opacity: 0
就这样就搞定了,有木有很简单的样子。
formSubmit:function(e){ let formId = e.detail.formId; console.log(formId); this.collectFormIds(formId); //保存推送码 //let t = e.detail.target.dataset.type; // 根据type执行点击事件 }, collectFormIds:function (formId) { let formIds = app.globalData.globalFormIds; // 获取全局推送码数组 if (!formIds) formIds = []; let data = { formId: formId, expire: new Date().getTime() + 60480000 // 7天后的过期时间戳 } formIds.push(data); app.globalData.globalFormIds = formIds; if (formIds.length==10){ this.takeInfo(); app.globalData.globalFormIds = []; } }
好了,就这么简单。
相关推荐:
PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息
以上是微信小程序如何实现发送多条服务消息(代码)的详细内容。更多信息请关注PHP中文网其他相关文章!