溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能

發(fā)布時(shí)間:2021-06-03 11:02:54 來(lái)源:億速云 閱讀:191 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹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)建。

php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能

然后新建一個(gè)頁(yè)面,直接上html代碼:

<form bindsubmit="form_submit" report-submit="true">
<button formType="submit">這是模板發(fā)送按鈕</button>
</form>

然后寫js邏輯:


php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能

然后上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:


php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能
php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能
php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能

然后是后臺(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ā)送模板消息功能

最后看一下效果吧:


php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能

以上是“php如何實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI