一、开发环境要求:
1、有一个已经认证的微信服务号;
2、有一定的微信开发基础;
3、爱学习、爱探索、爱步浪博客;
二、代码展示:
1、模板消息所需类库:
<?php class sendMessage { //获取accesstoken function getAccesstoken(){ $ch=curl_init(); $appid="";//公众号的appid; $appsecret="";公众号的appsecret; $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; //GET方式抓取URL curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //执行 $outopt=curl_exec($ch); $outoptarr=json_decode($outopt,TRUE); return $outoptarr['access_token']; } function http_request($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; } }
2、控制器调用:
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { //还车函数 public function ajaxhuanche(){ import('Common.Class.WxTemple'); $sendMes = new \sendMessage(); //data的数据根据模板的不同内容不同 $template=array( 'touser'=>'',//接收模板消息的用户openid 'template_id'=>"oI4HUHs49sHAnFKAYjvwP-JOXlvnyzr51DY8b4cFitA",//模板消息的id 'url'=>'http://www.bulang123.com', 'topcolor'=>"#7B68EE", 'data'=>array( 'first'=>array('value'=>urlencode("用户还车通知"),'color'=>"#743A3A"), 'keyword1'=>array('value'=>urlencode("步浪----18335908000"),'color'=>'#333'), 'keyword2'=>array('value'=>urlencode("2017-4-19"),'color'=>'#333'), 'keyword3'=>array('value'=>urlencode("888元"),'color'=>'#333'), 'remark'=>array('value'=>urlencode('步浪博客,助各位同仁更上一层楼'),'color'=>'#DD5044'), ) ); $access_token = $sendMes->getAccesstoken(); $json_template=json_encode($template); $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$access_token; $res=$sendMes->http_request($url,urldecode($json_template)); if ($res[errcode]==0){ $this->ajaxReturn("200");//发送成功 }else{ $this->ajaxReturn("400");//发送失败 }; } }
三、代码部署解析:
1、第一个类库文件放到自己习惯放的文件目录(个人习惯在common文件夹);
2、注意引入类库时路径的修改;
3、在类库里面修改自己的公众号的appid和appsecret;
4、在微信的后台有上千个模板,如果没有找到自己中意的女神,可以申请自己开发一个;