这篇文章将为大家详细讲解有关微信小程序实现发送多条服务消息的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
看了官方文档的服务通知推送,必须要用户手动触发才能获取到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 = [];
}
}
关于微信小程序实现发送多条服务消息的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。