在model里新建CustomServiceModel 为微信接口
<?php namespace Home\Model; use Think\Model; class CustomServiceModel extends Model { // protected $tableName = 'wxmenu_statistics'; private static $wxInterFace; public function Service($uid,$json){ $Model = D('Token'); $access_token = $Model->getToken(); $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$access_token; $this->getHttpResponsePOST($url,$json); } //获取微信凭证 ACCESS_TOKEN public function getACCESS_TOKEN($uid){ $interface = M('wxinterface','wxmenu'); $data = $interface->getInterfacebyUid($uid); $AppId = $data[0]['AppId']; $AppSecret = $data[0]['AppSecret']; $ctime = $data[0]['ctime']; if(time()-$ctime<7200){ $ACCESS_TOKEN = $data[0]['token']; }else{ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$AppId."&secret=".$AppSecret; $info = $interface->getHttpResponseGET($url); $arr = json_decode($info,$assoc=true); $ACCESS_TOKEN = $arr['access_token']; $data[0]['token'] = $ACCESS_TOKEN; $data[0]['ctime'] = time(); $interface->save($data[0]); } return $ACCESS_TOKEN; } /** 远程获取数据,GET模式 * 注意: * 1.使用Crul需要修改服务器中php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了 * 2.文件夹中cacert.pem是SSL证书请保证其路径有效,目前默认路径是:getcwd().'\\cacert.pem' * @param $url 指定URL完整路径地址 * @param $cacert_url 指定当前工作目录绝对路径 * return 远程输出的数据 */ public function getHttpResponseGET($url) { $curl = curl_init($url); //curl_setopt($curl, CURLOPT_URL, $url); //curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, CURL_SSLVERSION_TLSv1);//SSL证书认证 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);//不认证 curl_setopt($curl, CURLOPT_HEADER, 0 ); // 过滤HTTP头 curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);// 显示输出结果 $responseText = curl_exec($curl); //var_dump( curl_error($curl) );//如果执行curl过程中出现异常,可打开此开关,以便查看异常内容 curl_close($curl); return $responseText; } /** * 远程获取数据,POST模式 * 注意: * 1.使用Crul需要修改服务器中php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了 * 2.文件夹中cacert.pem是SSL证书请保证其路径有效,目前默认路径是:getcwd().'\\cacert.pem' * @param $url 指定URL完整路径地址 * @param $cacert_url 指定当前工作目录绝对路径 * @param $para 请求的数据 * @param $input_charset 编码格式。默认值:空值 * return 远程输出的数据 */ function getHttpResponsePOST($url, $para, $input_charset = '') { if (trim($input_charset) != '') { $url = $url."_input_charset=".$input_charset; } $curl = curl_init($url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, CURL_SSLVERSION_TLSv1);//SSL证书认证 //curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//SSL证书认证 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);//严格认证 curl_setopt($curl, CURLOPT_HEADER, 0 ); // 过滤HTTP头 curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);// 显示输出结果 curl_setopt($curl,CURLOPT_POST,true); // post传输数据 curl_setopt($curl,CURLOPT_POSTFIELDS,$para);// post传输数据 $responseText = curl_exec($curl); //var_dump( curl_error($curl) );//如果执行curl过程中出现异常,可打开此开关,以便查看异常内容 curl_close($curl); return $responseText; } } ?> //---TOkenmodel 获取token <?php namespace Home\Model; use Think\Model; class TokenModel extends Model{ public function getToken(){ $data['uid']=330; $arr = $this->table('wxm_wxmenu_interface')->where($data)->find(); //file_put_contents("g.txt",$arr['token'],FILE_APPEND); return $arr['token']; } public function setToken($token){ $to['token']=$token; $arr= $this->table('wxm_wxmenu_interface')->where('uid=330')->save($to); //file_put_contents("s.txt",$token,FILE_APPEND); return true; } } ?> //---然后在需要使用的action里面新增方法 //文本回复 public function msgReturn($openid,$array){ $json = '{ "touser":"'.strval($openid).'", "msgtype":"text", "text": { "content":"'.$array['content'].'" } }'; //调用客服接口 $uid=330; D("CustomService")->Service($uid,$json); } //最后在需要使用的地方调用此接口 //修改未审核状态 //-----赵信------// public function modn(){ $data['xid']=$_GET['xid']; $data['bstate']=$_GET['bstate']; $data['update_time'] = time(); $customer=M("Customer"); $member = M('members'); $cus = $customer->where('xid='.$data['xid'])->find(); $m_data = $member->where('oid='.$cus['oid'])->find(); $c=$customer->save($data); if($c){ if($data['bstate']==5){ $array['content'] ="您推荐的客户“".$cus['xname']."”已被确认审核通过"; $this->msgReturn($m_data['openid'], $array); }else if($data['bstate']==3){ $array['content'] ="您推荐的客户“".$cus['xname']."”已被确认已被推荐"; $this->msgReturn($m_data['openid'], $array); }else if($data['bstate']==4){ $array['content'] ="您推荐的客户“".$cus['xname']."”已被确认为已成交客户"; $this->msgReturn($m_data['openid'], $array); } } $this->redirect("success_customer"); }
以上就是微信通过某个事件推送消息的内容,更多相关内容请关注PHP中文网(www.php.cn)!
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
<🎜>:种植花园 - 完整的突变指南
3 周前ByDDD
<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前By尊渡假赌尊渡假赌尊渡假赌
如何修复KB5055612无法在Windows 10中安装?
3 周前ByDDD
北端:融合系统,解释
3 周前By尊渡假赌尊渡假赌尊渡假赌
蓝王子:如何到达地下室
1 个月前ByDDD

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Dreamweaver Mac版
视觉化网页开发工具