|  |  | <?php
 | 
						
						
						
							|  |  | namespace LaneWeChat\Core\Aes;
 | 
						
						
						
							|  |  | include_once "wxBizMsgCrypt.php";
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | // 第三方发送消息给公众平台
 | 
						
						
						
							|  |  | $encodingAesKey = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG";
 | 
						
						
						
							|  |  | $token = "pamtest";
 | 
						
						
						
							|  |  | $timeStamp = "1409304348";
 | 
						
						
						
							|  |  | $nonce = "xxxxxx";
 | 
						
						
						
							|  |  | $appId = "wxb11529c136998cb6";
 | 
						
						
						
							|  |  | $text = "<xml><ToUserName><![CDATA[oia2Tj我是中文jewbmiOUlr6X-1crbLOvLw]]></ToUserName><FromUserName><![CDATA[gh_7f083739789a]]></FromUserName><CreateTime>1407743423</CreateTime><MsgType><![CDATA[video]]></MsgType><Video><MediaId><![CDATA[eYJ1MbwPRJtOvIEabaxHs7TX2D-HV71s79GUxqdUkjm6Gs2Ed1KF3ulAOA9H1xG0]]></MediaId><Title><![CDATA[testCallBackReplyVideo]]></Title><Description><![CDATA[testCallBackReplyVideo]]></Description></Video></xml>";
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | $pc = new WXBizMsgCrypt($token, $encodingAesKey, $appId);
 | 
						
						
						
							|  |  | $encryptMsg = '';
 | 
						
						
						
							|  |  | $errCode = $pc->encryptMsg($text, $timeStamp, $nonce, $encryptMsg);
 | 
						
						
						
							|  |  | if ($errCode == 0) {
 | 
						
						
						
							|  |  | 	print("加密后: " . $encryptMsg . "\n");
 | 
						
						
						
							|  |  | } else {
 | 
						
						
						
							|  |  | 	print($errCode . "\n");
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | $xml_tree = new DOMDocument();
 | 
						
						
						
							|  |  | $xml_tree->loadXML($encryptMsg);
 | 
						
						
						
							|  |  | $array_e = $xml_tree->getElementsByTagName('Encrypt');
 | 
						
						
						
							|  |  | $array_s = $xml_tree->getElementsByTagName('MsgSignature');
 | 
						
						
						
							|  |  | $encrypt = $array_e->item(0)->nodeValue;
 | 
						
						
						
							|  |  | $msg_sign = $array_s->item(0)->nodeValue;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | $format = "<xml><ToUserName><![CDATA[toUser]]></ToUserName><Encrypt><![CDATA[%s]]></Encrypt></xml>";
 | 
						
						
						
							|  |  | $from_xml = sprintf($format, $encrypt);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | // 第三方收到公众号平台发送的消息
 | 
						
						
						
							|  |  | $msg = '';
 | 
						
						
						
							|  |  | $errCode = $pc->decryptMsg($msg_sign, $timeStamp, $nonce, $from_xml, $msg);
 | 
						
						
						
							|  |  | if ($errCode == 0) {
 | 
						
						
						
							|  |  | 	print("解密后: " . $msg . "\n");
 | 
						
						
						
							|  |  | } else {
 | 
						
						
						
							|  |  | 	print($errCode . "\n");
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 命名空间声明:namespace LaneWeChat\Core; 定义了类的命名空间,表明这个类属于LaneWeChat模块的核心部分。
 | 
						
						
						
							|  |  | 类定义:class Menu 定义了一个用于管理微信自定义菜单的类。
 | 
						
						
						
							|  |  | setMenu方法:用于创建自定义菜单。处理菜单数据,将一维数组转换为树形结构,支持子菜单,并发送POST请求到微信服务器。
 | 
						
						
						
							|  |  | getMenu方法:用于获取当前公众号的自定义菜单信息。发送GET请求到微信服务器。
 | 
						
						
						
							|  |  | delMenu方法:用于删除当前公众号的自定义菜单。发送GET请求到微信服务器
 | 
						
						
						
							|  |  | 命名空间声明:namespace LaneWeChat\Core; 定义了类的命名空间,表明这个类属于LaneWeChat模块的核心部分。
 | 
						
						
						
							|  |  | 类定义:class Menu 定义了一个用于管理微信自定义菜单的类。
 | 
						
						
						
							|  |  | setMenu方法:用于创建自定义菜单。处理菜单数据,将一维数组转换为树形结构,支持子菜单,并发送POST请求到微信服务器。
 | 
						
						
						
							|  |  | getMenu方法:用于获取当前公众号的自定义菜单信息。发送GET请求到微信服务器。
 | 
						
						
						
							|  |  | delMenu方法:用于删除当前公众号的自定义菜单。发送GET请求到微信服务器
 | 
						
						
						
							|  |  | 命名空间声明:namespace LaneWeChat\Core; 定义了类的命名空间,表明这个类属于LaneWeChat模块的核心部分。
 | 
						
						
						
							|  |  | 类定义:class Menu 定义了一个用于管理微信自定义菜单的类。
 | 
						
						
						
							|  |  | setMenu方法:用于创建自定义菜单。处理菜单数据,将一维数组转换为树形结构,支持子菜单,并发送POST请求到微信服务器。
 | 
						
						
						
							|  |  | getMenu方法:用于获取当前公众号的自定义菜单信息。发送GET请求到微信服务器。
 | 
						
						
						
							|  |  | delMenu方法:用于删除当前公众号的自定义菜单。发送GET请求到微信服务器
 | 
						
						
						
							|  |  | 命名空间声明:namespace LaneWeChat\Core; 定义了类的命名空间,表明这个类属于LaneWeChat模块的核心部分。
 | 
						
						
						
							|  |  | 类定义:class Menu 定义了一个用于管理微信自定义菜单的类。
 | 
						
						
						
							|  |  | setMenu方法:用于创建自定义菜单。处理菜单数据,将一维数组转换为树形结构,支持子菜单,并发送POST请求到微信服务器。
 | 
						
						
						
							|  |  | getMenu方法:用于获取当前公众号的自定义菜单信息。发送GET请求到微信服务器。
 | 
						
						
						
							|  |  | delMenu方法:用于删除当前公众号的自定义菜单。发送GET请求到微信服务器 |