QQ小程序通知消息的推送
需要用到
登陆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小程序通知消息的推送相关推荐
- 突破微信小程序模板消息的推送限制
"模版消息"是小程序非常重要且可主动触达用户的一种能力.爱鲜蜂小程序通过"模版消息",建立一套用户唤醒机制,达到提升用户复购率的目的.小打卡小程序的近30天访问 ...
- 微信小程序之消息模板推送
微信小程序消息推送需要用户触发动作才能发送消息,比如用户提交订单.支付成功.一次只能发一条.也就是说只有用户点了小程序,操作了form表单提交然后生成一个formid ,才可以通过这条formid可以 ...
- 小程序消息主动推送php,微信小程序有几种推送消息的方式
微信小程序有5种推送消息的方式,分别为:1.小票机订单提醒,实现对商家的消息提醒:2.短信提醒:3.模板消息,各种动态可及时掌握:4.公众号订单提醒:5.消息主动推送,商家主动出击.推销自己的最好手段 ...
- 微信小程序云开发定时推送订阅消息
微信小程序云开发定时推送订阅消息 1.找到自己想要的模板 (1)点击订阅消息 (2)点击公共模板库,然后找到想要选用的模板,点击选用. (3)在我的模板里面,复制模板id. 如果找不到想要用的模板,可 ...
- 微信小程序 -- 通知消息横向滚动 -- 无缝连接1
微信小程序 – 通知消息横向滚动 – 无缝连接1 wxml <view class="notice"><view class="left"&g ...
- 微信小程序向公众号推送消息超详细教程
官方教程 官方教程 开通一下服务号公众号 超级管理员登录服务号公众号后台 登录地址 开通模板消息 申请一个模板消息,获取模板ID 注意此处的参数,后续接口需要使用 绑定公众号与小程序 官方教程 1.登 ...
- QQ小程序模板消息填坑——40003、40035
QQ小程序已经推出好长时间了,但是普及程度较微信小程序差了太多.实际上QQ小程序基本算是复刻了微信小程序,但是不知道是复刻的水平有限还是官方故意为之,QQ小程序也有很多和微信小程序不一样的地方,也有好 ...
- 关于微信小程序uniapp版的推送消息
1.按钮触发推送消息 <button type="primary" size="mini" @tap="pushMesage"> ...
- uniapp如何使用微信小程序的订阅信息推送消息给用户?
1.首先获取小程序用户登录openId // 获取openidasync opid() {let self = thiswx.login({success(res) {if (res.code) { ...
最新文章
- Elasticsearch 运维实战之1 -- 集群规划
- 如何用R和API免费获取Web数据?
- android配置文件说明
- cdev linux_Linux设备管理(二)_从cdev_add说起
- 报错 之 ModuleNotFoundError: No module named ‘setproctitle‘
- How is new Appoinment id generated in my task followup scenario
- ACM算法--枚举方法(指数枚举,组合枚举)模板
- SVM支持向量机绘图
- 面试微软等公司必备的书
- VScode设置console.log('')快捷键
- POJ3619 Speed Reading【水题】
- Kienct与Arduino学习笔记(2) 深度图像与现实世界的深度图的坐标
- Java集合框架讲解【泛型、Collection接口、Map接口、以及子接口和实现类、集合的遍历形式等】
- 5个不为人知的音乐网站,全网音乐免费听!说什么也不能错过
- 坚定推动DDD落地的企业,70%代码效率翻倍了!
- 大家好,我是浪啦啦啦啦啦!
- 搬运+机翻 Unity插件 OBICloth插件官方CharDemo分析
- win10开机小键盘灯不亮
- 全球响应,维谛技术(Vertiv)助力EPC企业出海“加速度”
- final变量要么定义时初始化,要么在代码块中初始化