# 企业级前后端分离中后台管理系统TruAdmin **Repository Path**: chew/truadmin ## Basic Information - **Project Name**: 企业级前后端分离中后台管理系统TruAdmin - **Description**: 企业级前后端分离中后台管理系统 - ThinkPHP 8 + React 19 + TypeScript + Arco Design - **Primary Language**: PHP - **License**: MIT - **Default Branch**: main - **Homepage**: https://gitee.com/yilianba/truadmin - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-08-20 - **Last Updated**: 2026-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TruAdmin v1.0.0 > 企业级前后端分离中后台管理系统 TruAdmin 是一套基于 **ThinkPHP 8 + React 19 + TypeScript + Arco Design** 构建的企业级中后台管理框架,开箱即用,内置用户管理、权限控制、系统配置、定时任务、Workerman WebSocket、支付渠道管理等核心模块。 ## 技术栈 | 层级 | 技术 | 版本 | |------|------|------| | 后端框架 | ThinkPHP | 8.x | | 前端框架 | React | 19 | | 类型系统 | TypeScript | 5.x | | 构建工具 | Vite | 5.x | | UI 组件库 | Arco Design | 最新版 | | 数据可视化 | VChart | 最新版 | | 数据库 | MySQL | 5.7+ / 8.x | | 缓存 | Redis | 5.0+ | | WebSocket | Workerman | 4.x | | 包管理 | Composer / npm | - | ## 核心特性 - **前后端分离** — 后端 ThinkPHP 8 提供 RESTful API,前端 React 19 + Vite 独立构建,部署到同一域名下 - **RBAC 权限** — 基于角色的菜单/按钮级权限控制,支持动态菜单树和权限码 - **Token 认证** — 数据库持久化 + Redis 缓存双写,单 Token 单点登录,自动续期 - **Workerman 集成** — WebSocket 实时通信、内部消息推送、队列消费者、定时任务调度 - **可视化管理** — Workerman 运行状态监控、队列管理、定时任务配置,全部通过后台界面操作 - **文件管理** — 内置文件管理器、素材库、分组管理,支持本地/OSS/COS 存储 - **数据备份** — 一键数据库备份/恢复/下载 - **支付集成** — 支付渠道配置、应用渠道管理、订单管理 - **响应式设计** — 现代 UI 设计,Arco Design 组件全覆盖,VChart 数据可视化 - **一键安装** — Web 安装向导,无需手动执行 SQL ## 项目结构 ``` TruAdmin/ ├── backend/ # 后端(ThinkPHP 8) │ ├── app/ │ │ ├── adminapi/ # 管理端 API │ │ │ ├── controller/ # 控制器(按模块分目录) │ │ │ ├── logic/ # 业务逻辑层 │ │ │ ├── service/ # 服务层 │ │ │ ├── validate/ # 验证器 │ │ │ ├── http/ # 中间件 │ │ │ └── route/ # 路由 │ │ └── common/ # 公共模块 │ │ ├── model/ # 数据模型 │ │ ├── service/ # 公共服务 │ │ ├── lists/ # 列表处理器 │ │ └── enum/ # 枚举 │ ├── config/ # 框架配置 │ ├── public/ # Web 根目录 │ │ ├── install/ # 安装向导 │ │ └── storage/ # 文件存储 │ ├── runtime/ # 运行时(日志/缓存) │ ├── workerman/ # Workerman 启动脚本 │ ├── .example.env # 环境配置模板 │ └── composer.json ├── frontend/ # 前端(React + Vite) │ ├── src/ │ │ ├── components/ # 通用组件 │ │ ├── pages/ # 页面(按模块分目录) │ │ ├── layouts/ # 布局组件 │ │ ├── services/ # API 调用 │ │ ├── stores/ # 状态管理 │ │ ├── utils/ # 工具函数 │ │ └── styles/ # 全局样式 │ ├── package.json │ └── vite.config.ts ├── docs/ # 文档 │ ├── api.html # API 接口文档 │ └── baota-deploy.html # 宝塔部署文档 └── .gitignore ``` ## 五层架构 后端采用五层模块化架构,每个模块独立组织: | 层级 | 职责 | 目录 | |------|------|------| | Controller | 接收请求、参数校验、返回响应 | `controller/{module}/` | | Validate | 参数规则验证 | `validate/{module}/` | | Logic | 核心业务逻辑 | `logic/{module}/` | | Service | 可复用服务 | `service/{module}/` | | Lists | 列表查询处理器 | `lists/{module}/` | ## 功能模块 | 模块 | 说明 | |------|------| | 认证管理 | 登录/退出、Token 管理、个人信息、修改密码 | | 用户管理 | 管理员 CRUD、角色分配、状态控制 | | 角色管理 | 角色 CRUD、菜单权限分配 | | 菜单管理 | 菜单树 CRUD、权限码配置 | | 部门管理 | 组织架构 CRUD | | 岗位管理 | 岗位 CRUD | | 内容管理 | 文章 CRUD、分类管理 | | 通知公告 | 公告 CRUD | | 字典管理 | 字典类型 + 字典数据 CRUD | | 素材管理 | 文件上传、分组管理 | | 文件管理 | 文件管理器(目录浏览/上传/删除/重命名) | | 系统设置 | 站点配置、存储配置、短信配置 | | 系统日志 | 操作日志、登录日志 | | Workerman | 服务状态、配置管理、启停控制 | | 队列管理 | 任务状态、失败重试、队列清理 | | 定时任务 | Cron 任务 CRUD、手动执行 | | 数据备份 | 数据库备份/恢复/下载 | | 支付渠道 | 支付配置、状态管理 | | 应用渠道 | 应用渠道配置管理 | | 订单管理 | 订单列表、详情、退款 | | 仪表盘 | 统计数据、趋势图表、快捷导航 | ## 界面展示 ### 登录页面 分屏式登录界面,左侧品牌展示区搭配渐变蓝背景与插画,右侧简洁登录表单。 ![登录页面](docs/images/login.png) ### 仪表盘 统计卡片、快捷导航、近7日趋势图表、版本信息与客服入口一览。 ![仪表盘](docs/images/dashboard.png) ### 应用渠道管理 专业卡片式布局,支持 H5、微信公众号、微信小程序、抖音小程序、iOS、Android 多渠道配置。 ![应用渠道管理](docs/images/channels.png) ## 快速开始 ### 环境要求 - PHP 8.0+ - MySQL 5.7+ - Redis 5.0+ - Node.js 18+ - Composer 2.x ### 后端安装 ```bash cd backend composer install cp .example.env .env # 编辑 .env 配置数据库和 Redis ``` ### 前端构建 ```bash cd frontend npm install npm run dev # 开发模式 npm run build # 生产构建(输出到 backend/public/admin/) ``` ### 启动 Workerman ```bash cd backend php workerman/start.php start -d ``` ### 运行安装向导 访问 `http://你的域名/install/`,按向导完成安装。 ## 部署 ### 宝塔面板部署 参考 [宝塔面板部署文档](docs/baota-deploy.html),包含完整的 LNMP 配置、Nginx 配置、Supervisor 进程守护等步骤。 ### Nginx 配置要点 ``` root 指向 backend/public/ /admin/ → 前端 SPA 静态资源 /adminapi/ → 后端 API(rewrite 到 index.php) /ws → Workerman WebSocket 反向代理 ``` ## API 文档 完整的 API 接口文档见 [API 接口文档](docs/api.html),涵盖 22 个模块、113 个接口。 ## 安全建议 - 生产环境关闭 `APP_DEBUG` - 删除 `public/install/` 安装目录 - Redis 和 MySQL 仅监听 127.0.0.1 - 配置 SSL 证书,开启强制 HTTPS - Workerman 绑定 127.0.0.1,不暴露 0.0.0.0 ## 开源协议 MIT License ## 链接 - [Gitee 仓库](https://gitee.com/yilianba/truadmin) - [API 文档](docs/api.html) - [部署文档](docs/baota-deploy.html) - [ThinkPHP 8 文档](https://doc.thinkphp.cn/v8_0.html) - [Arco Design 文档](https://arco.design/react/)