ThinkAdmin icon indicating copy to clipboard operation
ThinkAdmin copied to clipboard

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

大道至简 · 原生框架

近期 Github 网络访问不稳定,项目主库已迁移到 Gitee 仓库

注意:Github 仓库不会经常更新,获取最新源码请访问 Gitee 仓库

Gitee 仓库地址:https://gitee.com/zoujingli/ThinkAdmin

非常感谢大家一直以来对ThinkAdmin的支持,ThinkAdminv1v6经历了几次大的调整,但总体都是基于ThinkPHP最新版本为核心在开发,以微信领域及最简后台为目标在设计。

由于现有功能并不能满足所有项目的需求,ThinkAdmin只做基础底层的开发,这里包括系统权限管理,系统存储配置,微信授权管理,以及常用功能集成等…… 因此ThinkAdmin也被定性为外包二开基线项目,目前已经有许多公司及个人在使用。

ThinkAdmin v6 基于v1-v5版本的积累,结合ThinkPHP 6.0的思维重新构建,减少大量原非必需的组件,自建存储层、服务层及任务机制,增加了许多友好指令!ThinkAdmin v6经历了数个项目实践与测试,不停调整,目前系统模块及微信模块已经趋于稳定,现将系统模块及微信定为v6内核两大模块发布,其他商城模块及相关辅助模块后续更进……

我们致力于二次开发底层框架,提供完整的组件及API,基于此框架可以快速开发应用。ThinkAdmin v6依赖自制组件ThinkLibrary v6,封装了大量常用操作,简化编码成本;默认集成WechatDeveloper组件,支持微信公众号、微信小程序、微信企业号、微信商户支付、支付宝支付接口等。支持本地服务文件存储、七牛云对象存储(支持CDN加速)、阿里云OSS存储(支持CDN加速)、腾讯云COS存储(支持CDN加速)。

另外项目安装及二次开发可以先阅读ThinkPHP官方文档,数据库 SQL 文件位于项目根目录下,若实在无法解决当下问题可以加入官方微信群获得帮助。

注意事项

  • 项目测试需要自行搭建环境导入数据库 SQL 文件并修改配置( config/database.php );
  • 若操作提示“演示系统禁止操作”等字样,需要删除演示路由配置( app/admin/route/demo.php )或清空路由文件;
  • 当前版本使用 ThinkPHP 6.0.x,对 PHP 版本标注不低于 PHP 7.1,具体请阅读 ThinkPHP 官方文档;
  • 环境需开启 PATHINFO,不再支持 ThinkPHP 的 URL 兼容模式运行(源于如何优雅地展示);
  • 项目默认不带composer模块vendor目录,下载后需要自行composer install安装;

技术支持

开发前请认真阅读 ThinkPHP 官方文档会对您有帮助哦!

本地开发请使用php think run运行服务,访问http://127.0.0.1:8000即可进入项目。

官方地址及开发指南:https://thinkadmin.top ,如果实在无法解决问题可以加入官方群免费交流。

1.官方QQ交流群: 513350915

2.官方QQ交流群: 866345568

3.官方微信交流群

注解权限

注解权限是指通过方法注释来实现后台 RBAC 授权管理,用注解来管理功能节点。

开发人员只需要写好注释,RBAC 的节点会自动生成,只需要配置角色及用户就可以使用RBAC权限。

  • 此版本的权限使用注解实现
  • 注释必须标准的块注释,如下案例
  • 其中@auth true表示访问需要权限验证
  • 其中@menu true菜单编辑显示可选节点
  • 其中@login true需要强制登录才可访问
/**
* 操作的名称
* @auth true  # 表示访问需要权限验证
* @menu true  # 菜单编辑显示可选节点
* @login true # 需要强制登录才可访问 
*/
public function index(){
   // @todo
}

代码仓库

ThinkAdmin 为 MIT 协议开源项目,安装使用或二次开发不受约束,欢迎 fork 项目。

部分代码来自互联网,若有异议可以联系作者进行删除。

  • 在线体验地址:https://v6.thinkadmin.top (账号和密码都是 admin )
  • Gitee仓库地址:https://gitee.com/zoujingli/ThinkAdmin/tree/v6
  • GitHub仓库地址:https://github.com/zoujingli/ThinkAdmin/tree/v6

框架指令

  • 执行 build.cmd 可更新 composer 插件,会删除并替换 vendor 目录
  • 执行 php think run 启用本地开发环境,访问 http://127.0.0.1:8000
  • 执行 php think xadmin:fansall 同步微信粉丝数据(依赖于 wechat 模块)
  • 执行 php think xadmin:sysmenu 重写系统菜单并生成新编号并清理已禁用的菜单
  • 执行 php think xadmin:version 查看当前版本号,显示 ThinkPHP 版本及 ThinkLibrary 版本

1. 线上代码更新

  • 执行 php think xadmin:install admin 从线上服务更新 admin 模块的所有文件(注意文件安全)
  • 执行 php think xadmin:install wechat 从线上服务更新 wechat 模块的所有文件(注意文件安全)
  • 执行 php think xadmin:install static 从线上服务更新 static 静态资料文件(注意文件安全)
  • 执行 php think xadmin:install config 从线上服务更新 config 常用配置文件(注意文件安全)

2. 守护进程管理(可自建定时任务去守护监听主进程)

  • 执行 php think xadmin:queue listen [监听]启动异步任务监听服务
  • 执行 php think xadmin:queue start [控制]检查创建任务监听服务(建议定时任务执行)
  • 执行 php think xadmin:queue query [控制]查询当前任务相关的进程
  • 执行 php think xadmin:queue status [控制]查看异步任务监听状态
  • 执行 php think xadmin:queue stop [控制]平滑停止所有任务进程

3. 本地调试管理(可自建定时任务去守护监听主进程)

  • 执行 php think xadmin:queue webstop [调试]停止本地调试服务
  • 执行 php think xadmin:queue webstart [调试]开启本地调试服务(建议定时任务执行)
  • 执行 php think xadmin:queue webstatus [调试]查看本地调试状态

问题修复

  • 增加CORS跨域规则配置,配置参数置放于config/app.php,需要更新ThinkLibrary
  • 修复layui.table导致基于ThinkPHP模板输出自动转义XSS过滤机制失效,需要更新ThinkLibrary
  • 修复在模板中使用{:input(NAME)}取值而产生的XSS问题,模板取值更换为{$get.NAME|default=''}
  • 修复CKEDITOR配置文件,禁用所有标签的on事件,阻止xss脚本注入,需要更新ckeditor/config.js
  • 修复文件上传入口的后缀验证,读取真实文件后缀与配置对比,阻止不合法的文件上传并存储到本地服务器。
  • 修改JsonRpc接口异常处理机制,当服务端绑定Exception时,客户端将能收到error消息及异常数据。
  • 修改location.hash访问机制,禁止直接访问外部URL资源链接,防止外部XSS攻击读取本地缓存数据。
  • 增加后台主题样式配置,支持全局默认+用户个性配置,需要更新ThinkLibrary,static,admin组件及模块。

项目版本

体验账号及密码都是admin

ThinkAdmin v6 基于 ThinkPHP 6.0 开发(后台权限基于注解实现)

  • 在线体验地址:https://v6.thinkadmin.top
  • Gitee 代码地址:https://gitee.com/zoujingli/ThinkAdmin/tree/v6
  • Github 代码地址:https://github.com/zoujingli/ThinkAdmin/tree/v6

ThinkAdmin v5 基于 ThinkPHP 5.1 开发(后台权限基于注解实现)

  • 在线体验地址:https://v5.thinkadmin.top
  • Gitee 代码地址:https://gitee.com/zoujingli/ThinkAdmin/tree/v5
  • Github 代码地址:https://github.com/zoujingli/ThinkAdmin/tree/v5

ThinkAdmin v4 基于 ThinkPHP 5.1 开发(不建议继续使用)

  • 在线体验地址:https://v4.thinkadmin.top
  • Gitee 代码地址:https://gitee.com/zoujingli/ThinkAdmin/tree/v4
  • Github 代码地址:https://github.com/zoujingli/ThinkAdmin/tree/v4

ThinkAdmin v3 基于 ThinkPHP 5.1 开发(不建议继续使用)

  • 在线体验地址:https://v3.thinkadmin.top
  • Gitee 代码地址:https://gitee.com/zoujingli/ThinkAdmin/tree/v3
  • Github 代码地址:https://github.com/zoujingli/ThinkAdmin/tree/v3

ThinkAdmin v2 基于 ThinkPHP 5.0 开发(不建议继续使用)

  • 在线体验地址:https://v2.thinkadmin.top
  • Gitee 代码地址:https://gitee.com/zoujingli/ThinkAdmin/tree/v2
  • Github 代码地址:https://github.com/zoujingli/ThinkAdmin/tree/v2

ThinkAdmin v1 基于 ThinkPHP 5.0 开发(不建议继续使用)

  • 在线体验地址:https://v1.thinkadmin.top
  • Gitee 代码地址:https://gitee.com/zoujingli/ThinkAdmin/tree/v1
  • Github 代码地址:https://github.com/zoujingli/ThinkAdmin/tree/v1