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

下图为目录结构一览:

微信开发 - 文件目录结构

平台功能:

此次开发的平台是面向多微信公众号、微信多公众号主(下面简称号主)的第三方管理平台。功能全部开发完毕后,号主通过注册、填写微信公众号配置(在腾讯的平台上设置,如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(,"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($wechatTool->valid()===true){
                $data[;
                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[){
            /*正常模式*/
            $wechatTool->responseMsg();
        }

    }
}

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

基于ThinkPHP3的微信平台开发_1的更多相关文章

  1. ****基于H5的微信支付开发详解[转]

    这次总结一下用户在微信内打开网页时,可以调用微信支付完成下单功能的模块开发,也就是在微信内的H5页面通过jsApi接口实现支付功能.当然了,微信官网上的微信支付开发文档也讲解的很详细,并且有实现代码可 ...

  2. ***PHP基于H5的微信支付开发详解(CI框架)

    这次总结一下用户在微信内打开网页时,可以调用微信支付完成下单功能的模块开发,也就是在微信内的H5页面通过jsApi接口实现支付功能.当然了,微信官网上的微信支付开发文档也讲解的很详细,并且有实现代码可 ...

  3. 基于H5的微信支付开发详解

    这次总结一下用户在微信内打开网页时,可以调用微信支付完成下单功能的模块开发,也就是在微信内的H5页面通过jsApi接口实现支付功能.当然了,微信官网上的微信支付开发文档也讲解的很详细,并且有实现代码可 ...

  4. [z]微信平台开发教程

    http://blog.csdn.net/lyq8479?viewmode=contents

  5. 再谈Weiphp公众平台开发——1、增加插件

    去年开始接触基于Weiphp的公众平台开发,一直没时间好好整理一下. 下面开始讲解第一个自定义weiphp插件:MyHello的开发流程. 1.插件创建.在weiphp管理后台依次点击“插件管理-&g ...

  6. asp.net mvc 微信支付代码分析(根据沐雪微信平台3.1商城业务来分析)

    开发微信应用,微信支付是永远要面对的.现在的微信支付相对以往已经很稳定,很少出现诡异情况.再加上无数人开发的经验分享,现在开发微信支付已经没什么难度了. 我这次主要是想基于沐雪微信平台的微商城业务来分 ...

  7. (转)微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(采用 Baidu Eclipse)

    原文传送门(http://blog.csdn.net/bingtianxuelong/article/details/17843111) 版本说明:     V1:         2014-2-13 ...

  8. 基于新浪SAE平台的微信开发

      自己的微信公众平台开发差不多了,欢迎关注试用哦,我会不定期在那里分享技术文章! 主要功能: 输入t+中文或者英文返回对应的英中翻译 输入[m]随机来首音乐听,建议在wifi下听 输入[ly+你的留 ...

  9. 基于PHP的微信公众平台开发(TOKEN验证,消息回复)

    微信公众平台开发 实现步骤: 第一步:填写服务器配置 登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL).Token和EncodingAE ...

随机推荐

  1. JS学习:第二周——NO.2正则

    1.[正则] 就是用来操作(匹配和捕获)的一系列规则: 匹配:校验字符串是否符合我们的规则:返回值--布尔值           匹配这里用的是正则的方法:test(),reg.text( ); 捕获 ...

  2. JS生成指定范围内的数组

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 本地数据Store。Cookie,Session,Cache的理解。Timer类主要用于定时性、周期性任务 的触发。刷新Store,Panel

    本地数据Store var monthStore = Ext.create('Ext.data.Store', { storeId : 'monthStore', autoLoad : false, ...

  4. 对前台传回的list进行分割,并放在sql语句的in中

    前端数据集传回数据 var matDeptHisMonthPlanStore = Ext.data.StoreManager.lookup('matDeptHisMonthPlanStore'); m ...

  5. 修改git remote url

    $ ssh -v wangz@gitlab.alibaxx-inc.com $ git remote ali set-url git@gitlab.alibaxx-inc.com:youk-aaa/x ...

  6. Git的checkout, reset, revert

    不管是修改还是新建文件,都必须通过git add把这次修改从工作区加到暂存区: commit只是提交暂存区的修改,还没add到暂存区处于工作区的修改是不会commit的:   git checkout ...

  7. 卸载linux Mint自带jdk并安装最新jdk

    查看安装的软件包sudo dpkg --list | grep -i jdk 删除jdksudo apt-get purge openjdk* 删除其他的包sudo apt-get purge ice ...

  8. axure rp8.0 序列号,亲测可以用

    转载自:https://zhidao.baidu.com/question/428326076480233092.html aaa 2GQrt5XHYY7SBK/4b22Gm4Dh8alaR0/0k3 ...

  9. iOS 修改状态栏preferredStatusBarStyle不执行问题

    一.在老版本的iOS中,状态栏永远都是白色风格.而在iOS 7中,我们可以修改每个view controller中状态栏的外观.通过UIStatusBarStyle常量可以指定状态栏的内容是暗色或亮色 ...

  10. C and SQL data types for ODBC and CLI

    C and SQL data types for ODBC and CLI   This topic lists the C and SQL data types for ODBC and CLI a ...