ThinkAdmin
基于 ThinkPHP6&8 的极简后台管理系统,内置注解权限、异步多任务、应用插件生态等,支持类 PaaS 更新公共模块和应用插件,插件可本地化定制开发。
Install / Use
/learn @zoujingli/ThinkAdminREADME
ThinkAdmin
基于 ThinkPHP 6 & 8 的现代化后台管理系统,采用 Composer 插件定制,提供完整的后台管理解决方案。系统遵循 MIT 开源协议,专为快速开发而设计,深度定制 Composer 插件,实现专属插件生态管理架构,可将应用模块封装成独立插件包。
项目简介
ThinkAdmin 是一个功能强大的后台管理系统,基于最新的 ThinkPHP 6 & 8 框架开发,专为简化后台管理流程而设计。系统采用现代化的技术栈,提供丰富的功能模块和插件生态,帮助开发者快速构建企业级后台管理系统。
核心优势
- 🚀 快速开发 - 基于 ThinkPHP 6 & 8 框架,提供完整的后台管理功能,开箱即用
- 🔌 插件生态 - 支持 Composer 插件管理,可扩展性强,支持热插拔
- ⚡ 稳定可靠 - 经过多个项目实践验证,系统稳定,性能优异
- 🛡️ 安全完善 - 内置 RBAC 权限管理、操作日志、数据加密等安全机制
- 📚 文档齐全 - 提供完整的开发文档和使用指南,学习成本低
- 🚀 现代化架构 - 支持多应用模式、异步任务、文件存储等现代特性
适用场景
- 快速原型开发 - MVP 产品、概念验证、演示系统
- 企业管理系统 - CRM、ERP、OA、财务系统
- SaaS 平台 - 多租户应用、订阅服务、API 管理
- 学习研究 - 技术学习、框架研究、最佳实践
在线演示
- 演示地址: https://v6.thinkadmin.top
- 默认账号: admin
- 默认密码: admin
特性
- 🚀 快速开发 - 基于 ThinkPHP 6 & 8,开箱即用
- 🔌 插件生态 - 支持 Composer 插件管理,热插拔
- 💾 文件存储 - 支持多种存储方案,文件秒传
- 🔐 权限管理 - 基于注解的 RBAC 权限控制
- ⚡ 异步任务 - 多进程异步任务处理
- 🛠️ 开发工具 - 丰富的开发工具和内置函数
- 📱 响应式 - 基于 LayUI 2.x,支持多设备
- 🌐 多语言 - 支持多语言包管理
- 🔧 易扩展 - 支持自定义插件开发
环境要求
基础要求
| 组件 | 最低要求 | 推荐版本 | 说明 | |------|----------|----------|------| | PHP | 7.1+ | 8.0+ | 支持最新 PHP 特性 | | Composer | 2.0+ | 2.5+ | 包管理工具 | | 数据库 | SQLite 3 | MySQL 8.0+ | 支持多种数据库 | | Web 服务器 | PHP 内置 | Nginx/Apache | 生产环境推荐 | | 内存 | 128MB | 512MB+ | 推荐更大内存 | | 磁盘空间 | 100MB | 1GB+ | 包含依赖和文件 |
必需的 PHP 扩展
gd- 图像处理mbstring- 多字节字符串处理openssl- 加密功能pdo- 数据库抽象层curl- HTTP 客户端fileinfo- 文件类型检测json- JSON 处理zip- 压缩文件处理
环境检测
在安装前,请确保您的环境满足以下要求:
# 检查 PHP 版本
php -v
# 检查 Composer
composer -v
# 检查 PHP 扩展
php -m | grep -E "(gd|mbstring|openssl|pdo|curl|fileinfo|json|zip)"
快速开始
快速安装体验
# 创建项目(需要在英文目录下执行,默认只安装 admin 和 static 模块)
composer create-project zoujingli/thinkadmin
# 进入项目根目录
cd thinkadmin
# 数据库初始化并安装
# 默认使用 Sqlite 数据库,若使用其他数据库请修改配置后再执行
php think migrate:run
# 安装微信管理模块(可选模块)
composer require zoujingli/think-plugs-wechat
# 🚀 开启 PHP 内置 WEB 服务
# 默认后台登录账号及密码都是 admin
php think run --host 127.0.0.1
访问系统
安装完成后,打开浏览器访问系统:
| 访问地址 | 说明 | 默认账号 |
|---------|------|----------|
| http://127.0.0.1:8000 | 系统首页 | - |
| http://127.0.0.1:8000/admin | 后台管理 | admin/admin |
| http://127.0.0.1:8000/api | API 接口 | - |
首次使用指南
-
登录后台管理
- 访问
http://127.0.0.1:8000/admin - 使用默认账号
admin/admin登录
- 访问
-
修改默认密码
- 进入"系统管理" → "用户管理"
- 修改管理员密码
-
配置系统参数
- 进入"系统管理" → "系统参数配置"
- 设置网站名称、Logo 等基本信息
-
创建业务模块
- 使用代码生成器创建 CRUD 功能
- 开发自定义插件实现业务逻辑
安装 ThinkLibrary
ThinkAdmin 基于 ThinkLibrary 核心工具库,如需单独安装:
# 安装 ThinkLibrary
composer require zoujingli/think-library
# 确保控制器继承自 think\admin\Controller
class MyController extends \think\admin\Controller {
protected $dbQuery = '数据表名';
// 使用 ThinkLibrary 提供的功能
}
核心功能
🚀 自由扩展的组件生态
基于最新 ThinkPHP 框架开发,遵循 Composer 标准管理依赖组件,可自由安装各种开源组件及插件生态程序。系统将功能模块封装为独立的插件包,支持通过 Composer 进行安装和更新,让开发者可以根据项目需求选择性地安装所需的功能模块。
💾 标准化文件存储引擎
支持本地存储、自建 Alist 存储、多种云存储,基于文件 HASH 实现文件秒传,节省服务器空间。提供统一的文件存储引擎,支持多种存储方案,满足不同场景下的数据存储需求。
支持的存储方案:
- 本地服务器存储
- 自建 Alist 存储
- 七牛云空间存储
- 阿里云 OSS 存储
- 腾讯云 COS 存储
- 又拍云 USS 存储
🔐 注解 RBAC 权限管理
通过控制器方法注释实现功能节点自动生成,配合后台权限管理实现最简注解权限控制。系统实现了基于注解的简化 RBAC 权限模型,支持精确到按钮级别的权限控制。
权限系统特点:
- 注解驱动 - 通过控制器注释自动生成权限节点,简化权限配置
- 精确控制 - 权限控制精确到按钮级别,提供最大灵活性
- 自动维护 - 功能节点由系统自动维护,根据控制器代码注释进行刷新
- 动态菜单 - 根据用户权限动态显示功能菜单,支持三级菜单结构
- 操作日志 - 完整记录用户操作行为,支持安全审计
🔧 可升级 Composer 插件微架构
深度定制 Composer 插件,实现专属插件生态管理架构,可将应用模块封装成独立插件包。系统强制要求使用插件架构,所有业务功能都必须通过自定义插件实现。
⚡ 独立进程异步执行任务
兼容多平台动态创建 PHP 进程,并列启动多个独立任务进程处理大数据或长时性任务,实时显示执行进度。支持多进程异步任务处理,显著提高任务处理效率。
任务系统特性:
- 多进程架构 - 支持多进程并发执行任务,提高处理效率
- 跨平台支持 - 兼容 Windows 和 Linux 系统
- 自动监控 - 每 0.5 秒扫描任务数据表,自动执行待处理任务
- 进程管理 - 支持 START、STOP、QUERY、LISTEN 等进程管理指令
- 进度跟踪 - 支持任务完成状态跟进和进度显示
- 异常恢复 - 支持自动重启和异常处理
- 守护进程 - 支持后台守护进程模式运行
🛠️ 常用操作及工具库封装
核心组件封装各种常用 CRUD 操作及工具库,快速实现数据增删改查,后台 UI 基于最新 Layui 构建。基于 ThinkLibrary 核心工具库,提供完整的 CRUD 操作和一系列常用工具。
核心功能模块:
- 数据列表展示组件 - 展示数据列表,支持分页、排序和高级搜索
- 表单处理模块 - 用于创建、展示和提交表单数据,完善的表单验证和错误处理机制
- 数据状态快速处理模块 - 根据业务需求快速更新数据状态,支持多字段同时更新
- 数据安全删除模块 - 安全删除数据,支持软删除和硬删除
- 文件存储通用组件 - 支持多种文件存储方式,统一接口和配置
- 通用数据保存更新模块 - 基于 key 和条件判断数据存在性,进行更新或新增
- 通用网络请求模块 - 支持 GET、POST 和 PUT 请求,统一接口
- 系统参数配置模块 - 快速配置并保存系统参数
- UTF-8 加密算法支持 - 提供 UTF-8 字符串加密和解密功能
- 接口 CORS 跨域支持 - 默认支持跨域请求,输出标准化 JSON 数据
- 表单 CSRF 安全验证 - 自动为表单添加 CSRF 安全验证字段
核心功能详解
插件生态架构
基于 Composer 标准管理依赖组件,支持插件热插拔和在线升级。
<?php
namespace app\plugin\example;
use think\admin\Plugin;
class ExamplePlugin extends Plugin
{
public function install()
{
// 安装插件时的操作
$this->createTables();
$this->createMenus();
}
public function uninstall()
{
// 卸载插件时的操作
$this->dropTables();
$this->removeMenus();
}
}
注解权限管理
通过控制器方法注释实现功能节点自动生成,简化权限配置。
<?php
namespace app\admin\controller;
use think\admin\Controller;
class UserController extends Controller
{
/**
* 用户列表
* @auth true
* @menu true
*/
public function index()
{
$this->title = '用户管理';
$this->_query('SystemUser')
->like('username,nickname,phone')
->equal('status')
->dateBetween('create_at')
->order('id desc')
->page();
}
}
文件存储系统
支持多种存储方案,基于文件 HASH 实现文件秒传。
<?php
namespace app\admin\service;
use think\admin\Storage;
class FileService
{
public function upload($file, $type = 'local')
{
$storage = Storage::instance($type);
// 文件去重检查
$hash = md5_file($file->getPathname());
$exists = $this->checkFileExists($hash);
if ($exists) {
return $exists['url'];
}
// 上传文件
$result = $storage->upload($file);
return $result['url'];
}
}
异步任务系统
支持多进程异步任务处理,实时显示执行进度。
<?php
namespace app\admin\service;
use think\admin\service\QueueService;
class TaskService
{
// 注册邮件发送任务
public function sendEmail($to, $subject, $content)
{
$name = "发送邮件到 {$to}";
$command = "xadmin:service email {$to} {$subject}";
return QueueService::register($name, $command, 0);
}
}
// 邮件队列处理类
class EmailQueue extends QueueService
{
public function execute(array $data = [])
{
$this->setQueueProgress('开始发送邮件...', 10.00);
try {
// 发送邮件逻辑
$result = $this->sendMail($data['to'], $data['subject'], $data['content']);
if ($result) {
$this->setQueueProgress('邮件发送成功', 100.00);
$this->setQueueSuccess('邮件发送成功');
} else {
$this->setQueueError('邮件发送失败');
}
} catch (\Exception $e) {
$this->setQueueError('邮件发送异常: ' . $e->getMessage());
}
}
}
开发工具
基于 ThinkLibrary 核心工具库,提供完整的 CRUD 操作。
<?php
namespace app\admin\controller;
use think\admin\Controller;
class ProductController extends Controller
{
protected $dbQuery = 'Product';
public function index()
{
$this->title = '商品管理';
$this->_query($this->dbQuery)
->like('name,description')
->equal('category_id,status')
->dateBetween('create_at')
->order('id desc')
->page();
}
public function add()
{
$this->title = '添加商品';
$this->_form($this->dbQuery, 'form');
}
public function save()
{
$this->_save($this->dbQuery, $this->_vali([
'status.require' => '状态不能为空',
'status.in:0,1' => '状态值无效'
]));
}
}
技术栈
后端技术
ThinkAdmin 基于 ThinkPHP 6 & 8 框架开发,支持 PHP 7.1+ 版本,充分利用现代 PHP 特性:
- 框架版本: ThinkPHP 6 & 8 (支持最新 PHP 8.x)
- 核心依赖: ThinkLibrary v6.1+ (核心工具库)
- 插件生态: ThinkPlugsAdmin v1.0+ (后台管理)、ThinkPlugsWechat v1.0+ (微信管理)
- 数据库支持: MySQL、PostgreSQL、SQLite、SQL Server
- ORM 支持: ThinkORM 2.0+,支持模型关联、查询构建器
- 缓存系统: Redis、Memcached、文件缓存
- 队列系统: 支持异步任务处理
- 数据库迁移: 使用 Phinx 进行版本控制
- 多语言支持: 支持全局、应用、动态三种语言包类型
- 路由管理: 支持全局路由和应用路由,模块化管理
- 运行模式: 支持开发模式和生产模式切换
- 内置函数: 提供 20+ 个内置函数,简化开发流程
前端技术
前端采用现代化的技术栈,提供良好的用户体验和开发体验:
- UI 框架: LayUI 2.x (轻量级、响应式)
- 模块管理: RequireJS (按需加载)
- 图表组件: ECharts (数据可视化)
- 富文本编辑: CKEditor (内容编辑)
- 图标字体: Font Awesome (图标系统)
- 响应式设计: 支持移动端和桌面端
- 表格组件: LayUI Table 组件,支持动态高度、搜索绑定
- 表单组件: 支持自动提交、数据验证
- 弹层组件: LayUI Layer 弹层组件
- 工具函数: 内置 jQuery 扩展和工具函数
第三方集成
系统提供了丰富的第三方服务集成,支持主流云服务和平台:
- 云存储: 七牛云、阿里云 OSS、腾讯云 COS、又拍云 USS、自建 Alist 存储
- 微信生态: 公众号管理、小程序管理、微信支付、用户管理、素材管理
- 支付集成: 微信支付、支付宝等主流支付方式
- 消息推送: 邮件发送、短信发送等基础消息推送功能
插件生态
ThinkAdmin 采用 Composer 插件定制架构,提供丰富的插件生态:
核心插件
- ThinkLibrary v6.1+ - 核心工具库,提供完整的 CRUD 操作和一系列常用工具,特别注重多应用支持
- ThinkPlugsAdmin v1.0+ - 后台基础管理模块,提供用户、权限、菜单、系统配置等核心功能
- ThinkPlugsWechat v1.0+ - 微信平台管理,支持公众号、小程序、微信支付等完整功能
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
