diff --git a/app/Admin/routes.php b/app/Admin/routes.php index 55eabc6e..27046130 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -12,10 +12,10 @@ Route::group([ 'middleware' => config('admin.route.middleware'), ], function (Router $router) { $router->get('/', 'HomeController@index'); - $router->resource('adminstrators', 'AdministratorController'); - $router->resource('roles', 'RoleController'); - $router->resource('permissions', 'RoleController'); - $router->resource('menus', 'MenuController'); + $router->resource('auth/users', 'AdministratorController')->names('administrators'); + $router->resource('auth/roles', 'RoleController'); + $router->resource('auth/permissions', 'RoleController'); + $router->resource('auth/menus', 'MenuController'); $router->resource('ad-addresses', 'AdAddressController')->only([ 'index', 'create', 'store', 'edit', 'update', 'destroy', diff --git a/app/Models/Admin/Menu.php b/app/Models/Admin/Menu.php index 4d7956c1..86e5e18b 100755 --- a/app/Models/Admin/Menu.php +++ b/app/Models/Admin/Menu.php @@ -2,8 +2,21 @@ namespace App\Models\Admin; +use Dcat\Admin\Admin; use Dcat\Admin\Models\Menu as DcatMenu; class Menu extends DcatMenu { + public function fetchAll() + { + return $this->withQuery(function ($query) { + if (!Admin::user()->isAdministrator()) { + return $query->with('roles')->whereHas('roles', function ($q) { + $q->whereIn('id', Admin::user()->roles()->pluck('id')->toArray()); + }); + } else { + return $query->with('roles'); + } + })->treeAllNodes(); + } } diff --git a/config/admin.php b/config/admin.php index 4a62443f..38745d1e 100644 --- a/config/admin.php +++ b/config/admin.php @@ -240,7 +240,7 @@ return [ ], // Whether enable menu bind to a permission. - 'bind_permission' => true, + 'bind_permission' => false, // Whether enable role bind to menu. 'role_bind_menu' => true, diff --git a/database/seeders/AdminPermissionSeeder.php b/database/seeders/AdminPermissionSeeder.php index b7e90142..b508b5b7 100644 --- a/database/seeders/AdminPermissionSeeder.php +++ b/database/seeders/AdminPermissionSeeder.php @@ -50,6 +50,15 @@ class AdminPermissionSeeder extends Seeder ], ], ], + 'api'=>[ + 'name'=>'后台接口', + 'curd' => false, + 'children' => [ + 'product_categories'=>['name'=>'商品分类'], + 'product_group_details' =>['name'=>'商品分组'], + 'product_skus'=>['name'=>'子商品列表'], + ], + ], 'ad_addresses'=>[ 'name'=>'广告位', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], @@ -86,48 +95,28 @@ class AdminPermissionSeeder extends Seeder 'name' =>'主商品', 'curd'=> true, 'children'=>[ - 'list'=>[ - 'name'=>'子商品列表', - ], - 'setting_specs'=>[ - 'name'=>'设置规格', - ], - 'init_sku_by_specs'=>[ - 'name' =>'初始化SKU', - ], - 'add_sku'=>[ - 'name' =>'添加子商品', - ], + 'list'=>['name'=>'子商品列表'], + 'setting_specs'=>['name'=>'设置规格'], + 'init_sku_by_specs'=>['name' =>'初始化SKU'], + 'add_sku'=>['name' =>'添加子商品'], ], ], 'product_skus'=>[ 'name' =>'子商品', 'curd' =>['index', 'edit', 'update', 'destroy'], 'children'=>[ - 'batch_release_up' => [ - 'name'=>'批量上架申请', - ], - 'batch_release_down'=>[ - 'name' =>'批量下架', - ], - 'batch_release_cacel'=>[ - 'name' =>'批量取消申请', - ], - 'batch_sku_sync_spu'=>[ - 'name' =>'批量同步主商品', - ], + 'batch_release_up' => ['name'=>'批量上架申请'], + 'batch_release_down'=>['name' =>'批量下架'], + 'batch_release_cacel'=>['name' =>'批量取消申请'], + 'batch_sku_sync_spu'=>['name' =>'批量同步主商品'], ], ], 'product_sku_verifies'=>[ 'name' =>'商品审核', 'curd'=>['index', 'destroy'], 'children' => [ - 'verify'=>[ - 'name' =>'审核商品', - ], - 'batch_verify'=>[ - 'name' =>'批量审核', - ], + 'verify'=>['name' =>'审核商品'], + 'batch_verify'=>['name' =>'批量审核'], ], ], 'vips'=>[ @@ -138,12 +127,8 @@ class AdminPermissionSeeder extends Seeder 'name'=>'会员管理', 'curd'=>['index', 'create', 'store'], 'children'=>[ - 'disable' =>[ - 'name'=>'禁用', - ], - 'enable'=>[ - 'name' =>'启用', - ], + 'disable' =>['name'=>'禁用'], + 'enable'=>['name' =>'启用'], ], ], ];