tonystore / livewire-permission-manager
提供图形界面来管理角色和权限的软件包。
v0.3.0
2024-02-11 05:27 UTC
Requires
- php: ^8.0
- livewire/livewire: ^3.0
- spatie/laravel-permission: ^5.1|^6.1
Requires (Dev)
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.0
README
提供图形界面来管理角色和权限的软件包。
需求
Livewire 版本兼容性
通过 Composer 安装
步骤 1: Composer
在控制台运行此命令行。
composer require tonystore/livewire-permission-manager
步骤 2: 发布资源
发布配置文件
php artisan vendor:publish --provider="Tonystore\LivewirePermission\LivewirePermissionProvider" --tag=config-permission
发布视图
只有当需要修改界面时才发布视图。
php artisan vendor:publish --provider="Tonystore\LivewirePermission\LivewirePermissionProvider" --tag=views-permission
发布迁移
发布迁移,只有当为角色或权限的详细信息创建新列时。
php artisan vendor:publish --provider="Tonystore\LivewirePermission\LivewirePermissionProvider" --tag=migrations-permission
发布语言
如果您想修改任何翻译,请发布翻译。
php artisan vendor:publish --provider="Tonystore\LivewirePermission\LivewirePermissionProvider" --tag=langs-permission
用法
默认情况下,Tailwind 用于创建角色和权限管理界面,但您也可以选择 Bootstrap 主题。
<?php return [ /* * Supported Theme: 'tailwind, bootstrap', */ 'theme' => 'tailwind', ];
配置模板
您可以使用此软件包的两种选择,使用 blade 指令或使用 Laravel 组件。
<?php return [ 'blade-template' => [ 'type' => 'components', //Supported Type: 'components, directives' 'component' => 'AppLayout', //type: components 'directives' => [ //type: directives 'extends' => 'layouts.app', 'section-content' => 'content', ], ], ];
包含包含图形界面所需脚本和样式的组件。
<head> .... <x-permissions::styles /> .... </head> <body> ... @livewireScripts <script src="//cdn.jsdelivr.net.cn/npm/sweetalert2@10"></script> //INSERT COMPONENT <x-permissions::scripts /> </body>
要删除角色,使用 SweetAlert,因此您必须在设计中包含它,并且它必须在脚本组件之前。 注意,您必须在 Livewire 脚本之后导入它。
选择模态设计
您将能够选择软件包将具有的样式类型,目前只有列表类型模态可用,在此进行配置
<?php return [ 'modals' => [ 'role' => 'list' ], ];
自定义页面
在此处定义分页选项的数字数组。
<?php 'paginate' => [ 'perPages' => [ 10, 25, 50, 100, 200 ] ]
更改表名
在此处指定要运行迁移的表名。默认情况下,它使用 Laravel Permission 软件包中列出的表。
<?php return [ 'tables' => [ 'roles' => config('permission.table_names.roles', 'roles'), 'permissions' => config('permission.table_names.permissions', 'permissions'), ], ];
排除角色
在此处定义您想要从 Livewire 查询中排除的角色,以便显示和修改。默认情况下,您将有一个空数组。
<?php return [ 'roles' => [ 'excludes' => [] ] ];
列名
在此处定义将在定义的 roles 和 permissions 表中创建的新列的名称,这样您可以为每个创建的角色或权限添加描述,默认列名为 description。
<?php return [ 'column_name' => [ 'add_column' => false, 'description' => null, ], ];
如果您标记为 true 添加描述列的选项,则必须先前在相应的数据库表中生成该列。
路由
设置角色管理路径和权限的自定义前缀、中间件和名称。默认情况下,您将具有以下内容
<?php return [ 'route' => [ 'middleware' => [ 'web', 'auth' ], 'prefix' => 'admin', 'name' => 'permission.index', 'url' => '/roles/manager' ], ];
现在,一旦配置完毕,您将能够访问管理角色的路径。
http:///admin/roles/manager