generated from panliang/owl-admin-starter
59 lines
2.1 KiB
PHP
59 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use Slowlyo\OwlAdmin\Models\AdminPermission;
|
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Arr;
|
|
|
|
class PermissionSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
DB::table('admin_permissions')->truncate();
|
|
DB::table('admin_role_permissions')->truncate();
|
|
$list = [
|
|
['name' => '主页', 'slug' => 'dashboard'],
|
|
['name' => '支部管理', 'slug' => 'party_cate', 'children' => [
|
|
['name' => '全部', 'slug' => 'party_cate_all'],
|
|
]],
|
|
['name' => '党员管理', 'slug' => 'party_user'],
|
|
['name' => '审核评定', 'slug' => 'user_score'],
|
|
['name' => '信息管理', 'slug' => 'article'],
|
|
['name' => '广告管理', 'slug' => 'banner'],
|
|
['name' => '党员排名', 'slug' => 'user_rank'],
|
|
['name' => '支部排名', 'slug' => 'cate_rank'],
|
|
['name' => '书记信箱', 'slug' => 'feedback'],
|
|
['name' => '系统管理', 'slug' => 'system', 'children' => [
|
|
['name' => '用户管理', 'slug' => 'admin_user'],
|
|
['name' => '角色管理', 'slug' => 'admin_role'],
|
|
['name' => '权限管理', 'slug' => 'admin_permission'],
|
|
['name' => '菜单管理', 'slug' => 'admin_menu'],
|
|
['name' => '字典管理', 'slug' => 'keyword'],
|
|
['name' => '配置管理', 'slug' => 'admin_setting'],
|
|
]],
|
|
];
|
|
|
|
$this->createByTree($list);
|
|
}
|
|
|
|
protected function createByTree($list, $parent = null)
|
|
{
|
|
foreach ($list as $index => $item) {
|
|
$params = Arr::except($item, ['children']);
|
|
$params['order'] = $index + 1;
|
|
$params['parent_id'] = $parent ? $parent->id : 0;
|
|
$model = AdminPermission::create($params);
|
|
|
|
if ($children = data_get($item, 'children')) {
|
|
$this->createByTree($children, $model);
|
|
}
|
|
}
|
|
}
|
|
}
|