3分鍾實現小程序模版消息推送 | 基于(yú)Bmob後端雲
發表時(shí)間:2021-3-31
發布人(rén):融晨科技
浏覽次數:76
###作爲(wéi / wèi)小程序的(de)開發者你一定會遇到(dào)這(zhè)樣子(zǐ)的(de)需求:
例如:
- 當用戶購買後,你想向用戶發送消息提醒用戶已經發貨;
- 當用戶購買VIP後,你想向用戶發送消息提醒用戶升級成功;
- 當你的(de)小程序更新後,你想向用戶發送消息提醒用戶更新的(de)功能點.....等等都需要(yào / yāo)用到(dào)微信小程序的(de)消息推送功能
如果你想實現微信的(de)消息推送功能,必須要(yào / yāo)在(zài)後端處理一系列與微信的(de)交互(access_token,openid,fromId),存儲還有進行有效性的(de)驗證,**但是(shì)如果用了(le/liǎo)Bmob的(de)小程序SDK**,僅需要(yào / yāo)前端人(rén)員進行簡單幾句代碼的(de)編寫,**前端僅需要(yào / yāo)獲取 formId,配置好參數就(jiù)能發送模闆,無需任何後端的(de)邏輯處理**。
**模闆發送條件**
1、 支付:當用戶在(zài)小程序内完成過支付行爲(wéi / wèi),可允許開發者向用戶在(zài)7天内推送有限條數的(de)模闆消息(1次支付可下發1條,多次支付下發條數獨立,互相不(bù)影響)
2、提交表單:當用戶在(zài)小程序内發生過提交表單行爲(wéi / wèi)且該表單聲明爲(wéi / wèi)要(yào / yāo)發模闆消息的(de),開發者需要(yào / yāo)向用戶提供服務時(shí),可允許開發者向用戶在(zài)7天内推送有限條數的(de)模闆消息(1次提交表單可下發1條,多次提交下發條數獨立,相互不(bù)影響)
----------
接下來(lái),就(jiù)來(lái)手把手教你快速掌握Bmob小程序消息推送功能。
例子(zǐ):支付訂單後發送支付成功的(de)通知
1. 先在(zài)微信公衆平台-小程序設置好自己的(de)模闆,選擇的(de)是(shì)微信自帶的(de)訂單支付成功通知模闆``



成功後拿到(dào)模闆的(de)ID和(hé / huò)關鍵詞
2. 下載bmob小程序sdk,并引用
[sdk下載地(dì / de)址](https://github.com/bmob/bmob-WeApp-sdk)
在(zài)發送消息的(de)頁面中引入bmob小程序sdk,這(zhè)裏是(shì)在(zài)支付的(de)頁面中引入
```
- //pay.js
var Bmob=require("utils/bmob.js");
Bmob.initialize("appkey", "restkey");
```
在(zài)支付成功後的(de)回調中編寫發送消息模闆的(de)邏輯

[bmob小程序消息模闆文檔](https://docs.bmob.cn/data/wechatApp/b_developdoc/doc/index.html#小程序模闆消息) 複制代碼請進
參數fromId必要(yào / yāo)要(yào / yāo)在(zài)表單提交場景下才能獲取,而(ér)且表單必須要(yào / yāo)設置report-submit屬性
```
.wxml
<form bindsubmit="settlement" report-submit>
</form>
.js
fromId爲(wéi / wèi)event.detail.formId
```
參數template_id爲(wéi / wèi)在(zài)微信公衆号獲取到(dào)的(de)模闆Id
keyword填寫模闆中對應的(de)關鍵詞
3. 發送成功後會收到(dào)以(yǐ)下消息

###看到(dào)這(zhè)裏,有沒有發現這(zhè)個(gè)過程中,是(shì)完全不(bù)涉及後端開發的(de)?
簡單來(lái)說(shuō)僅需要(yào / yāo)一個(gè)sdk中的(de)發送函數**sendMessage**
```
Bmob.sendMessage(temp).then(function (obj) {
console.log('發送成功');
},function (err) {
common.showTip('失敗' + err)
});
```
再進行簡單的(de)參數配置就(jiù)能輕松實現微信的(de)消息模闆推送功能,so easy!