weiphp 简介--笔记

注意: 如果你有什么问题,可加入官方QQ群进行讨论329650736【已满】,8322255

 

一、简介

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、按照安装向导完成安装。若在安装过程中出现问题,请访问官网讨论区寻求帮助。


架构设计

要了解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、用户可在微网站页面继续完成相应的业务操作,如投票,考试等,直到操作完成为止

weiphp 简介--笔记

时间: 2024-10-17 20:08:58

weiphp 简介--笔记的相关文章

23设计模式简介笔记

1.工厂模式:客户类和工厂类分开.消费者任何时候需要某种产品,只需向工厂请求即可.消费者无须修改就可以接纳新产品.缺点是当产品修改时,工厂类也要做相应的修改.如:如何创建及如何向客户端提供. 2.建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象.建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节.建造模式可以强制实行一种分步骤进行的建造过程. 3.工厂方法模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类

shiro学习笔记_0100_shiro简介

前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro.此笔记是根据网上的视频教程记录的,shiro的文档感觉不是很好,所以结合老师的讲课和文档,感觉条理更清晰些.以便日后查阅 shiro:Shiro是一个基于java的开源的安全管理框架. Shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成.缓存等可用于javase和javaee,还可用于分布式集群环境. 在ja

[原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

leaflet开源地图库源码阅读笔记(一)——简介&Demo初体验(by vczero)

一.简介 电子地图已经在O2O.生活服务.出行等领域布局,传统的GIS也孕育着互联网基因.传统GIS的图商有ESRI(Arc系列).四维.高德.超图.中地等等.在web互联网领域,百度和高德较为出色.但是开放源代码都远远做的不够,相比而言国外开源较多且丰富,最近认真研读了openlayers2/3和leaflet的源码,收获颇多,不仅加强对浏览器兼容性.HTML5.CSS3等基础,还增强了GIS的基础.本人现在也在一家互联网公司做js api的研发,因此,需要不断地吸取开源代码的营养. leaf

《Linux内核设计与实现》笔记-1-linux内核简介

一.Linux内核相对于传统的UNIX内核的比较: (1):Linux支持动态内核模块.尽管Linux内核也是整体式结构,可是允许在需要的时候动态哦卸除(rmmod xxx)和加载内核模块(insmod  xxx.ko). (2):Linux支持对称多处理(SMP)机制,尽管许多UNIX的变体也支持SMP,但是传统的UNIX并不支持这种机制. (3):Linux内核可以抢占(preemptive).在Linux 2.4以及以前的版本都是不支持内核抢占的,在Linux 2.6以及以后就支持了. (

python学习笔记系列----(一)python简介

一个月前,就按下决心要系统的学习下python了,虽然之前有学习过java,学习过c++,也能较为熟练的使用java做自动化测试看懂c++里的业务逻辑,但是实际上有那么多的东西自己还是不清楚,今天下定决心,开始了python的系统的学习之路,之前我是有看过廖学峰的教程的,看完收获确实也是少,但总感觉就是少了什么,后面想了下,我想应该是自己的学习方法~~~介于之前学习RF的经验,我认为看官方文档对于一个想系统学习python的人来说,真的是一个不能再好的学习方法,接下来我会开始坚持把python2

LINUX设备驱动程序笔记(一)设备驱动程序简介

<一>:设备驱动程序的作用 从一个角度看,设备驱动程序的作用在于提供机制,而不是策略.在编写驱动程序时,程序员应该特别注意下面这个基本概念:编写访问硬件的内核代码时,不要给用户强加任何特定策略.因为不同的用户有不同的需求,驱动程序应该处理如何使硬件可用的问题,而将怎样使用硬件的问题留给上层应用程序. 从另一个角度来看驱动程序,它还可以看作是应用程序和实际设备之间的一个软件层. 总的来说,驱动程序设计主要还是综合考虑下面三个方面的因素:提供给用户尽量多的选项.编写驱动程序要占用的时间以及尽量保持

Git 学习笔记&lt;简介与安装&gt; (一)

Git,开源中国以及GitHub所使用的系统, Is A 一个分布式版本控制系统 Be Used to 为团队合作写代码提供方便的管理系统.几乎满足你所有关于合作写代码的幻想. Has 本地端:工作区.版本库 (版本库还含有一个暂存区) 远程仓库:版本库(用来储存版本库的服务器) How To Install Linux: 首先,先输入git,看看是否安装Git: $ gitThe program 'git' is currently not installed. You can install

Guava学习笔记:Google Guava 类库简介

> Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁,让你工作更加轻松愉悦.下面我们就开启优雅Java编程学习之旅! 项目相关信息: 官方首页:http://code.googl