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

下图为目录结构一览:

微信开发 - 文件目录结构

平台功能:

此次开发的平台是面向多微信公众号、微信多公众号主(下面简称号主)的第三方管理平台。功能全部开发完毕后,号主通过注册、填写微信公众号配置(在腾讯的平台上设置,如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. react+redux官方实例TODO从最简单的入门(6)-- 完结

    通过实现了增-->删-->改-->查,对react结合redux的机制差不多已经了解,那么把剩下的功能一起完成吧 全选 1.声明状态,这个是全选状态 2.action约定 3.red ...

  2. 理解Angular中的$apply()以及$digest()

    $apply()和$digest()在AngularJS中是两个核心概念,但是有时候它们又让人困惑.而为了了解AngularJS的工作方式,首先需要了解$apply()和$digest()是如何工作的 ...

  3. 天河微信小程序入门《三》:打通任督二脉,前后台互通

    原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1 天河君在申请到https ...

  4. 错误:找不到请求的 .Net Framework Data Provider。可能没有安装.

    一.错误描述 今天在帮同事Debug的时候遇到这个问题,错误信息提示到是Data Provider的问题,首先我们看下环境. 数据库版本:Oracle 11.2.0.4.0 64位 数据库服务器:li ...

  5. 小波包分解 仿真 matlab

    clc;close all;clear;fs = 100000;t = 1: 100;x = sin(2*pi*4000* t/fs) + sin(2*pi*40000*t/fs); %db8[Lo_ ...

  6. oracle11gR2静默安装

    oracle11G静默安装过程——linux环境 1.操作系统及Oracle版本 Linux版本:CentOS release 6.8 (Final) Oracle版本:Oracle Database ...

  7. Python~字典

    if not isinstance(x, (int, float)): raise TypeError('bad operand type')   range() raw_input(‘birth’) ...

  8. Java学习笔记__异常机制_try_catch_finally_return执行顺序

    package cn.xiaocangtian.Exception; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...

  9. js变量及其作用域(附例子及讲解)

    Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量   工具/原料   Ch ...

  10. git 学习

    一.bash中查看已经提交的文件:git ls-files 二.返回上级目录:cd ..     (中间含空格) 三.在当前目录下新建文件夹: mkdir dirName 新建文件:touch new ...