微信公众平台是个好东西,具体的就不说了,我直接说技术>_<

下图为目录结构一览:

  • 基于ThinkPHP3的微信平台开发_1_微信开发

  • 微信开发 - 文件目录结构

平台功能:

此次开发的平台是面向多微信公众号、微信多公众号主(下面简称号主)的第三方管理平台。功能全部开发完毕后,号主通过注册、填写微信公众号配置(在腾讯的平台上设置,如Token、EncodingAESKey等)、填写本平台配置(配置Token、EncodingAESKey等),即可实现微信公众平台大部分业务功能(可能受微信公众号类型限制)。

逻辑划分:

本平台基于ThinkPHP框架开发,按MVC三层划分。

Home模块的Controller控制器实现本平台的业务逻辑;

Home模块的Model模型实现数据的验证与过滤;

templates视图提供所有页面的模板,预留多主题接口;

Common公共模块下的Tools工具类实现微信公众平台api功能;

控制器:

Api控制器:

class ApiController extends Controller {
    public function index(){
        /*获取微信公众平台id*/
        $id = I("get.id",0,"number_int");

        /*实例化mp模型类*/
        $mp = D("Mp")->where("mp_id={$id}")->find();

        /*定义全局数组*/
        $GLOBALS = array(
            'mp'        =>      array(
                    'Id'        =>      $mp['mp_id'],
                    'Token'     =>      $mp['mp_token'],
                    'valid'     =>      $mp['mp_valid'],
            ),
        );

        //dump($GLOBALS);
        /*实例化微信通信工具类*/
        $wechatTool = new \Common\Tools\Wechat();

        /*验证是否成为开发者*/
        if($GLOBALS['mp']['valid']==0){
            /*未验证,执行验证代码*/
            if($wechatTool->valid()===true){
                $data['mp_valid'] = 1;
                if(D("Mp")->where("mp_id={$GLOBALS['mp']['Id']}")->save($data)){
                    $returnMsg = "验证成功";
                }else{
                    $returnMsg = "修改失败";
                }
            }else{
                $returnMsg = "验证失败";
            }
            file_put_contents('/usr/www/wechat/valid.txt',"{$GLOBALS['mp']['Id']}:{$returnMsg}\n\n",FILE_APPEND);
            exit();
        }elseif($GLOBALS['mp']['valid']==1){
            /*正常模式*/
            $wechatTool->responseMsg();
        }

    }
}


原文链接:基于ThinkPHP3的微信平台开发_1