欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2019年09月18日 09:31:08   作者:愛(ài)學(xué)習(xí)的森  
QQ小程序群里有伙伴要發(fā)送模板消息的代碼,所以今天給大家分享QQ小程序模板消息發(fā)布,絕對(duì)一步一步帶著大家走,每個(gè)細(xì)節(jié)都講到,感興趣的朋友跟隨小編一起看看吧

QQ小程序群里有伙伴要發(fā)送模板消息的代碼,所以今天給大家分享QQ小程序模板消息發(fā)布,絕對(duì)一步一步帶著大家走,每個(gè)細(xì)節(jié)都講到。

今天先用php簡(jiǎn)單寫(xiě)一下,有空了再寫(xiě)java的。

首先創(chuàng)建一個(gè)空項(xiàng)目:

因?yàn)镼Q小程序沒(méi)有編譯器,先用微信小程序創(chuàng)建。

新建一個(gè)項(xiàng)目,其實(shí)微信小程序和QQ小程序本質(zhì)上沒(méi)有區(qū)別

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

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

然后寫(xiě)js邏輯:


記著勾選不校驗(yàn)合法域名

然后上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)失敗!");
      }
   },
   fail: function (error) {
    console.log('login failed ' + error);
   }
  })
 },

這里簡(jiǎn)單說(shuō)一下原理:

微信小程序、QQ小程序想要發(fā)送模板消息給用戶,必須要用戶在小程序前端有提交表單的動(dòng)作出現(xiàn),所以我們?cè)趆tml中寫(xiě)了個(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:


這里我們隨便選一個(gè)
我這里選了三個(gè)關(guān)鍵詞
然后拿到templaid

然后是后臺(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)失??!");
      }
   },
   fail: function (error) {
    console.log('login failed ' + error);
   }
  })
 },

appid和appsercet在小程序后臺(tái)弄:


這里是小程序ID和秘鑰

最后看一下效果吧:


就完成了

總結(jié)

以上所述是小編給大家介紹的php實(shí)現(xiàn)QQ小程序發(fā)送模板消息功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • 使用PHP實(shí)現(xiàn)一個(gè)輕量級(jí)HTML模板引擎

    使用PHP實(shí)現(xiàn)一個(gè)輕量級(jí)HTML模板引擎

    在Web開(kāi)發(fā)中,我們經(jīng)常需要?jiǎng)討B(tài)生成HTML頁(yè)面,為了提高開(kāi)發(fā)效率和代碼可維護(hù)性,使用模板引擎是一個(gè)非常普遍的方案,本文將介紹如何使用PHP實(shí)現(xiàn)一個(gè)簡(jiǎn)單的HTML模板引擎,滿足變量綁定輸出和if判斷的需求,需要的朋友可以參考下
    2023-08-08
  • 一個(gè)PHP日歷程序

    一個(gè)PHP日歷程序

    一個(gè)PHP日歷程序...
    2006-12-12
  • php設(shè)置session值和cookies的學(xué)習(xí)示例

    php設(shè)置session值和cookies的學(xué)習(xí)示例

    一直沒(méi)弄懂Session,cookies什么的登陸驗(yàn)證到底是怎么回事,昨天分別用HttpURLConnection和HttpClient兩個(gè)類來(lái)實(shí)驗(yàn)了一下,基本弄明白了Session驗(yàn)證登陸的機(jī)制和這兩個(gè)類的區(qū)別?,F(xiàn)在分享給大家
    2014-03-03
  • laravel如何開(kāi)啟跨域功能示例詳解

    laravel如何開(kāi)啟跨域功能示例詳解

    這篇文章主要給大家介紹了關(guān)于laravel如何開(kāi)啟跨域功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • php生成二維碼

    php生成二維碼

    隨著科技的發(fā)展,二維碼無(wú)處不在,特別是在智能手機(jī)時(shí)代二維碼更活躍,下面小編通過(guò)兩種方法給大家介紹利用php生成二維碼,需要的朋友可以參考下
    2015-08-08
  • php添加數(shù)據(jù)到xml文件的簡(jiǎn)單例子

    php添加數(shù)據(jù)到xml文件的簡(jiǎn)單例子

    下面小編就為大家?guī)?lái)一篇php添加數(shù)據(jù)到xml文件的簡(jiǎn)單例子。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • Laravel使用Queue隊(duì)列的技巧匯總

    Laravel使用Queue隊(duì)列的技巧匯總

    這篇文章主要給大家介紹了關(guān)于Laravel使用Queue隊(duì)列技巧的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • ThinkPHP+EasyUI之ComboTree中的會(huì)計(jì)科目樹(shù)形菜單實(shí)現(xiàn)方法

    ThinkPHP+EasyUI之ComboTree中的會(huì)計(jì)科目樹(shù)形菜單實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇ThinkPHP+EasyUI之ComboTree中的會(huì)計(jì)科目樹(shù)形菜單實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • 給WordPress的編輯后臺(tái)添加提示框的代碼實(shí)例分享

    給WordPress的編輯后臺(tái)添加提示框的代碼實(shí)例分享

    這篇文章主要介紹了給WordPress的編輯后臺(tái)添加提示框的代碼實(shí)例分享,即制作一個(gè)鼠標(biāo)指向后顯示詳細(xì)信息的效果,需要的朋友可以參考下
    2015-12-12
  • 基于php驗(yàn)證碼函數(shù)的使用示例

    基于php驗(yàn)證碼函數(shù)的使用示例

    本篇文章關(guān)于php驗(yàn)證碼函數(shù)的應(yīng)用,用示例說(shuō)明。需要的朋友參考下
    2013-05-05

最新評(píng)論