需要用到

  • 登陆QQ小程序开发者后台

  • 需要有服务器用于存放php文件

  • 支持HTTPS,有ssl证书

  • QQ小程序开发者工具

登陆QQ小程序开发者后台选择消息模板

选择你需要显示的行内容

设置合法域名,只支持https域名

添加按钮

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

添加js

form_submit(e) {console.log(e.detail.formId)var that = thiswx.showToast({title: '正在发送模板消息请求',duration: 5000,icon: 'loading',mask: true})//推送消息wx.login({success: function (res) {console.log("获得的code");console.log(res)var code = res.code;//发送给服务器的codeconsole.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);}})},

模板ID在我的模板中复制到下方php中更改

appid与appsecret在设置-开发设置中

服务器添加php文件及代码

下方标绿色是需要根据上面的内容改为你的信息的

<?php//require_once('getAccessToken.php');$appid="111111111";//你的小程序id$appsecret="1111111111";//你的小程序密钥function curl_get_https($url){$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HEADER, 0);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  // 跳过检查curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  // 跳过检查$tmpInfo = curl_exec($curl); curl_close($curl);return $tmpInfo;   //返回json对象}function getAccessToken ($appid, $appsecret) {                  $url='https://api.q.qq.com/api/getToken?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret;//$url='https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code';/*$arrContextOptions=array("ssl"=>array("verify_peer"=>false,"verify_peer_name"=>false,),);  $response = file_get_contents($url, false, stream_context_create($arrContextOptions));*/$info = curl_get_https($url);$json = json_decode($info);//对json数据解码$arr = get_object_vars($json);$access_token = $arr['access_token'];return $access_token;}//获得openid$code = $_GET['code'];//小程序传来的code值//$nick = $_GET['nick'];//小程序传来的用户昵称//$imgUrl = $_GET['avaurl'];//小程序传来的用户头像地址//$*** = $_GET['***'];//小程序传来的用户性别// $url = 'https://api.weixin.qq.com/sns/jscode2session?appid='.$appid.'&secret='.$appsecret.'&js_code=' . $code . '&grant_type=authorization_code';$url='https://api.q.qq.com/sns/jscode2session?appid='.$appid.'&secret='.$appsecret.'&js_code=' . $code . '&grant_type=authorization_code';//yourAppid为开发者appid.appSecret为开发者的appsecret,都可以从微信公众平台获取;//$info = file_get_contents($url);//发送HTTPs请求并获取返回的数据,推荐使用curl$info = curl_get_https($url);$json = json_decode($info);//对json数据解码$arr = get_object_vars($json);$openid = $arr['openid'];echo "openid:";echo $openid;$session_key = $arr['session_key'];$formid = $_GET['formID'];//小程序传来的用户echo "formid:";echo $formid;// 根据你的模板对应的关键字建立数组// color 属性是可选项目,用来改变对应字段的颜色date_default_timezone_set("Asia/Shanghai");$nowtime=date("Y.m.d");$color="black";$data_arr = array('keyword1' => array( "value" => "麻木博客首页", "color" => $color ) ,                //这里模板行数几行就添加几行'keyword2' => array( "value" => $nowtime, "color" => $color ),'keyword3' => array( "value" => "点我前往查看", "color" => $color ) ,'keyword4' => array( "value" => "实用技术教程", "color" => $color ) ,);$templateid="11111111111111111111111";//这里填自己的模板id$post_data = array (// 用户的 openID,可用过 wx.getUserInfo 获取"touser"           => $openid,// 小程序后台申请到的模板编号"template_id"      => $templateid,// 点击模板消息后跳转到的页面,可以传递参数"page"             => "/pages/home/index",// 第一步里获取到的 formID"form_id"          => $formid,// 数据"data"             => $data_arr,// 需要强调的关键字,会加大居中显示// "emphasis_keyword" => "keyword2.DATA");// 发送 POST 请求的函数// 你也可以用 cUrl 或者其他网络库,简单的请求这个函数就够用了         function send_post( $url, $post_data ) {$options = array('http' => array('method'  => 'POST',// header 需要设置为 JSON'header'  => 'Content-type:application/json','content' => $post_data,// 超时时间'timeout' => 60),"ssl"=>array("verify_peer"=>false,"verify_peer_name"=>false,));$context = stream_context_create( $options );$result = file_get_contents( $url, false, $context );return $result;}// 这里替换为你的 appID 和 appSecret$url = "https://api.q.qq.com/api/json/template/send?access_token=".getAccessToken ($appid, $appsecret);  // 将数组编码为 JSON$data = json_encode($post_data, true);   // 这里的返回值是一个 JSON,可通过 json_decode() 解码成数组$return = send_post( $url, $data);var_dump($return);?>

保存预览测试

扫描查看或者QQ小程序搜索:麻木博客查看我的小程序

QQ小程序通知消息的推送相关推荐

  1. 突破微信小程序模板消息的推送限制

    "模版消息"是小程序非常重要且可主动触达用户的一种能力.爱鲜蜂小程序通过"模版消息",建立一套用户唤醒机制,达到提升用户复购率的目的.小打卡小程序的近30天访问 ...

  2. 微信小程序之消息模板推送

    微信小程序消息推送需要用户触发动作才能发送消息,比如用户提交订单.支付成功.一次只能发一条.也就是说只有用户点了小程序,操作了form表单提交然后生成一个formid ,才可以通过这条formid可以 ...

  3. 小程序消息主动推送php,微信小程序有几种推送消息的方式

    微信小程序有5种推送消息的方式,分别为:1.小票机订单提醒,实现对商家的消息提醒:2.短信提醒:3.模板消息,各种动态可及时掌握:4.公众号订单提醒:5.消息主动推送,商家主动出击.推销自己的最好手段 ...

  4. 微信小程序云开发定时推送订阅消息

    微信小程序云开发定时推送订阅消息 1.找到自己想要的模板 (1)点击订阅消息 (2)点击公共模板库,然后找到想要选用的模板,点击选用. (3)在我的模板里面,复制模板id. 如果找不到想要用的模板,可 ...

  5. 微信小程序 -- 通知消息横向滚动 -- 无缝连接1

    微信小程序 – 通知消息横向滚动 – 无缝连接1 wxml <view class="notice"><view class="left"&g ...

  6. 微信小程序向公众号推送消息超详细教程

    官方教程 官方教程 开通一下服务号公众号 超级管理员登录服务号公众号后台 登录地址 开通模板消息 申请一个模板消息,获取模板ID 注意此处的参数,后续接口需要使用 绑定公众号与小程序 官方教程 1.登 ...

  7. QQ小程序模板消息填坑——40003、40035

    QQ小程序已经推出好长时间了,但是普及程度较微信小程序差了太多.实际上QQ小程序基本算是复刻了微信小程序,但是不知道是复刻的水平有限还是官方故意为之,QQ小程序也有很多和微信小程序不一样的地方,也有好 ...

  8. 关于微信小程序uniapp版的推送消息

    1.按钮触发推送消息 <button type="primary" size="mini" @tap="pushMesage"> ...

  9. uniapp如何使用微信小程序的订阅信息推送消息给用户?

    1.首先获取小程序用户登录openId // 获取openidasync opid() {let self = thiswx.login({success(res) {if (res.code) { ...

最新文章

  1. Elasticsearch 运维实战之1 -- 集群规划
  2. 如何用R和API免费获取Web数据?
  3. android配置文件说明
  4. cdev linux_Linux设备管理(二)_从cdev_add说起
  5. 报错 之 ModuleNotFoundError: No module named ‘setproctitle‘
  6. How is new Appoinment id generated in my task followup scenario
  7. ACM算法--枚举方法(指数枚举,组合枚举)模板
  8. SVM支持向量机绘图
  9. 面试微软等公司必备的书
  10. VScode设置console.log('')快捷键
  11. POJ3619 Speed Reading【水题】
  12. Kienct与Arduino学习笔记(2) 深度图像与现实世界的深度图的坐标
  13. Java集合框架讲解【泛型、Collection接口、Map接口、以及子接口和实现类、集合的遍历形式等】
  14. 5个不为人知的音乐网站,全网音乐免费听!说什么也不能错过
  15. 坚定推动DDD落地的企业,70%代码效率翻倍了!
  16. 大家好,我是浪啦啦啦啦啦!
  17. 搬运+机翻 Unity插件 OBICloth插件官方CharDemo分析
  18. win10开机小键盘灯不亮
  19. 全球响应,维谛技术(Vertiv)助力EPC企业出海“加速度”
  20. final变量要么定义时初始化,要么在代码块中初始化

热门文章

  1. AbutionGraph诸神图实现
  2. 脑机接口科普0006——为什么要搞脑机接口
  3. ug许可证服务器注册表删除,为什么我删了ug许可证后安装时一直显示我已经安装了许可证...
  4. 头歌c语言实训项目-综合案例课外练习:大奖赛现场统分
  5. HBuilderx快捷键大全(2023)
  6. 利用Requests库和正则表达式爬取豆瓣影评Top250
  7. 07-ioctl控制LED软件实现(寄存器操作)
  8. 多个fig文件在一个figure中显示
  9. 海外开发者推荐:10个顶级2D游戏资源站
  10. HiveQL的DDL操作(二)——创建、分区、查询、修改、删除表