php实现QQ小程序发送模板消息功能


Posted in PHP onSeptember 18, 2019

QQ小程序群里有伙伴要发送模板消息的代码,所以今天给大家分享QQ小程序模板消息发布,绝对一步一步带着大家走,每个细节都讲到。

今天先用php简单写一下,有空了再写java的。

首先创建一个空项目:

因为QQ小程序没有编译器,先用微信小程序创建。

php实现QQ小程序发送模板消息功能

然后新建一个页面,直接上html代码:

<form bindsubmit="form_submit" report-submit="true">
<button formType="submit">这是模板发送按钮</button>
</form>

然后写js逻辑:

php实现QQ小程序发送模板消息功能

然后上js代码

form_submit(e) {
  console.log(e.detail.formId)
  var that = this
  wx.showToast({
   title: '正在发送模板消息请求',
   duration: 5000,
   icon: 'loading',
   mask: true
  })
  //推送消息
  wx.login({
   success: function (res) {
    console.log("获得的code");
    console.log(res)
    var code = res.code;//发送给服务器的code
    console.log("获得用户信息成功");
      if (code) {
       wx.request({
        url: 'https://xxxx/tokentest.php',//服务器的地址,现在微信小程序只支持https请求,所以调试的时候请勾选不校监安全域名
        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: '发送模板消息成功!',
         })
        }
       })
      }
      else {
       console.log("获取用户登录态失败!");
      }
   },
   fail: function (error) {
    console.log('login failed ' + error);
   }
  })
 },

这里简单说一下原理:

微信小程序、QQ小程序想要发送模板消息给用户,必须要用户在小程序前端有提交表单的动作出现,所以我们在html中写了个form标签来完成这一要求,然后在js端接受该表单返回的formid,这个表单id是有七天时效的,也就是说在7天之内可以向用户发送模板消息。综上,发送模板消息需要两个东西:一是用户的openid(发给谁),二是用户的formid(有表单提交动作)。

我们在js中拿到了用户的formid但是没有拿到openid,所以需要请求后台去拿用户的openid。
拿openid需要用用户提交上去的code,和小程序的appid及appsercet三把钥匙去请求微信服务器,返回用户的openid.

申请一个模板templateid:

php实现QQ小程序发送模板消息功能
php实现QQ小程序发送模板消息功能
php实现QQ小程序发送模板消息功能

然后是后台程序php:

tokentest.php

form_submit(e) {
  console.log(e.detail.formId)
  var that = this
  wx.showToast({
   title: '正在发送模板消息请求',
   duration: 5000,
   icon: 'loading',
   mask: true
  })
  //推送消息
  wx.login({
   success: function (res) {
    console.log("获得的code");
    console.log(res)
    var code = res.code;//发送给服务器的code
    console.log("获得用户信息成功");
      if (code) {
       wx.request({
        url: 'https://xxxx/tokentest.php',//服务器的地址,现在微信小程序只支持https请求,所以调试的时候请勾选不校监安全域名
        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: '发送模板消息成功!',
         })
        }
       })
      }
      else {
       console.log("获取用户登录态失败!");
      }
   },
   fail: function (error) {
    console.log('login failed ' + error);
   }
  })
 },

appid和appsercet在小程序后台弄:

php实现QQ小程序发送模板消息功能

最后看一下效果吧:

php实现QQ小程序发送模板消息功能

总结

以上所述是小编给大家介绍的php实现QQ小程序发送模板消息功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
PHP 错误之引号中使用变量
May 04 PHP
IP138 IP地址查询小偷实现代码
Feb 15 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
rrmdir php中递归删除目录及目录下的文件
May 15 PHP
PHP中几种常见的超时处理全面总结
Sep 11 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
php控制文件下载速度的方法
Mar 24 PHP
php 的反射详解及示例代码
Aug 25 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
php文件后缀不强制为.php的实操方法
Sep 18 #PHP
php校验公钥是否可用的实例方法
Sep 17 #PHP
php写入mysql中文乱码的实例解决方法
Sep 17 #PHP
php写入txt乱码的解决方法
Sep 17 #PHP
解决php写入数据库乱码的问题
Sep 17 #PHP
php写入文件不覆盖的实例讲解
Sep 17 #PHP
php提供实现反射的方法和实例代码
Sep 17 #PHP
You might like
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
微信小程序利用Canvas绘制图片和竖排文字详解
2019/06/25 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
python实现二分查找算法
2017/09/21 Python
微信公众号token验证失败解决方案
2019/07/22 Python
对Django中内置的User模型实例详解
2019/08/16 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
python连接mysql有哪些方法
2020/06/24 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
python 获取字典键值对的实现
2020/11/12 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
优秀应届毕业生自荐信
2013/11/16 职场文书
室内设计专业学生的自我评价分享
2013/11/27 职场文书
双创工作实施方案
2014/03/26 职场文书
社区矫正工作方案
2014/06/04 职场文书
好的促销活动方案
2014/08/21 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书