简单的实现微信平台开发
程序员文章站
2023-12-29 13:35:22
...
简单的实现微信平台开发 使用说明:新手入门很适合的,你可以看我转载的博客:http://my.oschina.net/xz360/blog/341169 也可以去看官网的文档:http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5 无 ?phpdefine ( "TOKEN", "weixin" );$wech
简单的实现微信平台开发
使用说明:新手入门很适合的,你可以看我转载的博客:http://my.oschina.net/xz360/blog/341169
也可以去看官网的文档:http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5
valid (); } else { $wechatObj->responseMsg (); } class wechatCallbackapiTest { // 验证Token public function valid() { $echoStr = $_GET ["echostr"]; if ($this->checkSignature ()) { echo $echoStr; exit (); } } // 验证签名 private function checkSignature() { $signature = $_GET ["signature"]; $timestamp = $_GET ["timestamp"]; $nonce = $_GET ["nonce"]; $token = TOKEN; $tmpArr = array ( $token, $timestamp, $nonce ); sort ( $tmpArr, SORT_STRING ); $tmpStr = implode ( $tmpArr ); $tmpStr = sha1 ( $tmpStr ); if ($tmpStr == $signature) { return true; } return false; } /* 回应 */ public function responseMsg() { $postStr = $GLOBALS ["HTTP_RAW_POST_DATA"]; if (! empty ( $postStr )) { $postObj = simplexml_load_string ( $postStr, 'SimpleXMLElement', LIBXML_NOCDATA ); $RX_TYPE = trim ( $postObj->MsgType ); switch ($RX_TYPE) { //接收关注/取消关注、扫描带参数二维码【未关注时,进行关注后、用户已关注】、上报地理位置、自定义菜单【点击菜单拉取消息、点击菜单跳转链接】 case "event" : $result = $this->receiveEvent ( $postObj ); break; //接收普通的文字、图片、媒体消息 case "text" : $result = $this->receiveText ( $postObj ); break; } echo $result; } else { echo ""; exit (); } } // 处理接收到用户发送的消息 private function receiveEvent($object) { $content = ""; switch ($object->Event) { //关注 case "subscribe" : $content = "感谢您的关注,本账号目前还\n在测试阶段,给您带来的不便请谅解!"; break; //取消关注 case 'unsubscribe': $content = "欢迎您再次关注我们“女人要懂得爱自己”!"; break; } if (is_array ( $content )) { $result = $this->transmitNews ( $object, $content ); } else { $result = $this->transmitText ( $object, $content ); } return $result; } /* 处理接收到的文本 */ private function receiveText($object) { $keyword = trim ( $object->Content ); if (strstr ( $keyword, "四六级" ) || strstr ( $keyword, "英语" )) { $content = array (); $content [] = array ( "Title" => "2014年6月全国大学英语四六级考试成绩查询", "Description" => "", "PicUrl" => "http://img003.21cnimg.com/photos/album/20141104/m600/B2579ABF2B905FA793C6756A59044992.jpeg", "Url" => "http://apix.sinaapp.com/cet/index.php?openid=" . $object->FromUserName ); $content [] = array ( "Title" => "刘强东带奶茶妹妹看牙 两人旁若无人地忘情缠绵(图)", "Description" => "", "PicUrl" => "", "Url" => "http://news.21cn.com/social/shixiang/a/2014/1105/11/28502924.shtml" ); } else { $content = date ( "Y-m-d H:i:s", time () ) . "\n目前正在测试阶段"; } if (is_array ( $content )) { $result = $this->transmitNews ( $object, $content ); } else { $result = $this->transmitText ( $object, $content ); } return $result; } /* 输出文章 */ private function transmitText($object, $content) { $textTpl = ""; $result = sprintf ( $textTpl, $object->FromUserName, $object->ToUserName, time (), $content ); return $result; } /* 输出图文 */ private function transmitNews($object, $arr_item) { if (! is_array ( $arr_item )) return; $itemTpl = " %s - "; $item_str = ""; foreach ( $arr_item as $item ) $item_str .= sprintf ( $itemTpl, $item ['Title'], $item ['Description'], $item ['PicUrl'], $item ['Url'] ); $newsTpl = "
"; $result = sprintf ( $newsTpl, $object->FromUserName, $object->ToUserName, time (), count ( $arr_item ) ); return $result; } } ?> %s %s $item_str
推荐阅读
-
微信小程序生成海报分享朋友圈的实现方法
-
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动_PHP
-
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
-
【微擎】微擎 开发 获取微信 accesstoken 的API接口
-
基于spring Boot的微信开发————AccessToken的缓存方案(一)
-
ASP.NET之MVC 微信公众号授权给第三方平台的技术实现流程一(获取第三方平台access_token)...
-
微信公众平台 - php开发微信公众号,用户发送消息后,公众号没响应,怎么调试呢?
-
微信小程序弹窗禁止页面滚动的实现代码
-
3款值得推荐的微信开发开源框架
-
微信公众号推送小程序模板消息的实现