thinkphp 5.0 通过公众号推送消息

微信公众平台获取到AppID,AppSecret

登录到微信公众平台,找到 开发—基本设置,如图1,图2:


获取到AppId和AppSecret,顺手把你服务器的ip添加到白名单,用来获取用户的openid,具体怎么获取用户的openid,可以去网上查一下。

选择模板消息

在微信公众平台首页,上面部分找到 模板消息,会看到自己添加的模板消息列表,如果没有可以去模板库找到相应模板,记下模板ID。如下图:模板消息模板

接下来万事俱备,就差代码了:


//   发送消息方法public function sendMsg($tem_id,$data,$openid,$return_url=''){if($tem_id == ''){$tem_id = "7wuhorQScRZHbn_NpPWlR4uoCN4CcZKtxEL_hwnNVZI";}$appid = config('wx.appid');$appsecret = config('wx.appsecret');$return_url = '';      //  你的消息详情页面,如果为空。点进去之后是空白页面$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;if (cookie('access_token')){$access_token2 =cookie('access_token');}else{$json_token=$this->curl_post($url);$access_token1=json_decode($json_token,true);$access_token2 = $access_token1['access_token'];setcookie('access_token',$access_token2,7200);}//缓存assesstoken$params1 = json_encode($this->json_tempalte($openid,$return_url,$data,$tem_id),JSON_UNESCAPED_UNICODE);$url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$access_token2;$params = $this->curl_post($url,urldecode($params1));$params = json_decode($params,true);if ($params['errcode']==0){return '发送成功';}else{return '发送失败';}}/***  curl请求* @param $url  请求的目的地址* @param array $data 请求带的数据* @return mixed**/function curl_post($url , $data=array()){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);// POST数据curl_setopt($ch, CURLOPT_POST, 1);// 把post的变量加上curl_setopt($ch, CURLOPT_POSTFIELDS, $data);$output = curl_exec($ch);curl_close($ch);return $output;}/*** @param $openid 用户的openid* @param string $url  点击消息详情的链接* @param array $data     消息配置  具体根据每个模板的要求进行设置* @param string $template_id     模板id* @return array*/function json_tempalte($openid,$url='',$data,$template_id = ''){$template=['touser'=>$openid,//openID'template_id'=>$template_id,//模版id'url'=>$url,'topcolor'=>"#7B68EE",'data'=>$data];//各个参数不明白的就去看文档,很详细。return $template;}

发送消息 sendMsg()方法里面的$data 是模板消息需要的参数,如佣金提醒模板
$data = [
‘first’=>[‘value’=>‘test’,‘color’=>“#000”],
‘keyword1’=>[‘value’=>‘test’,‘color’=>‘#F70997’],
‘keyword2’=>[‘value’=>‘test’,‘color’=>‘#248d24’],
‘keyword3’=>[‘value’=>date(“Y-m-d H:i:s”),‘color’=>‘#000’],
‘remark’ =>[‘value’=>‘test’,‘color’=>‘#1784e8’]
];
我是直接把appid和appsecret放到配置文件里面了,openid因为用的地方比较多,就直接存数据库了。
就这么多了,写的不那么详细,请大家多多指正哦!

thinkphp 5.0 对接微信模板消息相关推荐

  1. Swoole结合Thinkphp发送10万+微信模板消息

    使用Thinkphp5.0框架 服务端: <?php namespace app\Console;use think\console\Command; use think\console\Inp ...

  2. php+实现群发微信模板消息_php实现发送微信模板消息的方法,php信模板消息_PHP教程...

    php实现发送微信模板消息的方法,php信模板消息 本文实例讲述了php实现发送微信模板消息的方法.分享给大家供大家参考.具体如下: 该方法基于thinkphp实现实现,具体OrderPush.cla ...

  3. php微信模板信息发送的代码例子,微信模板消息发送样例

    微信模板消息发送样例: //先构建一个http发送 function http_request($url, $data = array()) { $ch = curl_init(); curl_set ...

  4. 模板消息 php实例,PHP微信模板消息操作示例

    本文实例讲述了PHP微信模板消息操作方法.分享给大家供大家参考,具体如下: 微信SDK: class Oauth { //获得全局access_token public function get_to ...

  5. php 异步请求微信模板消息_php实现微信模板消息推送

    本文实例为大家分享了php微信模板消息推送的具体代码,供大家参考,具体内容如下 1.微信公众号模板消息配置 2.PHP代码/*** 发送模板消息*/ public function send_noti ...

  6. server酱php推送代码,多种语言调用Server酱推送微信模板消息

    把Server酱用来推送报警信息或日志是非常方便的,接入成本非常低也很简单 最近使用了一个 Python 的自动签到脚本,进行自动签到,但是每天签到完白天还需要看日志或者访问网站查看是否成功 这还不如 ...

  7. springboot实现微信模板消息推送

    springboot实现微信模板消息推送 在上一篇文章我们已经知道了怎么获取openid 还不知道的可以查看我的上一篇文章springboot+微信小程序用codeid换取openid 这次我们不光要 ...

  8. 发送微信模板消息+定时任务

    在用户购买会员卡后的第二天下午四点发送微信模板消息 在pom.xml里面配置 <dependency><groupId>net.coobird</groupId>& ...

  9. java 微信模板_java开发微信模板消息推送

    概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添 ...

最新文章

  1. Busybox下的microcom用法
  2. RT ROM boot简介
  3. RPC框架原理及从零实现系列博客(二):11个类实现简单RPC框架
  4. 波士顿大学数学与计算机科学,2021战报 | 美国波士顿大学金融数学硕士录取
  5. python程序狮,编程狮app下载
  6. Thread和Runnable的区别
  7. 2021年的芯片市场,骗子太多,傻子不够用
  8. HDU - 6278 Just $h$-index主席树+二分
  9. 开箱一个docker
  10. Algs4-1.3.45栈的可生成性
  11. 光盘安装服务器找不到硬盘,安装系统找不到硬盘怎么办实测解决
  12. 计算机网络之网络安全基础-网络安全协议
  13. 技术问答网站与论坛为什么半死不活
  14. Python格式化JSON文件
  15. python爬虫汽车之家全车型及基本参数入数据库(截止50524个数据)(详解)
  16. 华为云鲲鹏服务器部署文档-修正版-CentOS+java微服务开发
  17. 快速搞定Jupyter Notebook添加代码自动补全功能
  18. 机械振动信号13个频域指标
  19. php实现html转word
  20. 解决OpenSSL 在VC2015下链接报错的问题。

热门文章

  1. 团队工作坊:打造众志成城的敏捷铁军
  2. 今日头条极速版【青龙面板】
  3. python标准库os中用来列出指定_Python 标准库 os 中用来列出指定文件夹中的文件和子文件夹列表的方式是listdir()。_高职高专数字资源平台答案_学小易找答案...
  4. IDEA2022.3连接redis
  5. js 日期比较(年月日)
  6. 多边形周长计算(继承)
  7. MES解决方案助力「机械加工行业」精益智造
  8. 34 进程 pid ppid 并发与并行,阻塞与非阻塞 join函数 process对象 孤儿进程与僵尸进程...
  9. 有什么pdf拆分页面方法?分享几个拆分PDF的方法
  10. /opt/hbase/conf 中不能启动hbase_Ventoy下载 U盘启动盘制作 Ventoy v1.0.25 单文件便携版 附使用教程 下载...