架构说明
1. 系统概述
本项目是基于支持 PHP 8.3 和 MySQL 8.0。系统提供完整的公众号、小程序、Web应用、手机应用等多端管理功能,支持插件化扩展开发。
1.1 系统特点
- 多端支持:微信公众号、微信小程序、百度小程序、支付宝小程序、Web应用、手机应用等
- 插件化架构:支持自定义模块开发,模块化设计
- MVC架构:清晰的代码分层结构
- 缓存支持:支持 MySQL、Memcache、Redis 多种缓存方式
- 支付集成:支持微信支付、支付宝支付等
- 会员体系:完善的会员管理、积分系统
- 消息管理:支持文本、图片、语音、视频等多种消息类型
2. 系统整体架构图
┌─────────────────────────────────────────────────────────────────┐
│ 用户访问层 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 微信用户 │ │ 小程序用户 │ │ Web用户 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 应用入口层 │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ index.php (入口) │ │ api.php (API入口) │ │
│ └─────────────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 框架核心层 (framework/) │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ bootstrap.inc.php (框架初始化) │ │
│ │ ├─ 加载配置文件 (data/config.php) │ │
│ │ ├─ 加载核心类库 (loader.class.php) │ │
│ │ ├─ 初始化数据库连接 │ │
│ │ └─ 初始化全局变量 $_W, $_GPC │ │
│ └───────────────────────────────────────────────────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ class/ │ │ function/ │ │ model/ │ │
│ │ (核心类) │ │ (全局函数) │ │ (数据模型) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 应用业务层 │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ app/ (移动端应用) │ │ web/ (管理后台) │ │
│ │ ├─ source/ │ │ ├─ source/ │ │
│ │ └─ themes/ │ │ └─ themes/ │ │
│ └──────────────────────┘ └──────────────────────┘ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ addons/ (插件模块) │ │
│ │ └─ xsx_v3/ (小善心模块) │ │
│ └───────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 数据存储层 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ MySQL │ │ Redis缓存 │ │ 附件存储 │ │
│ │ (数据库) │ │ (可选) │ │ (图片/文件) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘3. 技术栈选型及理由
3.1 后端技术栈
| 技术/工具 | 版本 | 说明 | 选型理由 |
|---|---|---|---|
| PHP | 8.3+ | 主要开发语言 | 成熟稳定、生态丰富、社区支持好 |
| MySQL | 8.0+ | 关系型数据库 | 事务支持、索引优化、兼容性好 |
| Redis | 可选 | 缓存/会话存储 | 高性能、数据结构丰富 |
| Composer | - | 依赖管理工具 | 方便管理第三方库依赖 |
3.2 前端技术栈
| 技术/工具 | 说明 | 用途 |
|---|---|---|
| HTML/CSS/JavaScript | 基础前端技术 | 页面渲染与交互 |
| MUI | 移动端UI框架 | app端界面 |
| WeChat小程序 | 微信小程序框架 | 小程序开发 |
3.3 第三方库集成
- 腾讯云SDK:用于人脸识别等功能
- TCPDF:用于PDF文档生成
- Workerman:用于高性能网络服务
- 微信支付/支付宝支付:支付功能集成
4. 目录结构详解
php8.com/
├── addons/ # 插件模块目录
│ └── xsx_v3/ # 小善心主模块
│ ├── class/ # 模块类文件
│ ├── tcpdf/ # PDF库
│ └── module.php # 模块定义
├── api/ # API接口目录
│ └── basedata/ # 基础数据接口
├── app/ # 移动端应用目录
│ ├── common/ # 公共函数
│ ├── resource/ # 前端资源 (CSS/JS/图片)
│ ├── source/ # 业务控制器
│ │ ├── auth/ # 认证模块
│ │ ├── entry/ # 入口模块
│ │ ├── home/ # 首页模块
│ │ ├── mc/ # 会员模块
│ │ └── wxapp/ # 小程序模块
│ └── themes/ # 主题模板
├── attachment/ # 附件存储目录
│ ├── images/ # 图片
│ ├── audios/ # 音频
│ └── xsx_v3/ # 模块附件
├── data/ # 数据目录
│ ├── config.php # 系统配置文件
│ └── logs/ # 日志文件
├── docs/ # 文档目录
├── framework/ # 框架核心目录
│ ├── builtin/ # 内置模块
│ ├── class/ # 核心类库
│ │ ├── account/ # 账号类 (微信/小程序等)
│ │ ├── db.class.php # 数据库类
│ │ └── ... # 其他类
│ ├── function/ # 全局函数库
│ ├── model/ # 数据模型
│ ├── table/ # 数据表定义
│ ├── bootstrap.inc.php # 框架入口
│ ├── const.inc.php # 常量定义
│ └── version.inc.php # 版本定义
├── payment/ # 支付接口目录
│ ├── weixin/ # 微信支付
│ ├── alipay/ # 支付宝支付
│ └── ...
├── web/ # 管理后台目录
│ ├── common/ # 公共函数
│ ├── resource/ # 后台资源
│ ├── source/ # 后台控制器
│ │ ├── account/ # 账号管理
│ │ ├── mc/ # 会员管理
│ │ ├── system/ # 系统管理
│ │ └── ...
│ └── themes/ # 后台主题
├── weixin_hlwyy/ # 微信小程序代码
├── index.php # 系统入口文件
├── api.php # API入口文件
└── composer.json # Composer配置5. 核心设计模式
5.1 MVC架构
系统采用经典的MVC架构模式:
- Model(模型层):
framework/model/,负责数据操作 - View(视图层):
app/themes/和web/themes/,负责页面渲染 - Controller(控制器层):
app/source/和web/source/,负责业务逻辑
5.2 插件化设计
所有业务功能以模块(Module)形式存在于 addons/ 目录,支持动态安装、卸载、启用、禁用。
5.3 统一入口
所有请求通过 index.php 或 api.php 统一入口,由框架分发处理。
5.4 全局变量设计
$_W:系统全局变量,包含配置、用户、账号等信息$_GPC:GET/POST/COOKIE 统一变量处理
6. 数据流处理
6.1 请求处理流程
1. 用户请求 → index.php/api.php
2. 加载 bootstrap.inc.php → 初始化框架
3. 解析路由参数 (c=controller, a=action, do=do)
4. 加载对应控制器文件
5. 执行业务逻辑
6. 渲染模板或返回JSON
7. 响应输出6.2 微信消息处理流程
1. 微信服务器推送消息 → api.php
2. 验证签名 (checkSign)
3. 解析消息格式 (parse)
4. 分析消息/关键词匹配 (analyze)
5. 调用对应模块处理 (process)
6. 生成响应消息 (response)
7. 返回给微信服务器7. 扩展机制
系统提供多种扩展方式:
- 模块扩展:在
addons/下创建新模块 - 模板主题:在
themes/下创建新主题 - 支付接口:在
payment/下添加新支付方式 - 账号类型:在
framework/class/account/下添加新账号类型
下一章:模块划分
作者:周珊 创建时间:2026-05-05 22:56
最后编辑:周珊 更新时间:2026-05-05 23:04
最后编辑:周珊 更新时间:2026-05-05 23:04