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

在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础。

本系列教程将引导你完成如下任务:

  1. 创建新浪云计算平台应用
  2. 启用微信公众平台开发模式
  3. 基础接口消息及事件
  4. 微信公众平台PHP SDK
  5. 微信公众平台开发模式原理
  6. 开发天气预报功能

    第一章 申请服务器资源

    创建新浪云计算应用

    申请账号

    我们使用SAE新浪云计算平台作为服务器资源,并且申请PHP环境+MySQL数据库作为程序运行环境。
    申请地址:http://sae.sina.com.cn/ ,使用新浪微博账号可以直接登录SAE,登录后SAE将赠送500个免费云豆。

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

    创建新应用 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

    登录后点击顶部【我的首页

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

    选择一个未使用的appid,如果老是已经被使用不知道该什么好,就填写你的QQ号或者手机号吧。

    填写二级域名AppID、应用名称、验证码,开发语言选择PHP,应用类型选择web应用。然后点击创建应用

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

    应用创建成功。并自动跳转到应用列表中,可以看到已经有刚才创建的CCTV-7

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

     

    创建版本 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

    选择CCTV-7右侧的应用管理下面的代码管理

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

    跳转到代码管理

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

    点击右侧的微名汇-微信公众平台开发入门教程

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

    版本号默认为1,点击创建,成功后如下图所示:

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

     

    到这里,就成功创建了一个域名URL为 http://cctv7.sinaapp.com/ 的应用了。

    上传代码 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

    将以下代码复制下来,另存为index.php。必须使用专业的开发编辑软件操作,例如Notepad++,不要使用Windows自带的记事本等。

    微名汇-微信公众平台开发入门教程
    <?php
    /*
        微名汇  http://weixin.zgtuango.com
        CopyRight 2014 
        QQ:44653139
    */
    
    define("TOKEN", "weixin");
    $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><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></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 "hello,world!";
                exit;
            }
        }
    }
    ?>
    微名汇-微信公众平台开发入门教程

    然后将index.php文件压缩成ZIP格式,注意不能用RAR格式

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

    这样会生成一个index.zip的文件。或者直接下载方倍已经压缩好的zip文件 点此下载

    在代码管理界面中,选择操作按钮。

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

    选择上传代码包。

    点击上传文件,选择刚才压缩好的index.zip文件,点击上传,上传成功后如下所示,如果上传有问题,请在Chrome浏览器下重试一下。

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

    点击操作按钮下的代码编辑,

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

    我们可以看到index.php已经上传成功,双击可以查看编辑里面的代码

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

    新浪云应用的创建就成功了。

微名汇-微信公众平台开发入门教程,布布扣,bubuko.com

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

上一篇:Mac应用程序加密工具


下一篇:Linux下which、whereis、locate、find命令的区别