更新
This commit is contained in:
@@ -48,6 +48,7 @@ class RoleLogic extends BaseLogic
|
||||
'name' => $params['name'],
|
||||
'desc' => $params['desc'] ?? '',
|
||||
'sort' => $params['sort'] ?? 0,
|
||||
'data_scope' => self::normalizeDataScope($params['data_scope'] ?? null),
|
||||
]);
|
||||
|
||||
$data = [];
|
||||
@@ -90,6 +91,7 @@ class RoleLogic extends BaseLogic
|
||||
'name' => $params['name'],
|
||||
'desc' => $params['desc'] ?? '',
|
||||
'sort' => $params['sort'] ?? 0,
|
||||
'data_scope' => self::normalizeDataScope($params['data_scope'] ?? null),
|
||||
]);
|
||||
|
||||
if (!empty($menuId)) {
|
||||
@@ -142,13 +144,26 @@ class RoleLogic extends BaseLogic
|
||||
*/
|
||||
public static function detail(int $id): array
|
||||
{
|
||||
$detail = SystemRole::field('id,name,desc,sort')->find($id);
|
||||
$detail = SystemRole::field('id,name,desc,sort,data_scope')->find($id);
|
||||
$authList = $detail->roleMenuIndex()->select()->toArray();
|
||||
$menuId = array_column($authList, 'menu_id');
|
||||
$detail['menu_id'] = $menuId;
|
||||
return $detail->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* 规范化 data_scope:合法值 1-4,非法或缺省统一回退为 1(全部),保持与历史默认一致不增加风险。
|
||||
*/
|
||||
private static function normalizeDataScope($value): int
|
||||
{
|
||||
$v = (int) $value;
|
||||
if ($v >= 1 && $v <= 4) {
|
||||
return $v;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 角色数据
|
||||
|
||||
Reference in New Issue
Block a user