dskripchenko / laravel-admin
一个受Orchid启发的Laravel管理面板构造器,带有Vue 3 SPA前端。
现场演示: laravel-admin.dskripchenko.space -一个几千美元的商店和一个博客 记录,一个展示每个字段,布局和操作显示其自己的来源, 这是面板内的文档。无需注册:选择管理员,编辑 或登录页面上的查看器;数据每小时重置一次。
Admin::resources([UserResource::class, ArticleResource::class]);
Admin::screen([ContactScreen::class, SystemStatusScreen::class]);
Admin::menu()->add(
MenuNode::make('content', 'Content')->icon('book')->children([
MenuNode::resource('articles'),
MenuNode::dashboard('analytics'),
]),
);
里面有什么
- CRUD管道 -将Eloquent模型声明为
Resource,获得 免费列出/创建/编辑/查看屏幕。 - 自定义屏幕 -非crud页面(表单,仪表板,报告)
Admin::screen(). 处理状态、布局、命令栏、验证、 权限。 - 分层菜单 -流利的
Admin::menu()->add(MenuNode::...), 任意深度,自动解析resource()/screen()/dashboard(). - 30+字段类型 -输入/数量/选择/组合框/ DatePicker / 器/ FileUpload Wysiwyg /减价/ TranslatableInput /转发器 RelationSelect /级联/ TreeSelect /料/ KeyValue / TagsInput /…
- 15 +的布局 -行/列/标签/向导+一步/块/模态/抽屉/ 包装/ Infolist /仪表板/手风琴/视图/…
- 表 -可排序的列,预设,过滤器(输入/日期/切换器/ 选项/从模型选择),内联编辑,摘要,保存视图, 分组、轮询、导出(CSV/XLSX/PDF)。
- 指示板 - 8个小部件类型(统计/图表/最近列表/Markdown/ Iframe/Table/Heatmap/Gauge),每个用户的布局覆盖,拖动/调整大小, 轮询。
- Auth & RBAC ——multi-guard;一个单独的
admin_users桌子还是你的 现有用户(共享策略), 角色,2FA TOTP,个人资料,模拟,密码重置,电子邮件 验证。 - 审计 -只追加管理操作日志(
AuditLog+Loggable特征)。 - 设置 -单例式配置界面。
- 通知 -钟徽章+抽屉(数据库通知)。
- API的令牌 - Profile中的Sanctum集成(条件)。
- 主题 -亮/暗+用户偏好;
@dskripchenko/ui设计令牌。 - i18n -区域解析器(6步优先级),
TranslatableField桥梁dskripchenko/laravel-translatable. - 租赁 - - - - - -
TenantResolver/TenantContext/TenantScoped特征。策略是主机端;我们提供合同。 - 插件 - - - - - -
AdminPlugin接口;姐妹包使用相同的钩子。 - 测试 - - - - - -
AdminTestCase,ActsAsAdmin和InteractsWithAdminResources特征。 - OpenAPI 3.0 -从docblock生成
@input/@output标签。
安装
composer require dskripchenko/laravel-admin
php artisan admin:install
就是这样——管理SPA是预先构建的,不需要Node。访问
/admin/login. 开始 走过
第一个资源和您自己的Vue组件的定制构建模式。
将其添加到已经拥有用户、自己的API或代理的应用程序中?
读 向现有应用程序添加管理员 - - - - - -
包括 admin:install --shared,允许现有用户登录。
文档
- 开始
- 向现有应用程序添加管理员
- 体系结构
- 概念: 资源 · 屏幕 · 小部件和仪表板 · 菜单 · 行动 · 权限 · i18n · 租赁
- 字段引用
- 布局参考
- API参考
- 前端延伸
- 测试
- 迁移指南
- 术语表
堆栈
- PHP ^ 8.2
- Laravel 11 / 12 / 13
- Vue ^3.4 + TypeScript + Pinia + Vue Router
- 前端 -预建SPA ~ 350kb gz JS + ~ 35kb gz CSS;npm的 自定义构建库入口~260 KB gz (Vue, Pinia和外部UI工具包)
- 所见即所得 - - - - - -
@dskripchenko/wysiwyg默认情况下;羽毛笔和小李子 NPM包中附带的适配器(/quill,/tinymce)
Sister-packs
可选扩展,只安装你需要的:
| 包 | 目的 |
|---|---|
dskripchenko/laravel-admin-starter | 用户、角色和审计日志资源 |
dskripchenko/laravel-admin-media | 媒体库(不依赖于空间/媒体库) |
dskripchenko/laravel-admin-health | 运行状况检查(无空间/运行状况依赖关系) |
dskripchenko/laravel-admin-pulse | 遥测采样器(不依赖于laravel/pulse) |
dskripchenko/laravel-admin-jobs | 失败的作业/批次查看器 |
贡献
看到 CONTRIBUTING.md. PRs的欢迎。
许可证
麻省理工学院 ©Denis Skripchenko