六月婷婷在线,久久精品国产88精品久久,国产调教,国产精品呦另类稀缺鲁鲁

微信小程序簡(jiǎn)單收集formid無(wú)限次發(fā)送模板消息

微信小程序簡(jiǎn)單收集formid無(wú)限次發(fā)送模板消息

微信小程序 發(fā)布日期:2020-04-02 | 文章來(lái)源: | 閱讀:965

消息通知對(duì)于某些應(yīng)用是非常有用的,APP發(fā)送消息通知基本是沒(méi)有限制的,而微信小程序是通過(guò)微信的模板消息通知實(shí)現(xiàn)的,微信模板消息目前來(lái)看還是通知非常有效,不存在垃圾信息過(guò)多的問(wèn)題,還可以通過(guò)點(diǎn)擊消息直接進(jìn)入應(yīng)用詳細(xì)。如下圖所示

微信模板消息

但是,為了防止應(yīng)用亂發(fā)通知,小程序做了一些限制,只有兩種方法可以給用戶發(fā)送模板消息,一是用戶支付后可發(fā)送3條模板消息;二是頁(yè)面發(fā)生一次提交表單行為可發(fā)送1條模板消息,而且有個(gè)期限是7天內(nèi)。如果某些應(yīng)用需要多次發(fā)送模板消息怎么辦呢?比如最近我們做的一個(gè)項(xiàng)目,涉及到多人物物交換,如果一個(gè)人發(fā)布了一個(gè)物品,可能收到多個(gè)人的交換請(qǐng)求,而如果交換請(qǐng)求不通過(guò)模板消息推送給用戶的話,那么這個(gè)應(yīng)用就是缺失的。

7天內(nèi)無(wú)限次發(fā)送模板消息的做法很簡(jiǎn)單,就是根據(jù)“提交1次表單可推送1條模板消息,多次提交表單之間是相互獨(dú)立的”這個(gè)規(guī)則,只要在小程序前端,收集足夠多的formid就行了。比如把用戶所有的點(diǎn)擊都做成form表單提交,把想要的鏈接做成表單提交。但在實(shí)際操作中會(huì)遇到以下問(wèn)題,因?yàn)橹挥衎utton組件才能提交表單,如果要把文字鏈接和圖片按鈕做成表單提交,需要在上面套一個(gè)form和button組件,如下代碼
?

form bindsubmit="goto_index" report-submit="true">

button class="form_button" form-type="submit">

image src="/images/btn_see_auto.png" mode="aspectFit" >image>

button>

form>


而button組件在小程序里是有默認(rèn)樣式的,你會(huì)發(fā)覺(jué)樣式變得非常難看,如下圖。

本來(lái)樣式是這樣的小程序模板消息圖1?加了form和button組件后變成了這樣模板消息圖2

如何解決呢?最好的方式就是通過(guò)CSS定義覆蓋原有button的樣式。于是,我們程序員寫(xiě)出了通用的代碼,適用于整個(gè)小程序。
?

button.form_button{background-color:transparent;padding:0;margin:0;display:inline;position:static;border:0;padding-left:0;padding-right:0;border-radius:0;font-size:0rpx;color:transparent;}

button.form_button::after{content:'';width:0;height:0;-webkit-transform:scale(1);transform:scale(1);display:none;background-color:transparent;}


有個(gè)小問(wèn)題需要注意一下,就是原來(lái)傳遞的data數(shù)據(jù)需要加在form上面。

然后剩下的問(wèn)題就是后臺(tái)把收集到的formid都上傳到后臺(tái)服務(wù)器保存,同時(shí)記錄過(guò)期時(shí)間。

服務(wù)器最好有個(gè)定時(shí)刪除過(guò)期formid的功能,增加查找可用formid的速度。

后臺(tái)發(fā)送模板消息的功能實(shí)現(xiàn)這里就不多說(shuō)了,可以參考官方文檔。