您好,登錄后才能下訂單哦!
這篇文章主要介紹php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
QQ小程序群里有伙伴要發(fā)送模板消息的代碼,所以今天給大家分享QQ小程序模板消息發(fā)布,絕對(duì)一步一步帶著大家走,每個(gè)細(xì)節(jié)都講到。
今天先用php簡(jiǎn)單寫一下,有空了再寫java的。
首先創(chuàng)建一個(gè)空項(xiàng)目:
因?yàn)镼Q小程序沒(méi)有編譯器,先用微信小程序創(chuàng)建。
然后新建一個(gè)頁(yè)面,直接上html代碼:
<form bindsubmit="form_submit" report-submit="true"> <button formType="submit">這是模板發(fā)送按鈕</button> </form>
然后寫js邏輯:
然后上js代碼
form_submit(e) { console.log(e.detail.formId) var that = this wx.showToast({ title: '正在發(fā)送模板消息請(qǐng)求', duration: 5000, icon: 'loading', mask: true }) //推送消息 wx.login({ success: function (res) { console.log("獲得的code"); console.log(res) var code = res.code;//發(fā)送給服務(wù)器的code console.log("獲得用戶信息成功"); if (code) { wx.request({ url: 'https://xxxx/tokentest.php',//服務(wù)器的地址,現(xiàn)在微信小程序只支持https請(qǐng)求,所以調(diào)試的時(shí)候請(qǐng)勾選不校監(jiān)安全域名 data: { code: code, formID: e.detail.formId, }, header: { 'content-type': 'application/json' }, success: function (res) { console.log(res.data); wx.setStorageSync('useropenid', res.data) wx.showToast({ title: '發(fā)送模板消息成功!', }) } }) } else { console.log("獲取用戶登錄態(tài)失?。?quot;); } }, fail: function (error) { console.log('login failed ' + error); } }) },
這里簡(jiǎn)單說(shuō)一下原理:
微信小程序、QQ小程序想要發(fā)送模板消息給用戶,必須要用戶在小程序前端有提交表單的動(dòng)作出現(xiàn),所以我們?cè)趆tml中寫了個(gè)form標(biāo)簽來(lái)完成這一要求,然后在js端接受該表單返回的formid,這個(gè)表單id是有七天時(shí)效的,也就是說(shuō)在7天之內(nèi)可以向用戶發(fā)送模板消息。綜上,發(fā)送模板消息需要兩個(gè)東西:一是用戶的openid(發(fā)給誰(shuí)),二是用戶的formid(有表單提交動(dòng)作)。
我們?cè)趈s中拿到了用戶的formid但是沒(méi)有拿到openid,所以需要請(qǐng)求后臺(tái)去拿用戶的openid。
拿openid需要用用戶提交上去的code,和小程序的appid及appsercet三把鑰匙去請(qǐng)求微信服務(wù)器,返回用戶的openid.
申請(qǐng)一個(gè)模板templateid:
然后是后臺(tái)程序php:
tokentest.php
form_submit(e) { console.log(e.detail.formId) var that = this wx.showToast({ title: '正在發(fā)送模板消息請(qǐng)求', duration: 5000, icon: 'loading', mask: true }) //推送消息 wx.login({ success: function (res) { console.log("獲得的code"); console.log(res) var code = res.code;//發(fā)送給服務(wù)器的code console.log("獲得用戶信息成功"); if (code) { wx.request({ url: 'https://xxxx/tokentest.php',//服務(wù)器的地址,現(xiàn)在微信小程序只支持https請(qǐng)求,所以調(diào)試的時(shí)候請(qǐng)勾選不校監(jiān)安全域名 data: { code: code, formID: e.detail.formId, }, header: { 'content-type': 'application/json' }, success: function (res) { console.log(res.data); wx.setStorageSync('useropenid', res.data) wx.showToast({ title: '發(fā)送模板消息成功!', }) } }) } else { console.log("獲取用戶登錄態(tài)失?。?quot;); } }, fail: function (error) { console.log('login failed ' + error); } }) },
appid和appsercet在小程序后臺(tái)弄:
最后看一下效果吧:
以上是“php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。