首页 > 代码库 > 微信公众平台开发案例

微信公众平台开发案例

前几天由于公司要开发微信公众平台,打开公众号开发平台官网,咋一看官方文档,竟然没得一个demo,弄了半天才明白是咋个回事,看起来容易但又感觉不好下手;网上这方面的代码案例比较少,而且都是凌乱的几个方法,新手很难接受,

现在把我们公众平台开发的完整代码贴出来给大家参考一下,让新手少走点弯路,文章最后有我对整个代码总结的中心思想;

<?php    header("Content-type: text/html; charset=utf-8");     define ( "TOKEN", "aidaijia" );           $wechatObj = new WeiXin();    class WeiXin{        private static $ACCESS_TOKEN = 0;  //当前access_token的值        private static $ACCESS_TIME = 0;  //access_token最后一次更新的时间        private static $XMLDATA;  //接收请求的xml数据        private static $ARRELE = array();  //存放请求的xml节点 用来判断是属于那种请求        public function __construct()        {            // $this->valid();die;   //服务器验证            // $this->createMenu();die;   //自定义菜单            $path = dirname(__FILE__);            $acpath = $path."/weixin.c";  //存放最近一次access_token更新的时间            $access = $path."/access_token.c";  //最近一次更新的access_token            $xml = $path."/xmldata.c";   //存放最近一次接收的xml数据                        //检查access_token是否过期            if(!file_exists($acpath)){                        $this->getAssessToken();                file_put_contents($acpath, self::$ACCESS_TIME);                file_put_contents($access, self::$ACCESS_TOKEN);                    }else            {                $acint = file_get_contents($acpath)+0;                if((time()-$acint)>=7000)                {                    $this->getAssessToken();                    file_put_contents($acpath, self::$ACCESS_TIME);                    file_put_contents($access, self::$ACCESS_TOKEN);                }else                {                    self::$ACCESS_TOKEN = file_get_contents($access);                }            }            //校验信息真实性(防止微信以外的第三方灌水机器人)            $this->checkSignature();            //将请求的xml数据存为全局            self::$XMLDATA = http://www.mamicode.com/$GLOBALS["HTTP_RAW_POST_DATA"];>
总结:

在微信公众平台开启开发者模式(其实有两个模式,一个是给普通人使用的,一个是给开发者使用的,默认是普通模式),开启开发者模式后,以后关注你的用户发送任何信息或者触发任何事件给你 ,都会走开发者路线,这些所有的信息都会以xml的形式发送到你制定的网址(比如:www.hello.com/doweixin.php),所有的数据都由这个doweixin.php来处理,里面的代码就类似我上面的代码,所以我们要做的事情就是解析用户发送过来的xml数据,通过这里面的数据 我们就可以知道用户想要什么 触发了我们定义的某个按钮 ,那么我们根据业务返回用户所需要的数据  我们返回的数据也是xml形式  ,我上面的代码都是被动触发,也就是用户主动来给你发送消息或者触发了某个事件,对于一些营销的任务微信也提供了给你的关注用户主动推送消息的接口 但是有使用次数限制   一般就几次  ,其实这篇文章已经写好了很久了  只是感觉还有要写的  但又没时间  所以一直放在草稿箱 今天打开偶然看到了   感觉也没什么要添加的   就这样草草的发了  如果有朋友对代码有疑问就直接在下面留言吧






微信公众平台开发案例