admin 发表于 2013-12-13 16:14:46

微信公众平台开发入门教程

在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础。我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见底部。本系列教程将引导你完成如下任务:
[*]申请百度云平台资源
[*]启用微信公众平台开发模式
[*]接收、发送、事件消息类型详解
[*]获取接收到的五种消息
[*]回复文本、图文、音乐
[*]小黄鸡聊天机器人开发
[*]亲子鉴定、情侣相、夫妻相应用开发
[*]在线点歌应用开发
[*]微网站开发

第一篇 申请服务器资源创建百度云应用申请账号登录http://developer.baidu.com/bae ,使用邮箱或者手机注册一个账号,注册需要同时绑定手机并且验证邮箱。
创建应用注册并登录成功以后,点击右上侧的http://images.cnitblog.com/blog/340216/201306/27104503-bfb02da7d0e741de97b7caa82b790ea6.jpg,弹出如下窗口。http://images.cnitblog.com/blog/340216/201306/27104549-2b4f9a5de6c2483aa6849a2d0f06e4c0.jpg 应用名称自己随便填写一个,接入方式选择“手机web应用”,然后点击确定。说明:在以下的教程中,您可以将所有我填写为pondbay的地方改为你的一个相应的名称,如果您没有想好名称,最简单的方法就是qq这两个字符+qq号码,比如方倍工作室的QQ是1354386063,那么就将"pondbay"改为"qq1354386063"
http://images.cnitblog.com/blog/340216/201306/27104652-8c35dfd74b8e49009ad23b5c45a5d0bb.jpg选择“云环境(BAE)”,http://images.cnitblog.com/blog/340216/201306/27104740-bb05e32ac9b8462ea60d7a9b89b2d7e1.jpg在新的窗口中,填写应用域名的名称,环境类型选择PHP,其他根据自己需要选择或者使用上图默认值,然后点击确定注意:此处填写的域名将要在下面填写URL时用到。可以先保存下来。
原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 创建版本http://images.cnitblog.com/blog/340216/201306/27105821-5c3e597e0b7040389fe92c57006b600c.jpg在版本管理中,点击创建新版本http://images.cnitblog.com/blog/340216/201306/27105852-53b510359b3947f0a9273ed405cdf72c.jpg版本号填写0,然后保存。 原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 上传代码将以下代码中的token改为你的名称,并另存为index.php。注意:此处填写的Token将要在下面填写URL时用到。可以先保存下来。
http://common.cnblogs.com/images/copycode.gif
<?php/*    方倍工作室 http://www.cnblogs.com/txw1958/    CopyRight 2013 www.doucube.comAll Rights Reserved*/define("TOKEN", "pondbay");$wechatObj = new wechatCallbackapiTest();if (isset($_GET['echostr'])) {    $wechatObj->valid();}else{    $wechatObj->responseMsg();}class wechatCallbackapiTest{    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);      $tmpStr = implode( $tmpArr );      $tmpStr = sha1( $tmpStr );      if( $tmpStr == $signature ){            return true;      }else{            return false;      }    }    public function responseMsg()    {      $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];      if (!empty($postStr)){            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);            $fromUsername = $postObj->FromUserName;            $toUsername = $postObj->ToUserName;            $keyword = trim($postObj->Content);            $time = time();            $textTpl = "<xml>                        <ToUserName><!]></ToUserName>                        <FromUserName><!]></FromUserName>                        <CreateTime>%s</CreateTime>                        <MsgType><!]></MsgType>                        <Content><!]></Content>                        <FuncFlag>0</FuncFlag>                        </xml>";            if($keyword == "?" || $keyword == "?")            {                $msgType = "text";                $contentStr = date("Y-m-d H:i:s",time());                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);                echo $resultStr;            }      }else{            echo "";            exit;      }    }}?>http://common.cnblogs.com/images/copycode.gif


然后将其压缩成ZIP格式,不能用RAR格式http://images.cnitblog.com/blog/340216/201306/27112312-0ce2b10adbd3458cbcb5cebfa8ca4e40.jpg这样会生成一个index.zip的文件。回来版本管理中http://images.cnitblog.com/blog/340216/201306/27110127-b478b2f3ec4c47eeac44628f0578dcb7.jpg选择包上传更新http://images.cnitblog.com/blog/340216/201306/27112509-9de541810c5a4919bb607d523bdd82b9.jpg选择刚才压缩好的zip包,点击上传。http://images.cnitblog.com/blog/340216/201306/27112541-e0259a8354ab4988beee233568a58fc6.jpg确定生效,并且点击 http://images.cnitblog.com/blog/340216/201307/07222044-dfc89b1aedc44d609e0e2b4c42337503.x-png,点击后如下图。http://images.cnitblog.com/blog/340216/201306/27112550-9ea6bc6a0e3d42cf97a3cdea2449cc50.jpg百度云应用的创建就成功了。
第二篇 启用开发模式微信公众平台开发模式高级功能微信公众平台地址:https://mp.weixin.qq.com 登录微信公众平台后台,选择高级功能,进入后就看到两种模式http://images.cnitblog.com/blog/340216/201310/29200737-118800a1d034478b9eac16990b556026.jpg我们需要先关闭编辑模式。点击编辑模式的进入http://images.cnitblog.com/blog/340216/201306/27120521-acf845623eb249f38955ad9d98f5e4f1.jpg滑动关闭http://images.cnitblog.com/blog/340216/201306/27120547-578c3c33ecdc447ab586fa516d1ae7ab.jpg
开发模式进入开发模式里面http://images.cnitblog.com/blog/340216/201306/27120608-f8668721e2974b5aa39d3fd882c20596.jpg 点击成为开发者http://images.cnitblog.com/blog/340216/201310/30085710-8e2022604dcd4d14abce4e374969cc7b.jpg弹出URL和Token填写框http://images.cnitblog.com/blog/340216/201306/27121029-446096f070784eab8b48e7b8804bd716.jpg此处的URL为创建百度云应用的域名,包括后面的duapp.com,而Token为index.php中定义的值。在这篇教程中如下:URL:   http://pondbay.duapp.comToken:pondbay
填写如下图,http://images.cnitblog.com/blog/340216/201306/27121242-ee8e68e061cd4b55aaec89fc29c065e5.jpg 提交成功http://images.cnitblog.com/blog/340216/201306/27121506-34f834e6cb82423bb48488d48d163a47.jpg再滑动右上角启用按钮。http://images.cnitblog.com/blog/340216/201306/27121742-33362399f5124fa5bd7e8c251d21725b.jpg恭喜,你成功启用开发模式。
自动回复在上面的例子中,实现了一个发送“?”就能回复当前时间的功能。
效果如下:http://images.cnitblog.com/blog/340216/201310/13222349-56380bc307a54354b949fc592a4ab1f7.png至此,你的微信公众平台账号已经实现自动回复了。
关于初级教程http://ico.ooopic.com/iconset01/DarkGlass_Reworked/gif/37178.gif本工作室新推出微信公众平台开发初级教程,详细图文详解,包含入门教程及2个商业案例分析,提供源代码及QQ群指导。
http://images.cnitblog.com/blog/340216/201311/08122249-be40f87c484548acb4acc45ce0e870b9.jpg

更多第三篇及以后的入门教程及全部源代码将在微信中陆续发布,请关注方倍工作室微信公众平台账号,然后回复“教程”。http://images.cnitblog.com/blog/340216/201311/08191326-35270d9026cd48409e8349a60aeac86e.pnghttp://images.cnitblog.com/blog/340216/201311/08191339-0568d5c0887843aabe5ae0f06a3bdaff.png

IQ10 发表于 2014-2-17 23:33:58

这么好的文章怎能没有沙发~~~~~~~~~~~~

ssht968 发表于 2014-3-1 22:55:49

这个不错。

jueyue 发表于 2014-3-2 00:22:44

打算学习搭建了
页: [1]
查看完整版本: 微信公众平台开发入门教程