這篇文章帶給大家的內容是關於微信小程式如何實現發送多個服務訊息(程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
看了官方文件的服務通知推送,必須要用戶手動觸發才能獲取到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中文網其他相關文章!