微信开发开发认证及自定义菜单设置

浏览:4986 发布日期:2015/04/15 分类:技术分享
刚开始接触微信开发,望老手多多指正,轻喷。当然,有需要的同学可以看下交流下。
开始:
1.下载麦当苗的sdk
http://www.thinkphp.cn/extend/588.html
2.解压并放到ThinkPHP下的library下
3.引入SDK,并进行token认证。(服务器可以选择新浪sae,并且能让微信服务器访问到)$token = ''; // 微信后台填写的TOKEN        
        /* 加载微信SDK */
        $wechat = new \Com\Wechat ( $token );    
2.认证成功后,进行自定义菜单设置
(1)定义微信appid和//微信secret$appid = '自己的appid';//微信appid
$secret = '自己的secret';//微信secret
(2)获取asscessToken,并进行缓存/*加载WechatAuth*/
        $WechatAuth = new  \Com\WechatAuth($appid,$secret);
        $S_accessToken=$WechatAuth->getAccessToken();
        if ($S_accessToken && is_array($S_accessToken)) {
            S('S_accessToken',$S_accessToken['access_token'],7200);//2小时过期
        }
(3)创建菜单组(以我自己的菜单组为例)$newmenu =  array(
                array('type'=>'view','name'=>'项目介绍','http://www.thinkphp.cn'),
                array('type'=>'click','name'=>'专家介绍','key'=>'pro_intro'),
                array('name'=>'关于我们',"sub_button"=>array(
                        array('type'=>'view','name'=>'联系方式','url'=>'http://www.baidu.com'),
                        array('type'=>'view','name'=>'中心全貌','url'=>'http://www.google.com'),
                        array('type'=>'click','name'=>'中心介绍','key'=>'center_intro'),
                )),
        );
注意:url必须是以http开头的有效地址,不然认证不通过。
(4)调用方法,生成菜单$WechatAuth->menuCreate($newmenu);
$WechatAuth->menuGet();
这样就生成啦。

事件处理
事件处理方面,我以关注后和click事件做举例
1.关注后,响应事件,自动回复给关注者信息        /* 获取请求信息 */
        $data = $wechat->request ();
        if ($data['MsgType']=='event') {
            switch ($data['Event']){
                case 'subscribe':
                    $content= '谢谢你的关注'; //回复内容,回复不同类型消息,内容的格式有所不同
                    $type    = 'text'; //回复消息的类型
                    $wechat->response($content, $type); /* 响应当前请求(自动回复) */
                    break;
                case 'CLICK':
                    switch ($data['EventKey']){
                        case 'pro_intro':
                            $content= '你点击了专家介绍'; //回复内容,回复不同类型消息,内容的格式有所不同
                            $type    = 'text'; //回复消息的类型
                            $wechat->response($content, $type); /* 响应当前请求(自动回复) */
                            break;
                        case 'center_intro':
                            $content= '你点击了中心介绍'; //回复内容,回复不同类型消息,内容的格式有所不同
                            $type    = 'text'; //回复消息的类型
                            $wechat->response($content, $type); /* 响应当前请求(自动回复) */
                            break;
                    }
                    break;
            }
    }
最后说几句,本人刚毕业,在一家公司实习,最近刚接触php,了解到thinkphp框架。说真的,这真是个好东西,能大大的加快我开发的项目。之前用这个框架做过一个小项目,因为刚接触,困难重重,幸运的是还是做出来了。这一次,又开始接了一个项目,微信开发,具体就不赘述了。以前在论坛里光做伸手党,怪难堪的。今个,我把我自己学到的知识记录在这里,望老手多指点,需要者可以学习下,仅此而已。

附件 demo.tar.gz ( 3.84 MB 下载:385 次 )

最佳答案
评论( 相关
后面还有条评论,点击查看>>