最近一直再弄微信公众平台的开发,基础源码是从网上某个朋友分享的微赞(微动力4.x版本也一样)。看代码是基于微擎做的,结构很规整是标准的 MVC结构。二次开发很方便看网上很少有基础的教程什么的用的网友有比较多于是想谢谢自己的开发笔记算是一个教程。个人能力有限写的东西难免有错漏,希望 大家指正互相交流,群里有很多大神我这个算是抛砖引玉吧。
注意:本文禁止转载
(因为页面贴目录树很难看,我直接上截图,点击查看大图。需要搜索 下面也有文字部分排版很难看)
最近一直再弄微信公众平台的开发,基础源码是从网上某个朋友分享的微赞(微动力4.x版本也一样)。看代码是基于微擎做的,结构很规整是标准的MVC结构。二次开发很方便看网上很少有基础的教程什么的用的网友有比较多于是想谢谢自己的开发笔记算是一个教程。个人能力有限写的东西难免有错漏,希望大家指正互相交流,群里有很多大神我这个算是抛砖引玉吧。
注意:本文禁止转载
先来分析下微赞的目录结构:
网站主目录
├─addons
│ ├─模块目录,主要放置后台点击“模块功能”里面的那些模块(模块目录结构参考下面的表格或者微擎的wiki)
│ ├─包括模块的程序代码和设置页面的模板等。每个目录都代表一个模块
├─api
│ ├─api外部接口目录,我用的版本只有uc的一个接口文件
├─app(本目录下放置的是微信访问部分的东西,比如从微信打开的微站、文章等等,xxx.com/app)
│ ├─common(公共库)
│ ├─resource(一些微信页面的CSS、js等资源)
│ ├─source(微信端的控制器部分)
│ ├─如微信打开地址:xxx.com/app/index.php?c=home&a=welcome,实现代码对应home目录下的home.ctrl.php
│ │ ├─activity
│ │ ├─auth
│ │ ├─channel
│ │ ├─entry
│ │ ├─home
│ │ ├─mc
│ │ ├─site
│ │ ├─utility
│ │ └─wechat
│ └─themes(微信端的模板部分)
│ ├─default(默认的微信模板,主要是基本的那些页面的模板,目录对应跟上面的控制器差不多)
│ │ ├─activity
│ │ ├─auth
│ │ ├─common
│ │ ├─home
│ │ ├─images
│ │ ├─mc
│ │ ├─multisearch
│ │ ├─script
│ │ ├─shopping
│ │ ├─site
│ │ ├─style
│ │ ├─utility
│ │ └─wechat
│ ├─style10(单独的微站风格模板,后台安装微站风格后,这里就会有很多style*这样的目录,每个目录对应一个风格)
│ │ ├─home
│ │ ├─images
│ │ └─site
├─aqiniu(未知目录,好像是为千牛云存储留的接口之类的但是我并没有找到使用的千牛的地方,我的删除后还没发现问题)
│ └─qiniu
├─attachment(用户上传的目录,包含用户头像、微信二维码、会员卡背景、背景音乐等等)
│ ├─audios(语音目录)
│ ├─images(图片)
│ │ └─global(公共的可选择的那些默认头像、会员卡背景)
│ │ ├─avatars
│ │ └─card
│ └─music(背景音乐)
├─data(数据目录)
│ ├─logs(日志目录)
│ └─tpl(模板缓存目录)
│ ├─app
│ └─web
│ └─default
├─framework(框架的核心目录)
│ ├─builtin(基础功能目录,对应后台点击“基础设置”后的那些)
│ │ ├─basic(基本文字回复)
│ │ │ └─template
│ │ ├─chats
│ │ │ └─template
│ │ ├─core
│ │ ├─cover
│ │ ├─custom(多客服接入)
│ │ │ └─template
│ │ ├─default
│ │ ├─images(图片回复)
│ │ │ └─template
│ │ ├─music(音乐回复)
│ │ │ └─template
│ │ ├─news(图文回复)
│ │ │ └─template
│ │ │ └─mobile
│ │ ├─recharge
│ │ │ └─template
│ │ │ └─mobile
│ │ ├─userapi(自定义接口回复)
│ │ │ ├─api(此目录为“常用服务接入”里的那些服务,可以根据自己情况开发服务放置到此目录)
│ │ │ ├─images
│ │ │ ├─include
│ │ │ └─template
│ │ ├─video(视频回复)
│ │ │ └─template
│ │ └─voice(语音回复)
│ │ └─template
│ ├─class(类库)
│ ├─classs
│ ├─function(公用函数)
│ ├─library(主要是核心框架用到的类库部分)
│ ├─model(后台设置的模型部分,下面的目录对应后台那些账号设置,系统设置什么的)
│ └─recharge
├─payment(支付的代码,下面就是那些目录对应了支付宝、百度钱包等等的实现代码)
└─web(后台部分,包含控制器、模板。例如访问网址xxx.com/web)
├─common(公共库)
├─resource、resource3(后台模板的CSS、js等资源)
├─source(控制器部分,如后台公众号列表des8.com/web/index.php?c=account&a=display就对应account目录下的display.ctrl.php文件)
│ ├─account
│ ├─activity
│ ├─cloud
│ ├─extension
│ ├─home
│ ├─mc
│ ├─platform
│ ├─profile
│ ├─site
│ ├─system
│ ├─user
│ ├─utility
│ └─wechat
└─themes(后台模板目录,目录的对应情况跟控制器部分差不多)
├─比如点击后台“基础设置”后显示的账号概况页xxx.com/web/index.php?c=home&a=welcome&do=platform
├─就实用了对应当前模板目录下的(默认模板是default,可在系统选项 后台皮肤里设置)home目录下的welcome-platform.html模板文件
├─default(默认模板,如果安装有多个后台模板模板就会有多个目录,当前我共有默认、diy、style01三个模板)
│ ├─account
│ ├─activity
│ ├─cloud
│ ├─common
│ ├─extension
│ ├─home
│ ├─mc
│ ├─multi
│ ├─platform
│ ├─profile
│ ├─site
│ ├─system
│ ├─user
│ ├─utility
│ └─wechat
├─diy
│ ├─account
│ └─common
└─style01
└─account
模块的目录结构:(对应addons目录下的某块)
addons
├─ identifie (模块目录)
│ ├─ inc // 0.6 新增, 可提高加载执行效率.
│ │ │ // 将 site.php 中大量的 doWebXxx, doMobileXxx 方法, 拆分成一个个文件放置到 web 和 mobile 文件夹中
│ │ │ // 个人并不建议这样做,因为要考虑其他系统。因为有的微信代码还在实用0.5.2的版本,迁移的时候好省事。
│ │ ├─ mobile
│ │ │ ├───xxxx.inc.php
│ │ │ └───…
│ │ └─ web
│ │ ├───xxxx.inc.php
│ │ └───…
│ ├─ template(模板目录)
│ │ │
│ │ ├─ image // 所有单独用到的资源文件都放到这个位置.
│ │ │ ├─── .js
│ │ │ ├─── *.css
│ │ │ └─── *.jpg|.png|*.gif…
│ │ │
│ │ ├─ mobile // App 端(微站端)模板位置
│ │ │ └───xxxx.html
│ │ │
│ │ └─ … // Web 端(后台管理页面)模板位置,设置页面、编辑页面的模板等等
│ ├─ manifest.xml
│ ├─ model.php // 自定义方法,通过 require 'model.php' 可以调用;
│ ├─ module.php
│ ├─ processor.php
│ ├─ receiver.php
│ ├─ site.php
│ ├─ install.php
│ ├─ preview.jpg(后台点击“扩展功能”显示的模块大图)
│ ├─ icon.jpg(“模块功能”显示在模块名前面的小图标)
│ ├─ …
│ └─ …
└─ 其他模块
转载请注明:黑白的自留地 » 微信第三平台开发笔记(1)目录结构