日韩欧美三区_丁香五月久久婷婷久久_成人文学网站_爆爽久久久一区二区又大又黄又嫩_92午夜一百集视频在线观看_午夜影院和集1000_国产又爽又黄无码无遮挡在线观看_女人被添全过程A片免费视频_成人性生交大片免费看R链接_国产美女一区二区在线观看_麻花豆传媒剧国产MV在线上-_久久特级毛片_国产成熟妇人高潮A片_伊人久久亚洲精品一区_88华人永久免费_亚洲 欧美 视频 卡通动漫_丁香花视频在线观看_男女又色又爽又爽视频_香蕉噜噜噜噜私人影院_182tv观免费现看

網站建設資訊

微信小程序簡單收集formid無限次發送模板消息

小程序開發 2017-11-27 14:27:44 | 閱讀:2045
消息通知對于某些應用是非常有用的,APP發送消息通知基本是沒有限制的,而微信小程序是通過微信的模板消息通知實現的,微信模板消息目前來看還是通知非常有效,不存在垃圾信息過多的問題,還可以通過點擊消息直接進入應用詳細。如下圖所示

微信模板消息

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

7天內無限次發送模板消息的做法很簡單,就是根據“提交1次表單可推送1條模板消息,多次提交表單之間是相互獨立的”這個規則,只要在小程序前端,收集足夠多的formid就行了。比如把用戶所有的點擊都做成form表單提交,把想要的鏈接做成表單提交。但在實際操作中會遇到以下問題,因為只有button組件才能提交表單,如果要把文字鏈接和圖片按鈕做成表單提交,需要在上面套一個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組件在小程序里是有默認樣式的,你會發覺樣式變得非常難看,如下圖。

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

如何解決呢?最好的方式就是通過CSS定義覆蓋原有button的樣式。于是,我們程序員寫出了通用的代碼,適用于整個小程序。
 
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;}

有個小問題需要注意一下,就是原來傳遞的data數據需要加在form上面。

然后剩下的問題就是后臺把收集到的formid都上傳到后臺服務器保存,同時記錄過期時間。

服務器最好有個定時刪除過期formid的功能,增加查找可用formid的速度。

后臺發送模板消息的功能實現這里就不多說了,可以參考官方文檔。
 
主站蜘蛛池模板: 读书| 涞源县| 兴仁县| 凤凰县| 安远县| 玛纳斯县| 平武县| 乾安县| 若羌县| 揭阳市| 大田县| 离岛区| 望城县| 芷江| 德安县| 定日县| 台州市| 文山县| 延吉市| 岑溪市| 保亭| 星子县| 普格县| 彰化县| 长春市| 漳州市| 茂名市| 崇信县| 广宗县| 如皋市| 永修县| 治县。| 通江县| 曲松县| 石河子市| 闻喜县| 山西省| 岢岚县| 诸暨市| 北流市| 瓮安县|