微信公众平台开发
来源:互联网 发布:matlab vb 编辑:程序博客网 时间:2024/04/26 03:05
参考:
http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5 开放平台
http://www.cnblogs.com/mchina/tag/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97/ 微信公众平台开发系统
http://sae.sina.com.cn/?m=devcenter&catId=213 新浪服务器
http://www.cnblogs.com/txw1958/category/407134.html 方倍工作室
http://www.bencean.com/
http://www.5icool.org/a/201306/a1908.html
http://my.csdn.net/gdljw/code/detail/61517
- <?php
- /**
- * wechat php test
- */
- //define your token
- define("TOKEN", "sheng1990");
- $wechatObj = new wechatCallbackapiTest();
- $wechatObj->responseMsg();
- //$wechatObj->valid();
- class wechatCallbackapiTest
- {
- /*public function valid()
- {
- $echoStr = $_GET["echostr"];
- //valid signature , option
- if($this->checkSignature()){
- echo $echoStr;
- exit;
- }
- }*/
- public function responseMsg()
- {
- //get post data, May be due to the different environments
- $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
- //extract post data
- if (!empty($postStr)){
- $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
- $RX_TYPE = trim($postObj->MsgType);
- switch($RX_TYPE)
- {
- case "text":
- $resultStr = $this->handleText($postObj);
- break;
- case "event":
- $resultStr = $this->handleEvent($postObj);
- break;
- default:
- $resultStr = "Unknow msg type: ".$RX_TYPE;
- break;
- }
- echo $resultStr;
- }else {
- echo "";
- exit;
- }
- }
- public function handleText($postObj)
- {
- $fromUsername = $postObj->FromUserName;
- $toUsername = $postObj->ToUserName;
- $keyword = trim($postObj->Content);
- $time = time();
- //加载文字模板
- $textTpl = "<xml>
- <ToUserName><![CDATA[%s]]></ToUserName>
- <FromUserName><![CDATA[%s]]></FromUserName>
- <CreateTime>%s</CreateTime>
- <MsgType><![CDATA[%s]]></MsgType>
- <Content><![CDATA[%s]]></Content>
- <FuncFlag>0</FuncFlag>
- </xml>";
- //加载图文模版
- $picTpl = "<xml>
- <ToUserName><![CDATA[%s]]></ToUserName>
- <FromUserName><![CDATA[%s]]></FromUserName>
- <CreateTime>%s</CreateTime>
- <MsgType><![CDATA[%s]]></MsgType>
- <ArticleCount>1</ArticleCount>
- <Articles>
- <item>
- <Title><![CDATA[%s]]></Title>
- <Description><![CDATA[%s]]></Description>
- <PicUrl><![CDATA[%s]]></PicUrl>
- <Url><![CDATA[%s]]></Url>
- </item>
- </Articles>
- <FuncFlag>1</FuncFlag>
- </xml> ";
- //加载音乐模板
- $musicTpl= "<xml>
- <ToUserName><![CDATA[%s]]></ToUserName>
- <FromUserName><![CDATA[%s]]></FromUserName>
- <CreateTime>%s</CreateTime>
- <MsgType><![CDATA[%s]]></MsgType>
- <Music>
- <Title><![CDATA[%s]]></Title>
- <Description><![CDATA[%s]]></Description>
- <MusicUrl><![CDATA[%s]]></MusicUrl>
- <HQMusicUrl><![CDATA[%s]]></HQMusicUrl>
- </Music>
- </xml>";
- if(!empty( $keyword ))
- {
- // $msgType = "text";
- switch($keyword)
- {
- case "m":
- $contentStr = "【旭日阳光】\n".
- "微信号:SunRise_HY\n".
- "万号之家,目前平台功能如下:\n".
- "【sh】 生活频道\n".
- "【tq】 天气频道\n".
- "【ty】 体育频道\n".
- "【yl】 电信有礼频道\n".
- "【kx】 开心一刻频道\n".
- "更多内容,敬请期待...\n";
- break;
- case "sh":
- $contentStr = "欢迎进入生活频道\n"."我们这里包罗万象,请亲输入字母选择对应服务。\n".
- "【hj】 工作环境\n".
- "【jt】 交通车时间\n".
- "【ft】 饭堂\n";
- break;
- case "hj":
- $contentStr ="亲,难道您还不知道公司环境的清洁周期吗? 木有怕,其实就是:
- 1、楼层地毯每季度清洗一次;
- 2、休息室被铺每季度清洗一次;
- 3、除四害,每月两次;
- 如亲有需要反馈意见,我们就会由专人跟进您反映的问题啦 ,请亲耐心等待。\n";
- break;
- case "tq":
- $contentStr = "欢迎进入天气频道\n"."天气晴朗,可放心外出,享受生活。\n";
- break;
- case "ty":
- $contentStr = "欢迎进入体育频道\n"."生命在于运动!亲,我们的活动丰富多彩哦,请输入字母选择对应信息:\n"."【dpw】肚皮舞\n"."【yj】瑜伽社团\n";
- break;
- case "dpw":
- $title = "肚皮舞";
- $data = date('Y-m-d');
- $desription = "肚皮舞是一种全身的运动,可以让你的腿部、腹部、肩膀以及颈部都得到充分的活动,从而提高身体的弹性和柔韧性。健身活动可以提升员工身体素质,希望大家积极参与!";
- $image = "http://mmsns.qpic.cn/mmsns/oX4NPE2q1ODicOESwiaOJTxIicGu5p8yMhKhhB9fzSa119cegahic38Qwg/0";
- $turl = "http://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5OTg1MjYwMQ==&appmsgid=10000123&itemidx=1&sign=9412cd5ce95428bce0154bfe5ac469ce&uin=MTczNTQwMjI2MQ%3D%3D&key=6a68cf733852b46cfca5a13bf752cf102da545c076fb76b49c06bb32525ea8b04a4f810fbce305448142758fdfe01ce2&devicetype=android-16&version=25000104&lang=zh_CN";
- break;
- case "pic":
- $title = "中国电信广东客服";
- $data = date('Y-m-d');
- $desription = "中国电信QQ客服是中国电信新型在线服务渠道,为您提供在线业务咨询与办理!QQ用户只需添加QQ号码800010000为好友,就能足不出户轻轻松松办理业务,还有最新优惠信息等着你,快来Q我吧!";
- $image = "http://ww1.sinaimg.cn/large/7e274dc0gw1e8plhd17n2j20f0078dhv.jpg";
- $turl = "http://e.weibo.com/gdtelkf?type=0";
- break;
- case "music":
- $title = "音乐频道";
- $desription = "吻别 演唱:张学友\n"."作词:何启弘 作曲:殷文琦\n" ;
- $MusicUrl = "http://music.baidu.com/song/265898";
- $HQMusicUrl = "http://music.baidu.com/song/265898";
- $msgType = "music";
- $resultStr = sprintf($musicTpl, $fromUsername, $toUsername, $time, $msgType,$title,$desription,$MusicUrl,$HQMusicUrl);
- echo $resultStr;
- break;
- default :
- $contentStr = "请重新输入正确的指令\n";
- break;
- }
- if($keyword == "pic" || $keyword == "dpw")
- {
- $msgType = "news";
- $resultStr = sprintf($picTpl, $fromUsername, $toUsername, $time, $msgType, $title,$desription,$image,$turl);
- echo $resultStr;
- }else
- {
- $msgType = "text";
- $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
- echo $resultStr;
- }
- }else
- {
- echo "Input something...";
- }
- }
- public function handleEvent($object)
- {
- $contentStr = "";
- switch ($object->Event)
- {
- case "subscribe":
- $contentStr = "感谢您关注【旭日阳光】\n".
- "微信号:SunRise_HY\n".
- "万号之家,目前平台功能如下:\n".
- "【sh】 生活频道\n".
- "【tq】 天气频道\n".
- "【ty】 体育频道\n".
- "更多内容,敬请期待...\n";
- break;
- default :
- $contentStr = "Unknow Event: ".$object->Event;
- break;
- }
- $resultStr = $this->responseText($object, $contentStr);
- return $resultStr;
- }
- public function responseText($object, $content, $flag=0)
- {
- $textTpl = "<xml>
- <ToUserName><![CDATA[%s]]></ToUserName>
- <FromUserName><![CDATA[%s]]></FromUserName>
- <CreateTime>%s</CreateTime>
- <MsgType><![CDATA[text]]></MsgType>
- <Content><![CDATA[%s]]></Content>
- <FuncFlag>%d</FuncFlag>
- </xml>";
- $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content, $flag);
- return $resultStr;
- }
- private function checkSignature()
- {
- $signature = $_GET["signature"];
- $timestamp = $_GET["timestamp"];
- $nonce = $_GET["nonce"];
- $token = TOKEN;
- $tmpArr = array($token, $timestamp, $nonce);
- sort($tmpArr);
- $tmpStr = implode( $tmpArr );
- $tmpStr = sha1( $tmpStr );
- if( $tmpStr == $signature ){
- return true;
- }else{
- return false;
- }
- }
- }
- ?>
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 微信公众平台开发
- 面对一个设计需求,是全新设计一个系统还是基于现有系统改造一个系统?
- DrawItem事件
- Linux下常用头文件示意
- Java Source Attacher - 自动帮你附加源代码的Eclipse插件
- Android的数据存储--SD卡
- 微信公众平台开发
- boost ---- boost::progress_timer
- ubuntu搭建sambd多用户管理
- malloc、free与new、delete
- hdu 4565So Easy!
- CentOs在不联网的情况下,成功使用yum!!
- EAS Bos 合计行代码
- 详细分析CONTAINING_RECORD宏
- IT English Collection(12) of Archiving