ThinkAdmin 是一款遵循 MIT 协议开源的快速开发框架,基于最新版本 ThinkPHP6 的极简后台管理系统,在使用 ThinkAdmin 前请认真阅读《免责声明》并同意该声明。
当前 ThinkAdmin 的最新版本为 v6.1 ,从这个版本开始正式进入插件时代,基础组件及扩展插件统一使用 Composer 管理。ThinkAdmin 与传统 ThinkPHP 多应用模式无差别,用户可以自行开发自己的模块,此次升级可完美兼容 ThinkAdmin v6.0 应用,原 ThinkAdmin v6.0 只需安装 ThinkPlugsAdmin 组件即可升级到 v6.1 的插件模式。
查看 ThinkAdmin v6.1 详细介绍请切换至 v6.1 分支!!
ThinkAdmin v6 是基于 v1-v5 大版本的积累,经历了几次大的调整,结合 ThinkPHP6 的思维重新构建,减少大量原非必需的组件,自建存储层、服务层及队列任务机制,另外还增加了许多友好指令!当前 v6 版本已经通过了数个系统实践与测试,过程中不停调整与优化,目前系统模块及微信模块已经趋于稳定,现将系统管理 app/admin
及微信管理 app/wechat
定为 v6 内核两大模块并以 MIT 协议发布,后续可能还有其他模块及相关辅助模块更新发布,敬请期待……
系统核心组件 ThinkLibrary 封装了大量常用操作以及多应用组件,可快速开发各种应用程序,且不影响原 ThinkPHP 生态,大大简化编码成本;可自行选择集成 WechatDeveloper 组件 ( 支持微信公众号、微信小程序、微信企业号、微信商户支付、支付宝支付等 ) 及 QRcode 二维码生成工具等。里面还内置了 ThinkPHP6 多应用组件并且完美支持路由;文件存储支持本地服务器存储、七牛云对象存储(支持CDN加速)、又拍云USS存储(支持CDN加速)、阿里云OSS存储(支持CDN加速)、腾讯云COS存储(支持CDN加速)等存储方式;自带异步任务处理机制,可以并列多进程执行任务,任务响应延时小于 0.5 秒,兼容 windows 及 linux。
使用 ThinkAdmin 需要掌握 ThinkPHP、jQuery、LayUI、RequireJs 等开发技能,后台 UI 界面基于最新版本的 LayUI 前端框架以及 RequireJs 组件加载方式,默认加载了所有 LayUI 的组件,框架中可以直接使用组件(独立页面需要注意 js 加载顺序哦),使用 RequireJs 加载插件,互联网上资源非常多,可自行下载进行二次扩展。目前后台大部分页面为单页程序,页面加载速度非常快速,也因此后台不再支持选项卡模式。
我们致力于快速开发的底层框架,让项目开发变得更容易。框架提供完善的基础组件以及对应的 API 支持,基于此框架可以快速开发各种 WEB 应用。任何一个系统都不能完全满足所有的业务场景,ThinkAdmin 免费提供基础底层的功能,这里包括系统权限管理,系统存储配置,微信授权管理,以及其他常用功能集成等…… 因此 ThinkAdmin 也被大家定性为外包二开基线系统。从 v6.1 开始我们提供会员尊享组件和定制业务插件服务。目前已经有许多公司及个人在使用 ThinkAdmin,通过数据聚合统计已有 3 万多在线运行的项目。
下载并进入 ThinkAdmin 根目录,运行指令安装依赖组件。
打开命令行窗口( Windows 用户 )或控制台( Linux 和 Mac 用户 )并执行如下命令:
1. 通过 Composer 安装:( 推荐方式,仅安装 admin 模块 )
### 创建项目( 需要在英文目录下面执行 ) composer create-project zoujingli/thinkadmin ### 进入项目根目录 cd thinkadmin ### 数据库初始化并安装 php think migrate:run
2. 通过源码安装:( 安装 admin、wechat、data 三个模块 )
### 下载项目 git clone https://github.com/zoujingli/ThinkAdmin ### 进入项目根目录 cd ThinkAdmin ### 安装项目依赖组件 composer install --optimize-autoloader ### 数据库初始化并安装 php think migrate:run
温馨提示: 当前下载的代码已经是 v6.1 版本!
SQL01-数据表结构.sql
和 SQL02-数据初始化.sql
文件;SQL
文件,修改数据库配置后执行 php think migrate:run
即可;注解权限是指通过方法注释来实现后台 RBAC 授权管理,用注解来管理功能节点。
开发人员只需要写好注释,会自动生成功能的节点,只需要配置角色及用户就可以使用 RBAC 权限。
@auth true
表示访问需要权限验证@menu true
菜单编辑显示可选节点@login true
需要强制登录才可访问/** * 操作的名称 * @auth true # 表示访问需要权限验证 * @menu true # 菜单编辑显示可选节点 * @login true # 需要强制登录才可访问 */ public function index(){ // @todo }
主仓库放置于 Gitee, Github 为镜像仓库。
部分代码来自互联网,若有异议可以联系作者进行删除。
php think run
启用本地开发环境,访问 http://127.0.0.1:8000
php think xadmin:package
将现有 MySQL
数据库打包为 Phinx
数据库脚本php think xadmin:sysmenu
重写系统菜单并生成新编号,同时会清理已禁用的菜单数据php think xadmin:fansall
同步微信粉丝数据,依赖于 ThinkPlugsWechat
应用插件php think xadmin:replace
可以批量替换数据库指定字符字段内容,通常用于文件地址替换php think xadmin:database
对数据库的所有表 repair|optimize
操作,优化并整理数据库碎片php think xadmin:publish
可自动安装现在模块或已安装应用插件,增加 --migrate
参数执行数据库脚本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
[控制]平滑停止所有任务进程php think xadmin:queue webstop
[调试]停止本地调试服务php think xadmin:queue webstart
[调试]开启本地调试服务(建议定时任务执行)php think xadmin:queue webstatus
[调试]查看本地调试状态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
攻击读取本地缓存数据。admin
, static
, ThinkLibrary
组件及模块。static
,数据库版需另行更新。ThinkAdmin 遵循 MIT 开源协议发布,并免费提供使用。
本项目包含的第三方源码和二进制文件的版权信息另行标注。
版权所有 Copyright © 2014-2023 by ThinkAdmin (https://thinkadmin.top) All rights reserved。
更多细节参阅 LISENSE
文件
以下系统的体验账号及密码都是 admin
thinkadmin 1.最开始接触thinkadmin时一头雾水,官方文档太简洁,所以现在记录部分功能; 1.thinkadmin是一个基于thinkphp和layui的部分开发框架 2.后端,Library/controller在thinkphp基础上进行了一些扩展,集成了一些方法 3.前段,admin.js在layui基础上集成了一套利用标签属性值描述事件的方法; 后端 1. 继承Libar
这个表白墙的最初设计是:电脑端只能看弹幕和微信二维码,移动端提供弹幕、发表白信息、看表白墙等功能。 所以要修改相应代码来实现这个访问控制,也避免在不同设备访问界面乱了。 最简单的思路就是在手机端的每个页面添加设备判断代码来实现,但这样产生很多相同的代码。用面向对象的继承能简单的解决这个问题。 在Mobile/Controller/新建一个BaseController.class.php让每个移动页
ThinkAdmin学习总结 学习总结 ThinkAdmin源码 https://gitee.com/zoujingli/ThinkAdmin ThinkAdmin基于ThinkPHP6中的一些核心组件: think-helper(助手函数) think-multi-app(实现多应用模式) think-orm(提供对象化数据查询) think-template(基于XML和标签库的编译型模板引擎
更改thinkadmin 文件上传为富文本编辑器 html代码 <label class="layui-form-item relative block" data-rule-list> <span class="color-green font-w7">选项</span> <span class="color-desc margin-left-5">Question Option</span
1、vendor 插件不够,需要补全 a、composer require topthink/think-image b、composer require phpoffice/phpexcel c、composer require phpmailer/phpmailer d、composer require pfinal/aliyun-sms 2、修改上传文件的绝对路径问题 修改文件:vendor
宝塔设置根目录和运行目录,护卫神也是设置根目录和运行目录 public 运行目录下 web.config文件 <configuration> <location path="." allowOverride="false" inheritInChildApplications="false"> <system.webServer> <rewrite>
由于PHPExcel早就停止更新维护,建议使用phpspreadsheet,本文就教你如何用PhpSpreadsheet导出excel 注:原生导出excel可以看我另一篇文章https://blog.csdn.net/qq_36303853/article/details/100283687 安装 1.环境要求: PHP >= 5.6 开启php_zip扩展 开启php_xml扩展 开启p
1.在vendor/zoujingli/think-library/src/helper/PageHelper.php public function layTable($dbQuery, string $template = ''): array { if ($this->output === 'get.json') { // 原有代
废话不多说直接上代码 /** * 指定当前数据表 * @var string */ public $table = 'UserPay'; /** * 缴费列表 * @auth true * @menu true * @throws \think\Exception * @throws \think\db
注:该文章只是给有thinkadmin开发经验的人看的,如果你没有用过,可能会看不懂.也就是说,如果你没有使用的经验,从一开始就已经被我放弃了 指定数据表 /** * 指定数据表 * @var string */ protected $table = 'User'; 列表展示回调 /** * 产品信息管理 * @auth true * @menu true */ public fu
引入类 use library\File; 代码 //上传图片资源,默认上传到本地,如果你系统配置的是七牛云或阿里oss则会获取对应第三方链接 public function upload() { $file = request()->file(
代码 namespace app\api\controller; use library\Controller; use app\common\service\Wechat; use library\tools\Data; use think
注:该文章只是给有thinkadmin开发经验的人看的,如果你没有用过,可能会看不懂 执行一个添加方法 /** * 添加学生 * @auth true * @throws \think\Exception * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFo
概要设计 1、创建、发送、停止同步任务; 2、创建、抓取同步工作节点; 3、抓取、整合节点统计数据与实时数据并做页面展示; 4、抓取、整合任务统计数据与实施数据并做页面展示; 5、抓取告警日志并做页面展示; 6、收集、整合数据推送到中间件。 名词须知 数据源:数据存储位置,现启用kafka、jdbc、canal三种类型; 数据表组:
RBAC - YII2权限管理 开源协议 GPL 注意事项 严禁使用本软件从事任何非法活动 安装步骤 复制install目录下的dev文件至config目录下 修改dev目录下的db.php中的数据库配置 数据库导入SQL脚本,对应的脚本install目录下 默认密码:ranko/admin 后台地址:index.php?r=site/login 使用事项 starter/filter/Backe
moa2-frontend 前后端分离 shop-server 3000 shop-admin 3010 nginx 8000 即3010 /api 即3000 worker_processes 1; error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; p
主要内容:选择合适的网站,CMS平台在本章中,我们将首先讨论如何为您的网站做出正确的选择,以及为网站选择哪个内容管理系统(CMS)平台。 选择合适的网站 让我们通过问自己几个问题来理解这一点,然后详细讨论这个概念。 问题1 - 你要花多少钱? 回答 - 这是与预算直接相关的主要问题之一。 如果你的预算很低,那么应该考虑一些非商业性的,而不是太复杂。 问题2 - 需要多少时间来计划维护? 回答 - 如果要发布很多优惠报价,最好有一个博
Flarum 管理面板是一个用户友好的论坛管理界面。 它只对「管理」组 的用户开放。 要进入管理界面,只需点击屏幕右上方您的 用户名, 选择 后台管理 即可。
应用管理后台 PDF版下载 可以为第三方应用设置一个管理后台,对第三方应用做一些必要的管理设置,可以按照如下步骤操作: 设置应用管理后台地址 第三方服务商在应用详情为第三方应用设置“管理后台主页” 企业管理员进入应用后台 管理员点击应用中的“进入管理后台”跳转到第三方服务商的“管理后台主页”链接,点击跳转到管理后台之后,服务商的管理后台可以得到授权码和过期时间,用于获取访问的管理员身份: 获取访问