Files
crm-server/app/admin/controller/RoleController.php
T

69 lines
1.9 KiB
PHP
Raw Normal View History

2025-04-09 16:26:44 +08:00
<?php
namespace app\admin\controller;
use app\admin\model\Permission;
use app\admin\model\Role;
2025-04-18 15:19:16 +08:00
use app\util\Util;
use Illuminate\Support\Facades\Validator;
2025-04-09 16:26:44 +08:00
use support\Request;
class RoleController
{
2025-04-18 15:19:16 +08:00
public function all(Request $request,)
{
$admin = Role::with('permissions')->where([['status',1]])->get();
return Util::success($admin);
}
/*
* 角色列表
*/
public function list(Request $request,)
{
$page = $request->input('page', 1);
$perPage = $request->input('per_page', 10);
$admin = Role::with('permissions')->paginate($perPage, ['*'], 'page', $page);
return Util::success($admin);
}
2025-04-09 16:26:44 +08:00
// 获取角色权限列表
public function permissions(Request $request, $id)
{
$role = Role::with('permissions')->findOrFail($id);
$allPermissions = Permission::all();
return json([
'code' => 0,
'data' => [
'role' => $role,
'all_permissions' => $allPermissions,
'assigned_permissions' => $role->permissions->pluck('id')->toArray()
]
]);
}
// 更新角色权限
public function updatePermissions(Request $request, $id)
{
2025-04-18 15:19:16 +08:00
// 验证规则
$rules = [
2025-04-09 16:26:44 +08:00
'permissions' => 'required|array',
'permissions.*' => 'exists:permissions,id'
2025-04-18 15:19:16 +08:00
];
// 自定义错误消息(可选)
$messages = [
'permissions.required' => '角色不能为空',
'permissions.exists' => '角色id不存在',
];
2025-04-09 16:26:44 +08:00
2025-04-18 15:19:16 +08:00
// 执行验证
$validator = Validator::make($request->all(), $rules, $messages);
$role = Role::with('permissions')->findOrFail($id);
2025-04-09 16:26:44 +08:00
$role->permissions()->sync($request->input('permissions'));
2025-04-18 15:19:16 +08:00
return Util::success($role,'角色更新成功');
2025-04-09 16:26:44 +08:00
}
}