mirror of
https://gitee.com/ctexthuang/hyperf_rbac_framework_server_ctexthuang.git
synced 2025-12-25 11:22:10 +08:00
first commit
This commit is contained in:
473
seeders/admin_menu_seeder.php
Normal file
473
seeders/admin_menu_seeder.php
Normal file
@@ -0,0 +1,473 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Model\AdminMenu;
|
||||
use App\Model\Meta\AdminUserMeta;
|
||||
use Hyperf\Database\Seeders\Seeder;
|
||||
use Hyperf\DbConnection\Db;
|
||||
use function Hyperf\Support\env;
|
||||
|
||||
class AdminMenuSeeder extends Seeder
|
||||
{
|
||||
public const array BASE_DATA = [
|
||||
'name' => '',
|
||||
'path' => '',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'created_by' => 0,
|
||||
'updated_by' => 0,
|
||||
'remark' => '',
|
||||
];
|
||||
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
AdminMenu::truncate();
|
||||
if (env('DB_DRIVER') === 'odbc-sql-server') {
|
||||
Db::unprepared('SET IDENTITY_INSERT [' . AdminMenu::getModel()->getTable() . '] ON;');
|
||||
}
|
||||
$this->create($this->data());
|
||||
if (env('DB_DRIVER') === 'odbc-sql-server') {
|
||||
Db::unprepared('SET IDENTITY_INSERT [' . AdminMenu::getModel()->getTable() . '] OFF;');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
* @param int $parentId
|
||||
* @return void
|
||||
*/
|
||||
private function create(array $data, int $parentId = 0): void
|
||||
{
|
||||
foreach ($data as $item) {
|
||||
$_item = $item;
|
||||
|
||||
if (isset($item['children'])) unset($_item['children']);
|
||||
|
||||
$_item['parent_id'] = $parentId;
|
||||
|
||||
$insert = AdminMenu::create(array_merge(self::BASE_DATA, $_item));
|
||||
|
||||
if (isset($item['children']) && count($item['children'])) $this->create($item['children'], $insert->id);
|
||||
}
|
||||
}
|
||||
|
||||
private function data(): array
|
||||
{
|
||||
return [
|
||||
[
|
||||
'name' => 'permission',
|
||||
'path' => '/permission',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '权限管理',
|
||||
'i18n' => 'baseMenu.permission.index',
|
||||
'icon' => 'ri:git-repository-private-line',
|
||||
'type' => 'M',
|
||||
'hidden' => 0,
|
||||
'componentPath' => 'modules/',
|
||||
'componentSuffix' => '.vue',
|
||||
'breadcrumbEnable' => 1,
|
||||
'copyright' => 1,
|
||||
'cache' => 1,
|
||||
'affix' => 0,
|
||||
]),
|
||||
'children' => [
|
||||
[
|
||||
'name' => 'permission:user',
|
||||
'path' => '/permission/user',
|
||||
'component' => 'base/views/permission/user/index',
|
||||
'meta' => new AdminUserMeta([
|
||||
'type' => 'M',
|
||||
'title' => '用户管理',
|
||||
'i18n' => 'baseMenu.permission.user',
|
||||
'icon' => 'material-symbols:manage-accounts-outline',
|
||||
'hidden' => 0,
|
||||
'componentPath' => 'modules/',
|
||||
'componentSuffix' => '.vue',
|
||||
'breadcrumbEnable' => 1,
|
||||
'copyright' => 1,
|
||||
'cache' => 1,
|
||||
'affix' => 0,
|
||||
]),
|
||||
'children' => [
|
||||
[
|
||||
'name' => 'permission:user:index',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户列表',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.userList',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:user:save',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户保存',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.userSave',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:user:update',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户更新',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.userUpdate',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:user:delete',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户删除',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.userDelete',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:user:password',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户初始化密码',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.userPassword',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'user:get:roles',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '获取用户角色',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.getUserRole',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'user:set:roles',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户角色赋予',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.setUserRole',
|
||||
]),
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'permission:menu',
|
||||
'path' => '/permission/menu',
|
||||
'component' => 'base/views/permission/menu/index',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '菜单管理',
|
||||
'i18n' => 'baseMenu.permission.menu',
|
||||
'icon' => 'ph:list-bold',
|
||||
'hidden' => 0,
|
||||
'type' => 'M',
|
||||
'componentPath' => 'modules/',
|
||||
'componentSuffix' => '.vue',
|
||||
'breadcrumbEnable' => 1,
|
||||
'copyright' => 1,
|
||||
'cache' => 1,
|
||||
'affix' => 0,
|
||||
]),
|
||||
'children' => [
|
||||
[
|
||||
'name' => 'permission:menu:index',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '菜单列表',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.menuList',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:menu:create',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '菜单保存',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.menuSave',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:menu:save',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '菜单更新',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.menuUpdate',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:menu:delete',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '菜单删除',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.menuDelete',
|
||||
]),
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'permission:role',
|
||||
'path' => '/permission/role',
|
||||
'component' => 'base/views/permission/role/index',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '角色管理',
|
||||
'i18n' => 'baseMenu.permission.role',
|
||||
'icon' => 'material-symbols:supervisor-account-outline-rounded',
|
||||
'hidden' => 0,
|
||||
'type' => 'M',
|
||||
'componentPath' => 'modules/',
|
||||
'componentSuffix' => '.vue',
|
||||
'breadcrumbEnable' => 1,
|
||||
'copyright' => 1,
|
||||
'cache' => 1,
|
||||
'affix' => 0,
|
||||
]),
|
||||
'children' => [
|
||||
[
|
||||
'name' => 'permission:role:index',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '角色列表',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.roleList',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:role:save',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '角色保存',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.roleSave',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:role:update',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '角色更新',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.roleUpdate',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:role:delete',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '角色删除',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.roleDelete',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:get:role',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '获取角色权限',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.getRolePermission',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'permission:set:role',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '赋予角色权限',
|
||||
'type' => 'B',
|
||||
'i18n' => 'baseMenu.permission.setRolePermission',
|
||||
]),
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'log',
|
||||
'path' => '/log',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '日志管理',
|
||||
'i18n' => 'baseMenu.log.index',
|
||||
'icon' => 'ph:instagram-logo',
|
||||
'type' => 'M',
|
||||
'hidden' => 0,
|
||||
'componentPath' => 'modules/',
|
||||
'componentSuffix' => '.vue',
|
||||
'breadcrumbEnable' => 1,
|
||||
'copyright' => 1,
|
||||
'cache' => 1,
|
||||
'affix' => 0,
|
||||
]),
|
||||
'children' => [
|
||||
[
|
||||
'name' => 'log:userLogin',
|
||||
'path' => '/log/userLoginLog',
|
||||
'component' => 'base/views/log/userLogin',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户登录日志管理',
|
||||
'type' => 'M',
|
||||
'hidden' => 0,
|
||||
'icon' => 'ph:user-list',
|
||||
'i18n' => 'baseMenu.log.userLoginLog',
|
||||
'componentPath' => 'modules/',
|
||||
'componentSuffix' => '.vue',
|
||||
'breadcrumbEnable' => 1,
|
||||
'copyright' => 1,
|
||||
'cache' => 1,
|
||||
'affix' => 0,
|
||||
]),
|
||||
'children' => [
|
||||
[
|
||||
'name' => 'log:userLogin:list',
|
||||
'path' => '/log/userLoginLog',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户登录日志列表',
|
||||
'i18n' => 'baseMenu.log.userLoginLogList',
|
||||
'type' => 'B',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'log:userLogin:delete',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '删除用户登录日志',
|
||||
'i18n' => 'baseMenu.log.userLoginLogDelete',
|
||||
'type' => 'B',
|
||||
]),
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'log:userOperation',
|
||||
'path' => '/log/operationLog',
|
||||
'component' => 'base/views/log/userOperation',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '操作日志管理',
|
||||
'type' => 'M',
|
||||
'hidden' => 0,
|
||||
'icon' => 'ph:list-magnifying-glass',
|
||||
'i18n' => 'baseMenu.log.operationLog',
|
||||
'componentPath' => 'modules/',
|
||||
'componentSuffix' => '.vue',
|
||||
'breadcrumbEnable' => 1,
|
||||
'copyright' => 1,
|
||||
'cache' => 1,
|
||||
'affix' => 0,
|
||||
]),
|
||||
'children' => [
|
||||
[
|
||||
'name' => 'log:userOperation:list',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '用户操作日志列表',
|
||||
'i18n' => 'baseMenu.log.userOperationLog',
|
||||
'type' => 'B',
|
||||
]),
|
||||
],
|
||||
[
|
||||
'name' => 'log:userOperation:delete',
|
||||
'meta' => new AdminUserMeta([
|
||||
'title' => '删除用户操作日志',
|
||||
'i18n' => 'baseMenu.log.userOperationLogDelete',
|
||||
'type' => 'B',
|
||||
]),
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
/* [
|
||||
'name' => '工具',
|
||||
'code' => 'devTools',
|
||||
'icon' => 'ma-icon-tool',
|
||||
'path' => 'devTools',
|
||||
'hidden' => '2',
|
||||
'type' => 'M',
|
||||
'children' => [
|
||||
[
|
||||
'name' => '代码生成器',
|
||||
'code' => 'setting:code',
|
||||
'icon' => 'ma-icon-code',
|
||||
'path' => 'code',
|
||||
'component' => 'setting/code/index',
|
||||
'hidden' => '2',
|
||||
'type' => 'M',
|
||||
'children' => [
|
||||
[
|
||||
'name' => '预览代码',
|
||||
'code' => 'setting:code:preview',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '装载数据表',
|
||||
'code' => 'setting:code:loadTable',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '删除业务表',
|
||||
'code' => 'setting:code:delete',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '同步业务表',
|
||||
'code' => 'setting:code:sync',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '生成代码',
|
||||
'code' => 'setting:code:generate',
|
||||
'type' => 'B',
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => '数据源管理',
|
||||
'code' => 'setting:datasource',
|
||||
'icon' => 'icon-storage',
|
||||
'path' => 'setting/datasource',
|
||||
'component' => 'setting/datasource/index',
|
||||
'hidden' => '2',
|
||||
'type' => 'M',
|
||||
'children' => [
|
||||
[
|
||||
'name' => '数据源管理列表',
|
||||
'code' => 'setting:datasource:index',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '数据源管理保存',
|
||||
'code' => 'setting:datasource:save',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '数据源管理更新',
|
||||
'code' => 'setting:datasource:update',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '数据源管理读取',
|
||||
'code' => 'setting:datasource:read',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '数据源管理删除',
|
||||
'code' => 'setting:datasource:delete',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '数据源管理导入',
|
||||
'code' => 'setting:datasource:import',
|
||||
'type' => 'B',
|
||||
],
|
||||
[
|
||||
'name' => '数据源管理导出',
|
||||
'code' => 'setting:datasource:export',
|
||||
'type' => 'B',
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => '系统接口',
|
||||
'code' => 'systemInterface',
|
||||
'icon' => 'icon-compass',
|
||||
'path' => 'systemInterface',
|
||||
'component' => 'setting/systemInterface/index',
|
||||
'hidden' => '2',
|
||||
'type' => 'M',
|
||||
],
|
||||
],
|
||||
],*/
|
||||
];
|
||||
}
|
||||
}
|
||||
125
seeders/admin_menu_update_01.php
Normal file
125
seeders/admin_menu_update_01.php
Normal file
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Hyperf\Database\Seeders\Seeder;
|
||||
|
||||
class AdminMenuUpdate01 extends Seeder
|
||||
{
|
||||
public const array BASE_DATA = [
|
||||
'name' => '',
|
||||
'path' => '',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'created_by' => 0,
|
||||
'updated_by' => 0,
|
||||
'remark' => '',
|
||||
];
|
||||
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
// AdminMenu::truncate();
|
||||
// if (env('DB_DRIVER') === 'odbc-sql-server') {
|
||||
// Db::unprepared('SET IDENTITY_INSERT [' . AdminMenu::getModel()->getTable() . '] ON;');
|
||||
// }
|
||||
// $this->create($this->data());
|
||||
// if (env('DB_DRIVER') === 'odbc-sql-server') {
|
||||
// Db::unprepared('SET IDENTITY_INSERT [' . AdminMenu::getModel()->getTable() . '] OFF;');
|
||||
// }
|
||||
}
|
||||
|
||||
//
|
||||
// /**
|
||||
// * @param array $data
|
||||
// * @param int $parentId
|
||||
// * @return void
|
||||
// */
|
||||
// private function create(array $data, int $parentId = 0): void
|
||||
// {
|
||||
// foreach ($data as $item) {
|
||||
// $_item = $item;
|
||||
//
|
||||
// if (isset($v['children'])) unset($_item['children']);
|
||||
//
|
||||
// $_item['parent_id'] = $parentId;
|
||||
//
|
||||
// $insert = AdminMenu::create(array_merge(self::BASE_DATA, $_item));
|
||||
//
|
||||
// if (isset($item['children']) && count($item['children'])) $this->create($item['children'], $insert->id);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private function data(): array
|
||||
// {
|
||||
// return [
|
||||
// [
|
||||
// 'name' => 'dataCenter',
|
||||
// 'path' => '/dataCenter',
|
||||
// 'meta' => new AdminUserMeta([
|
||||
// 'title' => '数据中心',
|
||||
// 'i18n' => 'baseMenu.dataCenter.index',
|
||||
// 'icon' => 'ri:database-line',
|
||||
// 'type' => 'M',
|
||||
// 'hidden' => 0,
|
||||
// 'componentPath' => 'modules/',
|
||||
// 'componentSuffix' => '.vue',
|
||||
// 'breadcrumbEnable' => 1,
|
||||
// 'copyright' => 1,
|
||||
// 'cache' => 1,
|
||||
// 'affix' => 0,
|
||||
// ]),
|
||||
// 'children' => [
|
||||
// [
|
||||
// 'name' => 'dataCenter:attachment',
|
||||
// 'path' => '/dataCenter/attachment',
|
||||
// 'component' => 'base/views/dataCenter/attachment/index',
|
||||
// 'meta' => new AdminUserMeta([
|
||||
// 'title' => '附件管理',
|
||||
// 'type' => 'M',
|
||||
// 'hidden' => 0,
|
||||
// 'icon' => 'ri:attachment-line',
|
||||
// 'i18n' => 'baseMenu.dataCenter.attachment',
|
||||
// 'componentPath' => 'modules/',
|
||||
// 'componentSuffix' => '.vue',
|
||||
// 'breadcrumbEnable' => 1,
|
||||
// 'copyright' => 1,
|
||||
// 'cache' => 1,
|
||||
// 'affix' => 0,
|
||||
// ]),
|
||||
// 'children' => [
|
||||
// [
|
||||
// 'name' => 'dataCenter:attachment:list',
|
||||
// 'meta' => new Meta([
|
||||
// 'title' => '附件列表',
|
||||
// 'i18n' => 'baseMenu.dataCenter.attachmentList',
|
||||
// 'type' => 'B',
|
||||
// ]),
|
||||
// ],
|
||||
// [
|
||||
// 'name' => 'dataCenter:attachment:upload',
|
||||
// 'meta' => new Meta([
|
||||
// 'title' => '上传附件',
|
||||
// 'i18n' => 'baseMenu.dataCenter.attachmentUpload',
|
||||
// 'type' => 'B',
|
||||
// ]),
|
||||
// ],
|
||||
// [
|
||||
// 'name' => 'dataCenter:attachment:delete',
|
||||
// 'meta' => new Meta([
|
||||
// 'title' => '删除附件',
|
||||
// 'i18n' => 'baseMenu.dataCenter.attachmentDelete',
|
||||
// 'type' => 'B',
|
||||
// ]),
|
||||
// ],
|
||||
// ],
|
||||
// ],
|
||||
// ],
|
||||
// ],
|
||||
// ];
|
||||
// }
|
||||
}
|
||||
61
seeders/admin_menu_update_02.php
Normal file
61
seeders/admin_menu_update_02.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Model\AdminMenu;
|
||||
use Hyperf\Database\Seeders\Seeder;
|
||||
use Hyperf\DbConnection\Db;
|
||||
use function Hyperf\Support\env;
|
||||
|
||||
class AdminMenuUpdate02 extends Seeder
|
||||
{
|
||||
public const array BASE_DATA = [
|
||||
'name' => '',
|
||||
'path' => '',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'created_by' => 0,
|
||||
'updated_by' => 0,
|
||||
'remark' => '',
|
||||
];
|
||||
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
if (env('DB_DRIVER') === 'odbc-sql-server') {
|
||||
Db::unprepared('SET IDENTITY_INSERT [' . AdminMenu::getModel()->getTable() . '] ON;');
|
||||
}
|
||||
$this->create($this->data());
|
||||
if (env('DB_DRIVER') === 'odbc-sql-server') {
|
||||
Db::unprepared('SET IDENTITY_INSERT [' . AdminMenu::getModel()->getTable() . '] OFF;');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
* @return void
|
||||
*/
|
||||
private function create(array $data): void
|
||||
{
|
||||
foreach ($data as $originValue => $newValue) {
|
||||
AdminMenu::query()->where('name', $originValue)->update(['name' => $newValue]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function data(): array
|
||||
{
|
||||
return [
|
||||
'permission:get:role' => 'permission:role:getMenu',
|
||||
'permission:set:role' => 'permission:role:setMenu',
|
||||
'user:get:roles' => 'permission:user:getRole',
|
||||
'user:set:roles' => 'permission:user:setRole',
|
||||
];
|
||||
}
|
||||
}
|
||||
41
seeders/admin_user_seeder.php
Normal file
41
seeders/admin_user_seeder.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Constants\Model\AdminUser\AdminUserStatusCode;
|
||||
use App\Constants\Model\AdminUser\AdminUserTypeCode;
|
||||
use App\Model\AdminRole;
|
||||
use App\Model\AdminUser;
|
||||
use Hyperf\Database\Seeders\Seeder;
|
||||
|
||||
class AdminUserSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
AdminUser::truncate();
|
||||
AdminRole::truncate();
|
||||
$entity = AdminUser::create([
|
||||
'username' => 'admin',
|
||||
'user_type' => AdminUserTypeCode::SYSTEM,
|
||||
'nickname' => '超级管理员',
|
||||
'email' => 'admin@example.com',
|
||||
'phone' => '18888888888',
|
||||
'signed' => '人生只似风前絮,欢也零星,悲也零星',
|
||||
'created_by' => 0,
|
||||
'updated_by' => 0,
|
||||
'status' => AdminUserStatusCode::Normal,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
]);
|
||||
$role = AdminRole::create([
|
||||
'name' => '超级管理员',
|
||||
'code' => 'SuperAdmin',
|
||||
]);
|
||||
$entity->roles()->sync($role);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user