微信小程式模板訊息群發解決思路

2022-09-17 04:03:11 字數 876 閱讀 9946

為了防止對模板訊息的濫用,帶來不好的使用者體驗,小程式對模板訊息推送做了相應的限制。

下發條件說明(觸發模板訊息下發的兩個場景):

1. 支付

當使用者在小程式內完成過支付行為,可允許開發者向使用者在7天內推送有限條數的模板訊息(1次支付可下發3條,多次支付下發條數獨立,互相不影響)

2. 提交表單

當使用者在小程式內發生過提交表單行為且該表單宣告為要發模板訊息的,開發者需要向使用者提供服務時,可允許開發者向使用者在7天內推送有限條數的模板訊息(1次提交表單可下發1條,多次提交下發條數獨立,相互不影響)

也就是說,使用者提交一次表單,會提供給開發者一次推送許可權,多次提交的情況下下發條數獨立。所以如果開發者想要哎7天內無限制的為使用者推送訊息,需要做的就是-->從使用者那裡獲取足夠多的推送許可權(推送許可權就是form表單的formid)。

所以,我們可以在前端頁面來收集使用者的formid,然後儲存在伺服器上。根據小程式的文件說明:使用者在小程式內發生過提交表單行為且該表單宣告為要發模板訊息的,只能在使用者發生提交行為的時候收集formid,所以,我們可以把頁面上使用者可點選的按鈕或其他元素用表單元件中的button按鈕元件來代替,把使用者的互動點選的bindtap事件通過表單的bindsubmit來代替 ,從而捕獲使用者的點選事件來產生更多的formid。等到真正需要網路請求的時候將收集到的formid傳送至伺服器儲存。傳送成功以後清空formid,以便再次收集新的formid。

後端在傳送模板訊息的時候先從儲存的formid中挑出未過期的一條formid,刪除已過期的不可用的fromid以及當前將要用的formid。

未解決問題:如果使用者在一周內沒有訪問或點選過小程式中的任何元件,那我們就收集不到有效的fromid,也就意味著我們失去了給使用者傳送模板訊息的許可權,這種情況下該怎麼辦?

微信小程式傳送 模板訊息

實現步驟 1.先在前端獲取fromid,openid 2.將fromid,openid存入對應使用者的資料庫 3.下來就是寫模板訊息,查詢對應使用者的fromid和openid,將key值對應寫上 4.獲取access token,儲存時間7200 5.呼叫模板方法即可 前端 js獲取fromid存...

微信群發訊息

準備工作需要安裝itchat api easy install itchat coding utf8 import itchat,time itchat.auto login true sincere wish u 祝 s新年快樂!friendlist itchat.get friends upda...

微信小程式(模板)

1.模板 wxml提供模板 template 可以在模板中定義 片段,然後在不同的地方呼叫。定義模板 使用name屬性,作為模板的名字。然後在內定義 片段,如 name postitem class post container class post author date class post a...