SkillAgentSearch skills...

ThinkAdmin

基于 ThinkPHP6&8 的极简后台管理系统,内置注解权限、异步多任务、应用插件生态等,支持类 PaaS 更新公共模块和应用插件,插件可本地化定制开发。

Install / Use

/learn @zoujingli/ThinkAdmin
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ThinkAdmin

Latest Stable Version Total Downloads Monthly Downloads Daily Downloads License PHP Version ThinkPHP

基于 ThinkPHP 6 & 8 的现代化后台管理系统,采用 Composer 插件定制,提供完整的后台管理解决方案。系统遵循 MIT 开源协议,专为快速开发而设计,深度定制 Composer 插件,实现专属插件生态管理架构,可将应用模块封装成独立插件包。

项目简介

ThinkAdmin 是一个功能强大的后台管理系统,基于最新的 ThinkPHP 6 & 8 框架开发,专为简化后台管理流程而设计。系统采用现代化的技术栈,提供丰富的功能模块和插件生态,帮助开发者快速构建企业级后台管理系统。

核心优势

  • 🚀 快速开发 - 基于 ThinkPHP 6 & 8 框架,提供完整的后台管理功能,开箱即用
  • 🔌 插件生态 - 支持 Composer 插件管理,可扩展性强,支持热插拔
  • ⚡ 稳定可靠 - 经过多个项目实践验证,系统稳定,性能优异
  • 🛡️ 安全完善 - 内置 RBAC 权限管理、操作日志、数据加密等安全机制
  • 📚 文档齐全 - 提供完整的开发文档和使用指南,学习成本低
  • 🚀 现代化架构 - 支持多应用模式、异步任务、文件存储等现代特性

适用场景

  • 快速原型开发 - MVP 产品、概念验证、演示系统
  • 企业管理系统 - CRM、ERP、OA、财务系统
  • SaaS 平台 - 多租户应用、订阅服务、API 管理
  • 学习研究 - 技术学习、框架研究、最佳实践

在线演示

特性

  • 🚀 快速开发 - 基于 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 接口 | - |

首次使用指南

  1. 登录后台管理

    • 访问 http://127.0.0.1:8000/admin
    • 使用默认账号 admin / admin 登录
  2. 修改默认密码

    • 进入"系统管理" → "用户管理"
    • 修改管理员密码
  3. 配置系统参数

    • 进入"系统管理" → "系统参数配置"
    • 设置网站名称、Logo 等基本信息
  4. 创建业务模块

    • 使用代码生成器创建 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 操作和一系列常用工具。

核心功能模块:

  1. 数据列表展示组件 - 展示数据列表,支持分页、排序和高级搜索
  2. 表单处理模块 - 用于创建、展示和提交表单数据,完善的表单验证和错误处理机制
  3. 数据状态快速处理模块 - 根据业务需求快速更新数据状态,支持多字段同时更新
  4. 数据安全删除模块 - 安全删除数据,支持软删除和硬删除
  5. 文件存储通用组件 - 支持多种文件存储方式,统一接口和配置
  6. 通用数据保存更新模块 - 基于 key 和条件判断数据存在性,进行更新或新增
  7. 通用网络请求模块 - 支持 GET、POST 和 PUT 请求,统一接口
  8. 系统参数配置模块 - 快速配置并保存系统参数
  9. UTF-8 加密算法支持 - 提供 UTF-8 字符串加密和解密功能
  10. 接口 CORS 跨域支持 - 默认支持跨域请求,输出标准化 JSON 数据
  11. 表单 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

View on GitHub
GitHub Stars2.3k
CategoryDevelopment
Updated9d ago
Forks841

Languages

PHP

Security Score

100/100

Audited on Mar 24, 2026

No findings