架构说明

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.phpapi.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