weiphp执行的流程

一、简介
 
weiphp是一个开源,高效,简洁的微信开发平台,它是基于oneThink这个简单而强大的内容管理框架实现的。如你想深入理解和学习本开发平台,后续请研读oneThink的开发手册(http://document.onethink.cn/manual_1_0.html
 
weiphp的目的是最大化的简化微信开发的流程,使用开发者能把最好的精力放到微信具体业务开发,并能以最快的时间完成。把一些常规而频繁的工作交由weiphp来处理即可。
为此weiphp提供了详细的二次开发文档,关键代码里还是相关的注释说明。weiphp采用插件的方式实现微信功能,不同的插件实现不同的微信功能,如下图所示就是weiphp前期自带的插件。
 
 
 
主要特性
1、基于oneThink 1.0正式版
2、开源免费,weiphp遵循Apache2开源协议,免费提供使用。
3、支持多用户多公众号管理
4、详细的二次开发文档,并不断更新增加相关开发案例提供学习参考
5、微信功能插件化开发,更易于定制和二次开发
6、提供丰富的微信插件下载安装使用,总有一些是符合或接近你的需求
 
主要功能
1、微信接口消息交互系统
2、微信插件管理系统
3、用户Passport系统
4、配置管理系统
5、后台建模系统
6、用户行为系统
7、系统日志系统 
8、数据备份和还原
9、微信多用户多公众号管理系统
10、微信扫描登录
 
最低系统需求
 
PHP 5.3.0 或更高版本。
MySQL 5.0 或更高版本。
 
 
系统安装
 
1、将weiphp压缩包解压并上传到服务器。 
2、首次在浏览器中访问index.php,将会进入安装向导。
3、按照安装向导完成安装。若在安装过程中出现问题,请访问官网讨论区寻求帮助。
 
 
架构设计
PreviousNext

 

要了解weiphp的框架设计,需要从三个方面进行理解:一是代码的目录结构;二是weiphp执行的流程;三是微信交互的流程。
 
目录结构
由于基于oneTink,因此代码目录结构也与其一致:
 
├─index.php weiphp入口文件
├─Addons 微信插件目录(包括原oneThink插件,微信插件与它的区别看后续的说明)
│  
├─Application 应用模块目录
│ ├─Admin 后台模块
│ │ ├─Conf 后台配置文件目录
│ │ ├─Common 后台函数公共目录
│ │ ├─Controller 后台控制器目录
│ │ ├─Model 后台模型目录
│ │ ├─Logic 后台模型逻辑目录
│ │ └─View 后台视图文件目录
│ │  
│ ├─Common 公共模块目录(不能直接访问)
│ │ ├─Conf 公共配置文件目录
│ │ ├─Common 公共函数文件目录
│ │ ├─Controller 模块访问控制器目录
│ │ └─Model 公共模型目录
│ │  
│ ├─Home Home 前台模块
│ │ ├─Conf 前台配置文件目录
│ │ ├─Common 前台函数公共目录
│ │ ├─Controller 前台控制器目录
│ │ ├─Model 前台模型目录
│ │ └─View 模块视图文件目录
│ │
│ └─User 用户模块(不能直接访问)
│ ├─Api 用户接口文件目录
│ ├─Conf 用户配置目录
│ ├─Common 后台函数公共目录
│ ├─Model 用户模型目录
│ └─Service 用户Service文件目录
├─Public 应用资源文件目录 
├─Runtime 应用运行时目录
├─ThinkPHP 框架目录
└─Uploads 上传根目录
  ├─Download 文件上传目录
  ├─Picture 图片上传目录
  └─Editor 编辑器图片上传目录
 
weiphp执行的流程
 
 
微信交互
 
1、用户与微信进行交互,交互的事件包括:回复公众号,扫描与公众号有关的二微码,关注(取消关注)公众号,在公众号里点击自定义菜单等
2、微信把用户的交互事件及相关参数传递给weiphp的微信接口(接口地址由weiphp提供并在公众号的微信管理后台里设置)
3、weiphp接收微信的请求,并把请求的xml转成数组形式提供后续功能使用,这部分处理代码 Application /Home/Controller/WeixinController.class.php,该文件是负责与微信交互的唯一接口。
4、weiphp判断请求的数据类型(如关注公众号还是回复公众号)进行相应的处理
5、如请求的数据类型是回复公众号,weiphp通过查询关键词表找出相应的插件名及具体的业务数据ID
6、通过插件名加载相应的插件,并把微信请求的数据和上一步通过关键词查出来的数据一并传递给到插件里。
7、由插件根据上面的请求数据处理具体的业务并组装返回数据
8、weiphp根据返回的数据再次封装成微信需要的格式并返回到微信里
9、微信根据返回的数据排版好显示给用户,如果返回的数据是带链接可点击的,进入下一步,否则到此为止
10、用户点击内容进入插件提供的地址对应的微网站页面(即3G页面)
11、用户可在微网站页面继续完成相应的业务操作,如投票,考试等,直到操作完成为止
posted @ 2016-09-22 16:28  建铭博客  阅读(2816)  评论(0编辑  收藏  举报