alert('角色名称不能为空');history.back();"; exit; } // 新增角色 if ($roleId == 0) { mysqli_query($connConfig, "INSERT INTO sys_role(role_name) VALUES('$roleName')"); $roleId = mysqli_insert_id($connConfig); } else { // 更新角色名 mysqli_query($connConfig, "UPDATE sys_role SET role_name='$roleName' WHERE id=$roleId"); // 清空旧权限 mysqli_query($connConfig, "DELETE FROM sys_role_permission WHERE role_id=$roleId"); } // 写入新权限 foreach ($pages as $page) { $page = mysqli_real_escape_string($connConfig, $page); mysqli_query($connConfig, "INSERT INTO sys_role_permission(role_id,page_key) VALUES($roleId,'$page')"); } echo ""; exit; } // 删除角色 if ($_GET['del']) { $delId = intval($_GET['del']); mysqli_query($connConfig, "DELETE FROM sys_role_permission WHERE role_id=$delId"); mysqli_query($connConfig, "DELETE FROM sys_role WHERE id=$delId"); header("Location: role_manage.php"); exit; } // 获取所有角色 $roleList = []; $roleRes = mysqli_query($connConfig, "SELECT * FROM sys_role ORDER BY id DESC"); while ($r = mysqli_fetch_assoc($roleRes)) $roleList[] = $r; // 全部页面权限列表 $allPages = [ ['key'=>'dashboard','name'=>'告警总览'], ['key'=>'work_order','name'=>'工单系统'], ['key'=>'disk','name'=>'磁盘容量'], ['key'=>'history_query','name'=>'历史查询'], ['key'=>'smtp_config','name'=>'消息通知配置'], ['key'=>'role_manage','name'=>'角色管理'], ['key'=>'user_manage','name'=>'用户管理'], ]; // 编辑角色时读取已有权限 $editRole = ['id'=>0,'role_name'=>'','perms'=>[]]; if (!empty($_GET['edit'])) { $eid = intval($_GET['edit']); $er = mysqli_fetch_assoc(mysqli_query($connConfig, "SELECT * FROM sys_role WHERE id=$eid")); if ($er) { $editRole = $er; $permRes = mysqli_query($connConfig, "SELECT page_key FROM sys_role_permission WHERE role_id=$eid"); while ($p = mysqli_fetch_assoc($permRes)) $editRole['perms'][] = $p['page_key']; } } mysqli_close($connConfig); ?>