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

下图为目录结构一览:

微信开发 - 文件目录结构

平台功能:

此次开发的平台是面向多微信公众号、微信多公众号主(下面简称号主)的第三方管理平台。功能全部开发完毕后,号主通过注册、填写微信公众号配置(在腾讯的平台上设置,如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. 让VS2010支持Windows2000

      2015-10-20 14:21 375人阅读 评论(0) 收藏 举报  分类: 学习笔记(33)  技术心得(1)  用Visual Studio 2010编译的程序无法在Windows 200 ...

  2. python爬虫小项目实战

  3. web自动化工具-Browsersync

    web自动化工具-Browsersync browser-sync才是神器中的神器,和livereload一样支持监听所有文件.可是和livereload简单粗暴的F5刷新相比,browsersync ...

  4. iOS的一像素线

    文/stark_yang(简书作者)原文链接:http://www.jianshu.com/p/b83dca88ef73著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 时常总结以前学过 ...

  5. Android Studio插件:PlantUML

    标记语言式的UML图编写工具,插件全名:PlantUML integration. 注意这个还要安装另一个软件:http://www.graphviz.org 并在PlantUML的设置中指定其路径. ...

  6. CROSS APPLY应用实例

    --功能说明:统计每个人的平均分数,新字段[AVG_Score]根据PersonID链接到原表[tbiz_AssScore]上 SELECT [ID] ,[ProjectID] ,[PersonID] ...

  7. 使用野狗(Wilddog)云setValue写入数据

    - (void)viewDidLoad { [super viewDidLoad]; //创建野狗实例化对象 用于随时监听数值变化 Wilddog *myRootRef = [[Wilddog all ...

  8. Session的属性

    Session的属性  Session在网络应用中被称为会话.具体到web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间,因 ...

  9. October 29th Week 44th Saturday 2016

    I am a slow walker, but I never walk backwards. 我走得慢,但我从不后退. I walked very slow, sometimes I even sl ...

  10. js实现复选框全选

    HTML代码如下: <div> <label><input type="checkbox" name="aAll">全选&l ...