📖 项目介绍

ThinkAdmin 是一个基于 ThinkPHP 框架构建的后台管理开发框架,遵循 MIT 协议开源。当前核心依赖兼容 ThinkPHP 6ThinkPHP 8,项目从 2014 年维护至今,围绕后台权限、菜单、配置、文件、任务、存储和插件化扩展提供基础能力,适合快速搭建可持续维护的管理后台。

🚀 核心特点

  • 注解式权限管理: 通过控制器方法注释扫描功能节点,配合后台权限管理实现到操作按钮的权限控制
  • 插件化架构: 深度定制 Composer 插件,实现专属插件生态管理架构,可将应用模块封装成独立插件包
  • 异步任务处理: 兼容多平台动态创建 PHP 进程,可并列启动多个独立任务进程处理大数据或长时性任务,任务创建后立即返回编号,并通过后台监听进程调度执行和显示进度
  • 标准化存储引擎: 支持本地存储、自建 Alist 存储、多种云存储,基于文件 HASH 实现文件秒传,节省服务器空间,支持 CDN 加速
  • 现代化架构: 兼容 ThinkPHP 6/8,依托 Composer 包、ThinkPHP 服务和 ThinkAdmin 插件机制组织核心能力
  • 快速开发: 封装常用 CRUD 操作及工具库,提供内置函数库,帮助快速实现数据增删改查
  • 安全可靠: 提供表单令牌校验、文件上传安全封装和后台操作日志等基础安全能力
  • 易于扩展: 遵循 Composer 标准管理依赖组件,可自由安装各种开源组件及插件生态程序

✨ 项目优点

🚀 开发效率优势

  • 快速搭建: 提供后台管理基础模块,便于在标准环境中快速完成初始系统搭建
  • 代码简化: 丰富的内置函数库,可在系统任意位置直接调用,无需引入类或命名空间,显著简化代码
  • 快速开发: 封装常用 CRUD 操作、表单处理、数据状态更新等模块,快速实现数据增删改查
  • 节点扫描: 根据控制器注释扫描功能节点,减少权限节点维护工作
  • 工具丰富: 提供数据列表展示、表单处理、数据安全删除、通用数据保存更新等常用工具

🏗️ 技术架构优势

  • 现代化框架: 当前核心包声明兼容 ThinkPHP 6/8,并保留原生 ThinkPHP 生态支持
  • 生态兼容: 完全兼容原生 ThinkPHP 生态,显著降低编码复杂性和成本
  • 插件化设计: 深度定制 Composer 插件,实现专属插件生态管理架构,模块可封装成独立插件包
  • 标准规范: 遵循 Composer 标准管理依赖组件,支持灵活的扩展和定制
  • 多应用支持: 特别注重多应用支持,方便开发者使用

🔐 安全与权限优势

  • 精确权限控制: 基于简化的 RBAC 模型,权限控制精确到按钮级别,提供更大的灵活性
  • 安全验证: 控制器可通过 _applyFormToken() 启用表单令牌验证,渲染表单时写入 _token_ 隐藏字段
  • 文件安全: 文件上传封装支持后缀限制、文件名处理、常见可执行后缀拦截和本地图片基础检查
  • 身份验证: 上传接口要求后台登录会话或有效上传令牌
  • 数据安全: 删除逻辑会优先识别 deletedis_deleted 等字段做标记删除,否则执行物理删除

💾 存储与性能优势

  • 多存储方案: 支持本地服务器存储、自建 Alist 存储,以及与七牛云、又拍云、阿里云、腾讯云等主流云服务商的对象存储服务无缝对接
  • 文件秒传: 基于文件 HASH 实现文件秒传,节省服务器空间和带宽
  • CDN 加速: 支持 CDN 加速,确保数据的高效传输和快速访问
  • 高性能: 提供高性能的运行效率,内置函数经过优化,性能更好
  • 异步处理: 异步任务处理机制,能够并行处理多个任务,提升系统处理能力

🌐 功能特性优势

  • 多语言支持: 基于 ThinkPHP 语言包机制,内置英文、繁体语言包并支持数据字典扩展
  • 后台界面: 后台基于 LayUI 与 RequireJS 构建,适合桌面端管理场景
  • 实时反馈: 异步任务实时显示执行进度,提升用户体验
  • 接口支持: 控制器默认输出标准 JSON 结构,并提供可配置的 CORS 响应头处理
  • 配置灵活: 支持后台动态配置存储和运行参数,系统参数保存后会清理配置缓存并记录操作日志

📚 文档与生态优势

  • 文档完善: 提供完善的开发文档,帮助开发者快速上手
  • 插件生态: 丰富的插件生态系统,可自由安装各种开源组件及插件生态程序
  • 社区支持: 活跃的社区支持,提供问题反馈和技术支持渠道
  • 持续更新: 致力于不断推出新模块和辅助模块,以丰富和提升框架功能
  • 持续维护: 项目长期维护,适合需要二次开发和插件扩展的后台项目

⚠️ 重要提示

免责声明: 在使用 ThinkAdmin 之前,请务必阅读《免责声明》并同意相关条款。

📋 版本历程

ThinkAdmin 历经 10 年的版本积累,从 2014 年维护更新至今,已发展成为成熟稳定的后台管理框架。ThinkAdmin v6 是基于 v1v5 大版本深厚积累的重构之作。在历经数次重大调整后,当前实现以 ThinkPHP 6/8 兼容为基础,保留原生 ThinkPHP 生态支持,并将后台、微信、支付、商城等能力拆分为 Composer 插件包。

经过严格的实践与测试,v6.1 版本展现出卓越的稳定性和可靠性。为确保系统能够满足各种复杂场景的需求,我们持续优化和调整。目前,系统模块和微信模块均已达到高稳定水平。为保证用户的使用体验和数据安全,我们将系统管理(app/admin)和微信管理(app/wechat)作为核心模块,并以 MIT 协议进行发布。

💡 应用场景

ThinkAdmin 提供基础组件和 API 支持,助力快速开发各类 WEB 应用。框架免费提供基础功能,涵盖系统权限管理、存储配置、微信授权管理以及常用功能集成等,适合外包项目、企业后台和插件化业务模块开发。

我们致力于不断推出新模块和辅助模块,以丰富和提升 ThinkAdmin 的功能。请保持关注,期待后续的更新和发布!

🛠️ 技术栈

后端技术

  • PHP 框架: ThinkPHP 6/8(核心包 topthink/framework 声明为 ^6.0|^8.0
  • 核心组件: ThinkLibrary - 封装了众多常用操作和多应用组件,完全兼容原有的 ThinkPHP 生态,显著降低了编码的复杂性和成本
  • UI 框架: LayUI + RequireJs - 后台界面基于最新版本的 LayUI 前端框架和 RequireJs 组件加载方式,默认加载所有 LayUI 组件,开发者可直接使用

扩展组件

  • 微信开发: WechatDeveloper 组件覆盖微信公众号、小程序、企业微信和微信商户支付等常用能力,并集成 QRcode 二维码生成工具
  • 文件存储: 支持本地服务器存储、自建 Alist 存储,以及与七牛云、又拍云、阿里云和腾讯云等主流云服务商的对象存储服务无缝对接,并支持 CDN 加速
  • 异步任务: 自带异步任务处理机制,能够并行处理多个任务;任务创建后立即返回编号,后台监听进程每轮至少约 1 秒扫描待执行任务,兼容 WindowsLinux 平台

💡 开发提示: 使用 ThinkAdmin 需要具备一定的开发技能,包括 ThinkPHPjQueryLayUIRequireJs。使用 RequireJs 可以方便地加载和管理插件,互联网上有丰富的资源可供下载并进行二次扩展。

⚠️ 升级提示: 为确保未来的功能和安全升级,强烈建议不要占用或修改 app/adminapp/wechat 两个目录及代码。所有未来的功能和安全更新将通过 Composer 进行管理和发布。请确保您的项目遵循这一规则,以便顺利享受未来的升级服务。

演示地址

https://v6.thinkadmin.top

在线体验的账号和密码都是 admin

注意: 体验环境部分数据不能保存,需自行安装再测试!

开源代码

目前主库存放在 GiteeGithub 为镜像仓库,不要吝啬你的小星星哦!

Anyon/ThinkAdmin

问题反馈

推荐在 GiteeIssue 提交反馈问题,回复响应速度最快。

技术支持

强烈推荐加入微信群,目前 QQ 群不常用,由热心群友维护。

由于近期加群发广告的人较多,已严重影响社区技术交流,因此在添加好友时会询问一些问题,我们会根据情况决定是否邀请入群,若有处置不周望请予以谅解! 添加好友后建议不要删除此微信账号。在使用我们的框架开发遇到问题可以直接咨询该微信,若有需要还可以提供有偿技术支持和定制服务。

  • QQ 免费交流群 ① : 513350915
  • QQ 免费交流群 ② : 866345568
  • 微信免费交流群:加群需要验证基本信息,需要适当写明加群原因。
最近更新:
Contributors: 邹景立, Anyon