因業(yè)務(wù)需求需要用到微信小程序的推送功能,并且后臺要用Java實(shí)現(xiàn).邊看官方文檔,邊琢磨,終于搞出來了.
先整理下流程:推送顧名思義,即是給程序中的用戶發(fā)送微信推送.當(dāng)前微信小程序推送有兩種形式,1用戶支付后可發(fā)起推送,2用戶通過表單提交可以觸發(fā)推送.當(dāng)前我用的是觸發(fā)表單提交的方式.
首先我們需要選用模板
一般來說微信小程序提供的模板庫中已經(jīng)有很多可用的模板供我們選擇,如果不符合業(yè)務(wù)需求,則可已定義添加模板,不過需要審核.
微信小程序模板推送需要用到兩個API 第一個
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
我們需要先獲取模板的使用權(quán)限,注意次請求是Get請求.
第二個
POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
這些參數(shù)一會我們都要用到.
其中在頁面中我們可以獲取的是 form_id 和 touser也就是openid
form_id是我們表單提交后產(chǎn)生的一個id,而openid則是通過wx.login()獲取的一個臨時(shí)code,在發(fā)送請求獲取的微信用戶在當(dāng)前小程序唯一的憑證.對于openid這里不多解釋.
頁面需要主頁的是 report-submit設(shè)置為true則可以獲取formid,button的form-type需要設(shè)為submit.
如此我們便可以獲取一個formid
接下來是Java后臺
附錄get請求的方法
下面就是真正的推送了
附錄post請求方法
這里的post請求需要注意的是一定要請求頭中的請求參數(shù)為json否則會失敗.
如上則可以順利給用戶發(fā)送模板