<?php include_once "WXBizMsgCrypt.php"; $encodingAesKey = "请修改"; $token = "请修改"; $corpId = "请修改"; $wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId); //开启开发模式时的代码 //$sVerifyMsgSig = $_GET["msg_signature"]; //$sVerifyTimeStamp = $_GET["timestamp"]; //$sVerifyNonce = $_GET["nonce"]; //$sVerifyEchoStr = $_GET["echostr"]; //if($sVerifyEchoStr){ // $sEchoStr = ""; // $errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr); // if ($errCode == 0) { // print($sEchoStr); // } else { // print($errCode . "\n\n"); // } // exit; //} $sReqMsgSig = $_GET['msg_signature']; $sReqTimeStamp = $_GET['timestamp']; $sReqNonce = $_GET['nonce']; $sReqData = file_get_contents("php://input"); $sMsg = ""; $errCode = $wxcpt->DecryptMsg($sReqMsgSig, $sReqTimeStamp, $sReqNonce, $sReqData, $sMsg); if ($errCode == 0) { $xml = new DOMDocument(); $xml->loadXML($sMsg); $reqToUserName = $xml->getElementsByTagName('ToUserName')->item(0)->nodeValue; $reqFromUserName = $xml->getElementsByTagName('FromUserName')->item(0)->nodeValue; $reqCreateTime = $xml->getElementsByTagName('CreateTime')->item(0)->nodeValue; $reqMsgType = $xml->getElementsByTagName('MsgType')->item(0)->nodeValue; if($reqMsgType=="event"){ $reqContent=""; $reqEvent = $xml->getElementsByTagName('Event')->item(0)->nodeValue; if($reqEvent=="click"){ $reqContent = $xml->getElementsByTagName('EventKey')->item(0)->nodeValue; $reqAgentID = $xml->getElementsByTagName('AgentID')->item(0)->nodeValue; } }else{ $reqContent = $xml->getElementsByTagName('Content')->item(0)->nodeValue; $reqMsgId = $xml->getElementsByTagName('MsgId')->item(0)->nodeValue; } //file_put_contents('smg_response.txt', $sMsg); switch($reqContent){ case "1": include_once "wxTest.php"; $mycontent=$res; break; case "2": $mycontent="您好,测试二!"; break; case "3": $mycontent="您好,测试三!"; break; default : $mycontent=$reqContent; break; } $sRespData = "<xml> <ToUserName><![CDATA[".$reqFromUserName."]]></ToUserName> <FromUserName><![CDATA[".$corpId."]]></FromUserName> <CreateTime>".sReqTimeStamp."</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[".$mycontent."]]></Content> </xml>"; $sEncryptMsg = ""; $errCode = $wxcpt->EncryptMsg($sRespData, $sReqTimeStamp, $sReqNonce, $sEncryptMsg); if ($errCode == 0) { print($sEncryptMsg); } else { print($errCode . "\n\n"); } } else { print($errCode . "\n\n"); } ?>
相关推荐
微信企业号回调模式是微信为企业用户提供的API交互方式,它允许开发者通过服务器与微信服务器进行实时数据交换,实现各种业务功能。在这个场景下,我们主要关注的是PHP版本的回调模式代码实现。 首先,理解微信...
回调模式在微信企业号开发中扮演着重要角色,主要用于接收和响应微信服务器发送的事件或数据。本例子将深入讲解微信企业号回调模式的实现。 在微信企业号开发中,回调模式主要涉及以下几个核心概念: 1. **接入...
微信企业号是一个面向企业用户的企业级通讯平台,它允许企业构建内部应用,提供工作效率和团队协作。在微信企业号的开发过程中,为了确保通信的安全性...理解并正确运用这些工具和方法,是微信企业号开发中的重要环节。
1. **配置开发者模式**:首先,你需要在微信企业号的管理后台开启开发者模式,并获取到AppID和AppSecret,这两个是与微信服务器通信的重要凭证。 2. **接入验证**:当用户登录微信企业号并尝试访问受保护资源时,...
### 微信企业号回调模式设置详解(PHP版) #### 一、背景介绍 随着微信企业号功能的日益完善,越来越多的企业开始将其作为内部沟通与服务的重要平台之一。微信企业号提供了一种强大的消息推送机制,即“回调模式”...
通过分析和运行这些代码,开发者可以更好地理解和实现微信企业号的回调消息处理功能。 图像文件`image003(09-10-16-31-26).jpg`可能是为了辅助理解加密方案或代码示例而提供的流程图或者关键步骤的截图。 总的来说...
这个"微信企业号回调模式demo"是学习和实践微信企业号开发的一个宝贵资源,通过它,开发者可以更好地理解回调机制,提高开发效率,并确保应用能正确处理微信服务器的推送事件。在实际开发中,需要根据具体需求对这个...
在PHP微信企业号开发中,回调模式的开启和使用是至关重要的步骤,它涉及到微信企业号与服务器之间的安全通信。回调模式允许微信企业号在发送消息或事件时,通过HTTPS请求将数据推送到开发者指定的回调URL,然后由...
【标题】基于php的ThinkPhp3.2.3框架开发的微信企业号后台管理系统 【内容详解】 这个项目是利用PHP编程语言,基于ThinkPhp3.2.3框架构建的一个微信企业号后台管理系统。ThinkPhp是中国较为流行的一款开源PHP框架...
16、借书:打破了传统图书馆借书的模式,物流免费上门送取的全新借书模式,让用户可以足不出户,便可用借阅到最新、最畅销、最经典的纸质图书。 17、聊天室:以社交、办公、娱乐为主题,成立以贯彻文明聊天、娱乐的...
微信办公OA系统通常会集成微信企业号或企业微信的API,以便员工通过微信进行登录、接收通知、审批流程等操作。这涉及到微信开发者平台的注册、获取API密钥、实现OAuth2.0授权等技术。 3. **框架应用** 开发这样的...
本资源是《微信公众平台与小程序开发 从零搭建套系统》高清PDF扫描版。该书由张剑明著,中国工信出版集团和人民邮电出版社联合出版,有需要的小伙伴可以下载学习参考。 本书目录如下: 第1章 微信生态 1.1 微信:...
本资源是《微信公众平台与小程序开发 从零搭建套系统》高清PDF扫描版。该书由张剑明著,中国工信出版集团和人民邮电出版社联合出版,有需要的小伙伴可以下载学习参考。 本书目录如下: 第1章 微信生态 1.1 微信:...