码迷,mamicode.com
首页 > 微信 > 详细

微信公共平台开发接口(三)

时间:2017-05-30 15:37:40      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:content   case   creat   公众   sim   break   for   llb   private   

非常久没写微信公众号的文章了,并且由于是自己是订阅号,所以研究也告一段落了,但还是把自己仅有的一些功能的完整代码共享出来。希望大家一起进步:

    1. <?

      php

    2. define("TOKEN", "weixin");
    3. $wechatObj = new wechatCallbackapiTest();
    4. $wechatObj->weixin_run();
    5.  
    6. class wechatCallbackapiTest {
    7.  
    8. private $fromUsername;
    9. private $toUsername;
    10. private $times;
    11. private $keyword;
    12. private $MsgType;
    13.  
    14. public function responseMsg() {
    15. $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    16. if (!empty($postStr)) {
    17. $postObj = simplexml_load_string($postStr, SimpleXMLElement, LIBXML_NOCDATA);
    18. $this->fromUsername = $postObj->FromUserName;
    19. $this->toUsername = $postObj->ToUserName;
    20. $this->keyword = trim($postObj->Content);
    21. $this->time = time();
    22. $this->MsgType = $postObj->MsgType;
    23. } else {
    24. echo "Pay attention to <a href=‘http://{$_SERVER[‘HTTP_HOST‘]}‘>http://{$_SERVER[‘HTTP_HOST‘]}</a>,thanks!";
    25. exit;
    26. }
    27. }
    28.  
    29. public function weixin_run() {
    30. $this->responseMsg();
    31. if($this->MsgType != event) { //attention
    32. $data = $this->getData();
    33. $this->fun_xml("news", $data, count($data));
    34. } else {
    35. $data = $this->getWelData();
    36. $this->fun_xml("text", $data, 1);
    37. }
    38. }
    39.  
    40. //type: text 文本类型, news 图文类型
    41. //text,array(内容),array(ID)
    42. //news,array(array(标题,介绍,图片,超链接),...小于10条),条数
    43. private function fun_xml($type, $value_arr, $count) {
    44. $con="<xml>
    45. <ToUserName><![CDATA[{$this->fromUsername}]]></ToUserName>
    46. <FromUserName><![CDATA[{$this->toUsername}]]></FromUserName>
    47. <CreateTime>{$this->times}</CreateTime>
    48. <MsgType><![CDATA[{$type}]]></MsgType>";
    49. switch($type) {
    50. case "text" :
    51. $con.="<Content><![CDATA[$value_arr]]></Content>";
    52. break;
    53. case "news" :
    54. $con.="<ArticleCount>{$count}</ArticleCount>
    55. <Articles>";
    56. foreach($value_arr as $key => $v) {
    57. $con.="<item>
    58. <Title><![CDATA[{$v[0]}]]></Title>
    59. <Description><![CDATA[{$v[1]}]]></Description>
    60. <PicUrl><![CDATA[{$v[2]}]]></PicUrl>
    61. <Url><![CDATA[{$v[3]}]]></Url>
    62. </item>";
    63. }
    64. $con.="</Articles>";
    65. break;
    66. }
    67. echo $con."</xml>";
    68. }
    69.  
    70. private function getData() {
    71. //数据库通过关键字查询文章
    72.  
    73. //。。。。。

      。。。。

    74. //。

      。。。。

      。。。。。。

    75.  
    76. //返回文章结果的数组
    77. return $data;
    78. }
    79.  
    80. private function getWelData() {
    81. $data = "感谢您关注AndyYang个人博客微信小助手。\r\n".
    82. "回复【1】返回两篇最新文章\r\n".
    83. "回复【2】返回两篇人气文章\r\n".
    84. "回复【3】返回两篇热评文章\r\n".
    85. "回复【4】返回两篇最新技术文章\r\n".
    86. "回复【5】返回两篇最新写作文章\r\n".
    87. "回复其它返回搜索关键字的两篇文章\r\n".
    88. "很多其它精彩内容。尽在:<a href=‘http://www.webyang.net/mobile.php‘>www.webyang.net</a>。亲们,请多多支持哦,谢谢~";
    89. ;
    90. return $data;
    91. }
    92. }

老实说非常想弄个服务号玩玩。自己定义菜单是没什么技术含量的,可是后面的微信支付之类,服务号仅有的服务,还是挺值得去尝试下的。

。。

也希望大家支持微信号:webyangnet


很多其它请支持:http://www.webyang.net/Html/web/article_118.html

微信公共平台开发接口(三)

标签:content   case   creat   公众   sim   break   for   llb   private   

原文地址:http://www.cnblogs.com/cxchanpin/p/6919875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!