Commit 198e29cb authored by hangjun83's avatar hangjun83

更新 ,权限调整

parent 0414b3f2
...@@ -79,7 +79,6 @@ class PermissionsController extends Controller ...@@ -79,7 +79,6 @@ class PermissionsController extends Controller
'id.required' => "菜单id必选", 'id.required' => "菜单id必选",
'name.required' => "菜单名称必填", 'name.required' => "菜单名称必填",
'path.required' => "菜单路径必填", 'path.required' => "菜单路径必填",
'icon.required' => "菜单icon必填",
'menuType.required' => "菜单类型必选", 'menuType.required' => "菜单类型必选",
'status.required' => "菜单状态必选", 'status.required' => "菜单状态必选",
'sort.required' => "菜单排序必填", 'sort.required' => "菜单排序必填",
...@@ -89,13 +88,20 @@ class PermissionsController extends Controller ...@@ -89,13 +88,20 @@ class PermissionsController extends Controller
if($request->get('selected') != true){ if($request->get('selected') != true){
return Response::fail('该菜单未被选中编辑'); return Response::fail('该菜单未被选中编辑');
} }
if($request['menuType'] != 'top'){ if($request->input('menuType') == 'page'){
$this->validateRequest($request, [ $this->validateRequest($request, [
'component.required' => "菜单前端组件必填", 'component.required' => "菜单前端组件必填",
'parentId.required' => "上级菜单必选", 'parentId.required' => "上级菜单必选",
]); ]);
} }
if($request->has('menuType') && 'button' != $request->input('menuType')){
$message = [
'icon.required' => "菜单icon必填",
];
$this->validateRequest($request, $message);
}
try{ try{
$service = app(MenusService::class); $service = app(MenusService::class);
$service->editMenu($request); $service->editMenu($request);
......
...@@ -199,6 +199,9 @@ class AuthService ...@@ -199,6 +199,9 @@ class AuthService
if(count($belongRoles->toArray()) > 0){ if(count($belongRoles->toArray()) > 0){
$this->removeUserRoleAndPermission($user,$belongRoles); $this->removeUserRoleAndPermission($user,$belongRoles);
} }
// 设置默认角色
$defaultRole = Role::query()->where('is_default', 1)->get();
$this->authroizeUserRoleAndPermission($user,$defaultRole);
} }
} }
......
...@@ -12,6 +12,7 @@ namespace App\Services; ...@@ -12,6 +12,7 @@ namespace App\Services;
use App\Repositories\Models\Menus; use App\Repositories\Models\Menus;
use App\Support\Traits\Helpers; use App\Support\Traits\Helpers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Spatie\Permission\Exceptions\RoleDoesNotExist; use Spatie\Permission\Exceptions\RoleDoesNotExist;
use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role; use Spatie\Permission\Models\Role;
...@@ -319,9 +320,22 @@ class RoleAndPermissionsService ...@@ -319,9 +320,22 @@ class RoleAndPermissionsService
$default = 1; $default = 1;
} }
return $roles->update([ try{
DB::beginTransaction();
$defaultRole = Role::query()->where('is_default',1)->first();
if($defaultRole){
$defaultRole->update([
'is_default' => 0
]);
}
$roles->update([
'id' => $params['id'], 'id' => $params['id'],
'is_default' => $default 'is_default' => $default
]); ]);
DB::commit();
}
catch (\Exception $e) {
DB::rollBack();
}
} }
} }
...@@ -18,7 +18,7 @@ $api->version('v1', function($api) { ...@@ -18,7 +18,7 @@ $api->version('v1', function($api) {
//用户相关 //用户相关
$api->post('/adminapi/user/add', ['permission' => 'user.add', 'uses'=>'AuthUserController@addUser']); $api->post('/adminapi/user/add', ['permission' => 'user.add', 'uses'=>'AuthUserController@addUser']);
$api->post('/adminapi/user/edit', ['permission' => 'user.edit', 'uses'=>'AuthUserController@editUser']); $api->post('/adminapi/user/edit', ['permission' => 'user.edit', 'uses'=>'AuthUserController@editUser']);
$api->get('/adminapi/user/info', ['permission' => 'user.info', 'uses'=>'AuthUserController@info']); $api->get('/adminapi/user/info', ['uses'=>'AuthUserController@info']);
$api->post('/adminapi/auth/resetPassword', ['permission' => 'auth.reset_password', 'uses'=>'AuthUserController@resetPassword']); $api->post('/adminapi/auth/resetPassword', ['permission' => 'auth.reset_password', 'uses'=>'AuthUserController@resetPassword']);
$api->get('/adminapi/user/listByPage', ['permission' => 'user.list_by_page', 'uses'=>'AuthUserController@listByPage']); $api->get('/adminapi/user/listByPage', ['permission' => 'user.list_by_page', 'uses'=>'AuthUserController@listByPage']);
$api->post('/adminapi/user/disable/{id}', ['permission' => 'user.disable', 'uses'=>'AuthUserController@changeUserStatus']); $api->post('/adminapi/user/disable/{id}', ['permission' => 'user.disable', 'uses'=>'AuthUserController@changeUserStatus']);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment