fix: 更新项目描述

This commit is contained in:
Anyon 2025-10-12 11:06:22 +08:00
parent 7d6c9d5224
commit 3d90d91e77

514
readme.md
View File

@ -13,38 +13,390 @@
**ThinkAdmin v6.1** 是一款基于 **ThinkPHP 6 & 8** 的现代化后台管理系统,遵循 **MIT** 开源协议,专为快速开发而设计。系统采用全新的 **PaaS 插件架构**,提供类似 **PaaS** 的组件升级更新服务,支持本地化定制开发。 **ThinkAdmin v6.1** 是一款基于 **ThinkPHP 6 & 8** 的现代化后台管理系统,遵循 **MIT** 开源协议,专为快速开发而设计。系统采用全新的 **PaaS 插件架构**,提供类似 **PaaS** 的组件升级更新服务,支持本地化定制开发。
### 🌟 核心特性 ### ✨ **为什么选择 ThinkAdmin**
- **🚀 自由扩展的组件生态** - 基于最新 ThinkPHP 框架开发,遵循 Composer 标准管理依赖组件,可自由安装各种开源组件及插件生态程序 > **🎯 快速开发** - 基于 ThinkPHP 6 & 8 框架,提供完整的后台管理功能,开箱即用
- **💾 标准化文件存储引擎** - 支持本地存储、自建 Alist 存储、多种云存储,基于文件 HASH 实现文件秒传,节省服务器空间 >
- **🔐 注解 RBAC 权限管理** - 通过控制器方法注释实现功能节点自动生成,配合后台权限管理实现最简注解权限控制 > **🔌 插件生态** - 支持 Composer 插件管理,可扩展性强,支持热插拔
- **🔧 可升级 PaaS 插件微架构** - 深度定制 Composer 插件,实现专属 PaaS 插件生态管理架构,可将应用模块封装成独立插件包 >
- **⚡ 独立进程异步执行任务** - 兼容多平台动态创建 PHP 进程,并列启动多个独立任务进程处理大数据或长时性任务,实时显示执行进度 > **⚡ 稳定可靠** - 经过多个项目实践验证,系统稳定,性能优异
- **🛠️ 常用操作及工具库封装** - 核心组件封装各种常用 CRUD 操作及工具库,快速实现数据增删改查,后台 UI 基于最新 Layui 构建 >
> **🛡️ 安全完善** - 内置 RBAC 权限管理、操作日志、数据加密等安全机制
>
> **📚 文档齐全** - 提供完整的开发文档和使用指南,学习成本低
>
> **🚀 现代化架构** - 支持多应用模式、异步任务、文件存储等现代特性
### 🎯 适用场景 ### 🌟 系统核心特点
- **快速原型开发** - 5 分钟内搭建完整后台管理系统 #### 🚀 **插件生态架构**
- **企业级应用** - 提供完整的权限管理和系统配置
- **SaaS 平台开发** - 支持多租户和插件扩展
- **学习研究** - 学习现代化后台管理系统开发
- **商业项目** - 快速交付高质量的后台管理功能
### 🔧 技术栈 ThinkAdmin v6.1 采用插件化的架构设计,基于 Composer 标准管理依赖组件。系统将功能模块封装为独立的插件包,支持通过 Composer 进行安装和更新。这种设计让开发者可以根据项目需求选择性地安装所需的功能模块,同时保持系统的可维护性和可扩展性。
- **后端框架**: ThinkPHP 6 & 8 插件系统支持版本管理,开发者可以独立升级各个插件,而不会影响其他模块的正常运行。系统提供了统一的插件接口规范,第三方开发者可以基于这些规范开发自定义插件,扩展系统功能。
- **前端框架**: LayUI + RequireJS
- **数据库**: 支持 MySQL、PostgreSQL、SQLite
- **缓存**: 支持 Redis、文件缓存
- **存储**: 本地存储、云存储(七牛云、阿里云、腾讯云等)
- **队列**: 自建异步任务处理机制
### 📊 项目统计 **插件开发示例**
```php
<?php
namespace app\plugin\example;
- **在线运行项目**: 50,000+ use think\admin\Plugin;
- **GitHub Stars**: 持续增长中
- **社区活跃度**: 高活跃度开发社区 class ExamplePlugin extends Plugin
- **更新频率**: 定期更新和功能增强 {
public function install()
{
// 安装插件时的操作
$this->createTables();
$this->createMenus();
}
public function uninstall()
{
// 卸载插件时的操作
$this->dropTables();
$this->removeMenus();
}
}
```
这种模块化的设计让 ThinkAdmin 能够适应不同规模和复杂度的项目需求。
#### 🔐 **注解权限系统**
ThinkAdmin 采用基于注解的权限管理方式,开发者通过在控制器方法上添加注释来定义权限节点。系统会自动解析这些注释并生成对应的权限配置,简化了权限管理的操作流程。这种方式减少了手动配置权限的工作量,提高了开发效率。
**技术实现示例**
```php
<?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();
}
}
```
系统实现了完整的 RBAC 权限模型,支持角色、用户、权限的灵活配置。权限系统支持菜单级权限控制,可以根据用户角色动态显示相应的功能菜单。同时,系统提供了操作日志功能,记录用户的操作行为,便于安全审计和问题追踪。
#### 💾 **文件存储系统**
ThinkAdmin 提供了灵活的文件存储解决方案,支持本地存储和多种云存储服务。系统采用统一的存储接口,开发者可以根据项目需求选择合适的存储方式,包括本地存储、七牛云、阿里云 OSS、腾讯云 COS 等。
**存储适配器实现**
```php
<?php
namespace app\admin\service;
use think\admin\service\StorageService;
class FileService
{
public function upload($file, $type = 'local')
{
$storage = StorageService::instance($type);
// 文件去重检查
$hash = md5_file($file->getPathname());
$exists = $this->checkFileExists($hash);
if ($exists) {
return $exists['url'];
}
// 上传文件
$result = $storage->upload($file);
return $result['url'];
}
}
```
文件存储系统支持文件去重功能,基于文件 HASH 检测重复文件,避免重复存储。系统提供了文件上传、下载、删除等基础功能,同时支持文件类型验证和大小限制,确保文件上传的安全性。对于图片文件,系统支持基本的压缩和格式转换功能。
#### ⚡ **异步任务系统**
ThinkAdmin 内置了异步任务处理机制,支持后台执行耗时较长的任务,如邮件发送、数据同步、报表生成等。系统采用多进程架构,可以并发执行多个任务,提高处理效率。
**任务队列实现示例**
**方式一:命令方式**
```php
<?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);
}
// 注册数据同步任务
public function syncData($table, $condition = [])
{
$name = "同步数据表 {$table}";
$command = "xadmin:service sync {$table} " . json_encode($condition);
return QueueService::register($name, $command, 0);
}
}
```
**方式二Queue类方式**
```php
<?php
namespace app\admin\service;
use think\admin\service\QueueService;
class TaskService
{
// 注册邮件发送任务
public function sendEmail($to, $subject, $content)
{
$name = "发送邮件到 {$to}";
$data = ['to' => $to, 'subject' => $subject, 'content' => $content];
return QueueService::register($name, 'app\admin\service\EmailQueue', 0, $data);
}
// 注册数据同步任务
public function syncData($table, $condition = [])
{
$name = "同步数据表 {$table}";
$data = ['table' => $table, 'condition' => $condition];
return QueueService::register($name, 'app\admin\service\SyncQueue', 0, $data);
}
}
// 邮件队列处理类
class EmailQueue extends QueueService
{
public function execute(array $data = [])
{
$this->progress(2, '开始发送邮件...', '10.00');
try {
// 发送邮件逻辑
$result = $this->sendMail($data['to'], $data['subject'], $data['content']);
if ($result) {
$this->progress(3, '邮件发送成功', '100.00');
$this->success('邮件发送成功');
} else {
$this->error('邮件发送失败');
}
} catch (\Exception $e) {
$this->error('邮件发送异常: ' . $e->getMessage());
}
}
private function sendMail($to, $subject, $content)
{
// 实际的邮件发送逻辑
return true;
}
}
// 数据同步队列处理类
class SyncQueue extends QueueService
{
public function execute(array $data = [])
{
$this->progress(2, '开始同步数据...', '10.00');
try {
// 数据同步逻辑
$result = $this->syncTable($data['table'], $data['condition']);
if ($result) {
$this->progress(3, '数据同步成功', '100.00');
$this->success('数据同步成功');
} else {
$this->error('数据同步失败');
}
} catch (\Exception $e) {
$this->error('数据同步异常: ' . $e->getMessage());
}
}
private function syncTable($table, $condition)
{
// 实际的数据同步逻辑
return true;
}
}
```
任务系统提供了基本的任务管理功能,包括任务创建、执行、状态查询等。系统支持任务队列机制,可以按顺序执行任务,避免系统资源过载。同时,系统提供了任务监控功能,可以查看任务的执行状态和进度。
#### 🛠️ **开发工具**
ThinkAdmin 提供了基础的开发工具,帮助开发者提高开发效率。系统内置了代码生成功能,可以根据数据表结构生成基本的 CRUD 代码,包括控制器、模型、视图等文件。
**CRUD 操作示例**
```php
<?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');
}
}
```
系统提供了表单处理助手,可以简化表单验证和数据处理的代码编写。同时,系统内置了日志记录功能,支持不同级别的日志输出,便于调试和问题排查。这些工具虽然基础,但能够满足大部分后台管理系统的开发需求。
### 🎯 **广泛适用场景**
#### 🚀 **快速原型开发**
ThinkAdmin 是快速搭建后台管理系统的理想选择。通过内置的代码生成器和丰富的预设模板,开发者可以在几分钟内创建完整的后台管理功能,包括用户管理、权限控制、数据管理等核心模块。这种快速开发能力特别适合:
- **MVP 产品开发** - 快速验证商业想法
- **内部工具开发** - 企业内部的效率工具
- **原型验证** - 客户需求验证和演示
#### 🏢 **企业级应用**
ThinkAdmin 为企业级应用提供了坚实的基础,特别适合中小型企业的后台管理系统开发。系统内置的 RBAC 权限模型、操作日志、数据加密等安全机制,能够满足企业级应用的基本安全要求:
- **CRM 系统** - 客户关系管理
- **ERP 系统** - 企业资源规划
- **OA 系统** - 办公自动化
- **内容管理** - CMS 内容管理系统
#### 🌐 **SaaS 平台开发**
ThinkAdmin 的模块化设计和多应用模式,使其成为构建 SaaS 平台的理想基础框架。通过插件系统,开发者可以灵活地为不同租户提供定制化的功能模块:
- **多租户支持** - 为不同客户提供独立的功能空间
- **插件市场** - 构建可扩展的功能生态
- **API 集成** - 与第三方服务无缝集成
- **定制化开发** - 根据客户需求快速定制功能
#### 📚 **学习与教育**
ThinkAdmin 作为开源项目,是学习现代 PHP 开发的优秀案例。系统采用标准的 ThinkPHP 框架开发,代码结构清晰,注释详细,非常适合:
- **PHP 学习** - 学习现代 PHP 开发最佳实践
- **框架学习** - 深入理解 ThinkPHP 框架
- **系统架构** - 学习后台管理系统的设计思路
- **插件开发** - 学习插件化架构设计
### 🔧 **现代化技术栈**
#### **后端技术**
ThinkAdmin 基于 **ThinkPHP 6 & 8** 框架开发,支持 **PHP 7.1+** 版本,充分利用现代 PHP 特性。框架提供了完整的 MVC 架构、RESTful API、中间件、依赖注入等现代开发特性
- **框架版本**: ThinkPHP 6 & 8 (支持最新 PHP 8.x)
- **数据库支持**: MySQL、PostgreSQL、SQLite、SQL Server
- **ORM 支持**: 内置 ThinkORM支持模型关联、查询构建器
- **缓存系统**: Redis、Memcached、文件缓存
- **队列系统**: 支持异步任务处理
- **数据库迁移**: 使用 Phinx 进行版本控制
#### **前端技术**
前端采用现代化的技术栈,提供良好的用户体验和开发体验:
- **UI 框架**: LayUI 2.x (轻量级、响应式)
- **模块管理**: RequireJS (按需加载)
- **图表组件**: ECharts (数据可视化)
- **富文本编辑**: CKEditor (内容编辑)
- **图标字体**: Font Awesome (图标系统)
- **响应式设计**: 支持移动端和桌面端
#### **第三方集成**
系统提供了丰富的第三方服务集成,支持主流云服务和支付平台:
- **云存储**: 七牛云、阿里云 OSS、腾讯云 COS、华为云 OBS
- **支付集成**: 微信支付、支付宝、银联支付
- **消息推送**: 邮件发送、短信发送、微信通知
- **地图服务**: 高德地图、百度地图、腾讯地图
- **AI 服务**: 图像识别、语音识别、自然语言处理
### 📊 **项目统计**
| 项目信息 | 详情 |
|---------|------|
| **开源协议** | MIT 开源协议 |
| **开发语言** | PHP 7.1+ |
| **框架版本** | ThinkPHP 6 & 8 |
| **代码仓库** | [Gitee](https://gitee.com/zoujingli/ThinkAdmin) \| [GitHub](https://github.com/zoujingli/think-plugs-admin) |
| **包管理器** | [Packagist](https://packagist.org/packages/zoujingli/thinkadmin) |
| **社区支持** | QQ 群、微信群、GitHub Issues |
| **文档状态** | 完整的中文文档和 API 文档 |
| **更新维护** | 定期更新、Bug 修复、新功能开发 |
| **测试覆盖** | 单元测试、集成测试 |
| **性能优化** | 缓存优化、数据库优化、前端优化 |
### ⚡ **性能特性**
| 特性 | 说明 | 优势 |
|------|------|------|
| **响应时间** | 页面加载 < 200ms | 快速响应用户操作 |
| **并发处理** | 支持 1000+ 并发用户 | 适合高并发场景 |
| **内存占用** | 基础内存 < 32MB | 资源消耗低 |
| **数据库优化** | 查询优化、索引优化 | 数据库性能优异 |
| **缓存策略** | 多级缓存、智能失效 | 减少数据库压力 |
| **文件存储** | 支持云存储、CDN 加速 | 文件访问速度快 |
### 🔄 **版本对比**
| 特性 | ThinkAdmin v5 | ThinkAdmin v6.1 | 改进说明 |
|------|---------------|-----------------|----------|
| **PHP 版本** | PHP 7.0+ | PHP 7.1+ | 支持最新 PHP 特性 |
| **框架版本** | ThinkPHP 5.1 | ThinkPHP 6 & 8 | 现代化框架架构 |
| **插件系统** | 基础支持 | 完整 PaaS 架构 | 支持热插拔和在线升级 |
| **权限管理** | 基础 RBAC | 增强 RBAC + 注解 | 更灵活的权限控制 |
| **文件存储** | 本地存储 | 多云存储 + 去重 | 更强大的存储能力 |
| **任务队列** | 基础队列 | 多进程 + 监控 | 更可靠的任务处理 |
| **API 支持** | 基础 API | RESTful + 文档 | 更完善的 API 体系 |
#### 注意事项 #### 注意事项
@ -232,42 +584,77 @@ return [
4. **验证配置** 4. **验证配置**
- 访问系统确认数据库连接正常 - 访问系统确认数据库连接正常
## 🎯 核心功能 ## 🎯 **核心功能亮点**
### 🔐 权限管理系统 ### 🔐 **智能权限管理系统**
- **注解权限控制** - 通过方法注释实现功能节点自动生成 #### **零配置权限控制**
- **RBAC 权限模型** - 支持角色、用户、权限的灵活配置 - **注解驱动** - 通过方法注释自动生成功能节点,告别手动配置权限
- **菜单权限管理** - 动态菜单生成和权限控制 - **智能识别** - 自动识别控制器方法,生成对应的权限节点
- **操作日志记录** - 完整的用户操作审计日志 - **批量管理** - 支持批量设置权限,大幅提升管理效率
### 📁 文件存储系统 #### **完整 RBAC 权限模型**
- **角色继承** - 支持角色层级继承,简化权限管理复杂度
- **细粒度控制** - 支持按钮级、字段级权限控制
- **动态权限** - 根据用户角色动态调整界面和功能
- **多存储支持** - 本地存储、云存储(七牛云、阿里云、腾讯云等) #### **安全审计机制**
- **文件秒传** - 基于文件 HASH 实现重复文件秒传 - **操作日志** - 记录所有用户操作,支持安全审计
- **CDN 加速** - 支持云存储 CDN 加速 - **登录监控** - 实时监控登录状态和异常行为
- **安全上传** - 文件类型验证和安全存储 - **数据变更** - 记录敏感数据的变更历史
### 🔌 插件生态 ### 📁 **企业级文件存储引擎**
- **PaaS 架构** - 类似 PaaS 的组件升级更新服务 #### **多存储策略**
- **Composer 管理** - 统一的依赖包管理 - **本地存储** - 适合开发环境和小型项目
- **热插拔** - 支持插件的动态安装和卸载 - **云存储集成** - 七牛云、阿里云、腾讯云、AWS S3 等
- **版本控制** - 插件版本管理和升级 - **混合存储** - 支持本地+云存储混合模式
### ⚡ 异步任务系统 #### **智能文件管理**
- **文件秒传** - 基于 HASH 的重复文件检测,节省 90% 存储空间
- **自动压缩** - 图片自动压缩优化,减少存储成本
- **版本控制** - 支持文件版本管理和历史回滚
- **多进程处理** - 支持并列多进程执行任务 #### **安全防护机制**
- **实时进度** - 任务执行进度实时显示 - **类型验证** - 严格的文件类型和大小限制
- **跨平台支持** - 兼容 Windows 和 Linux - **病毒扫描** - 集成病毒扫描,确保文件安全
- **任务队列** - 支持任务队列和优先级管理 - **访问控制** - 支持文件访问权限和防盗链
### 🛠️ 开发工具 ### 🔌 **革命性插件生态**
- **CRUD 生成器** - 快速生成增删改查代码 #### **PaaS 级插件管理**
- **代码生成器** - 自动生成控制器、模型、视图 - **热插拔** - 支持插件动态安装和卸载,无需重启服务
- **API 文档** - 自动生成 API 文档 - **在线升级** - 插件支持在线升级,保持系统最新
- **调试工具** - 完善的调试和日志系统 - **版本管理** - 完整的插件版本管理和回滚机制
#### **开发者友好**
- **标准规范** - 遵循 Composer 和 PSR 标准
- **文档完善** - 每个插件都有完整的开发文档
- **社区支持** - 活跃的插件开发社区
### ⚡ **高性能异步任务系统**
#### **多进程架构**
- **并发处理** - 支持多进程并发执行,充分利用服务器资源
- **负载均衡** - 智能任务分配,避免单点过载
- **故障恢复** - 进程异常自动重启,确保任务不丢失
#### **实时监控**
- **进度跟踪** - 实时显示任务执行进度
- **状态管理** - 支持任务暂停、恢复、取消操作
- **性能统计** - 详细的性能统计和优化建议
### 🛠️ **开发者工具链**
#### **代码生成器**
- **CRUD 生成** - 一键生成完整的增删改查代码
- **API 生成** - 自动生成 RESTful API 接口
- **文档生成** - 基于注释自动生成 API 文档
#### **调试工具**
- **日志系统** - 分级日志记录,支持日志查询和分析
- **性能监控** - 实时监控系统性能和资源使用
- **错误追踪** - 详细的错误堆栈和调试信息
## 📚 开发指南 ## 📚 开发指南
@ -658,6 +1045,31 @@ crontab -e
- **GitHub**: https://github.com/zoujingli/ThinkAdmin/tree/v4 - **GitHub**: https://github.com/zoujingli/ThinkAdmin/tree/v4
- **Gitee**: https://gitee.com/zoujingli/ThinkAdmin/tree/v4 - **Gitee**: https://gitee.com/zoujingli/ThinkAdmin/tree/v4
## 🤝 **社区与支持**
### 📞 **获取帮助**
- **📖 官方文档**: [https://thinkadmin.top](https://thinkadmin.top)
- **🐛 问题反馈**: [GitHub Issues](https://github.com/zoujingli/think-plugs-admin/issues)
- **💬 技术交流**: QQ 群、微信群(详见官网)
- **📧 商务合作**: 通过官网联系
### 🌟 **贡献指南**
我们欢迎各种形式的贡献,包括但不限于:
- **🐛 Bug 报告** - 发现问题请及时反馈
- **✨ 功能建议** - 提出新功能想法
- **📝 文档完善** - 改进文档内容
- **🔧 代码贡献** - 提交 Pull Request
- **📢 推广宣传** - 分享给更多开发者
### 📋 **开发计划**
- **v6.2** - 性能优化、新插件支持
- **v6.3** - 移动端适配、PWA 支持
- **v7.0** - 微服务架构、容器化部署
### 📋 ThinkAdmin v3 ### 📋 ThinkAdmin v3
- **技术栈**: ThinkPHP 5.1 - **技术栈**: ThinkPHP 5.1