Merge branch 'develop'
# Conflicts: # app/common/logic/PermLogic.php
This commit is contained in:
@@ -8,24 +8,7 @@ use app\common\model\Resource;
|
|||||||
class PermLogic
|
class PermLogic
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 获取用户所有资源(合并角色+直接分配)
|
* 获取用户所有资源(合并角色+直接分配),并加入公共菜单,排序按sort字段
|
||||||
*/
|
|
||||||
// public function getUserResources(int $userId)
|
|
||||||
// {
|
|
||||||
// $user = User::with(['roles.resources', 'resources'])->find($userId);
|
|
||||||
// if (!$user) {
|
|
||||||
// return collect();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// $all = collect();
|
|
||||||
// foreach ($user->roles as $role) {
|
|
||||||
// $all = $all->merge($role->resources);
|
|
||||||
// }
|
|
||||||
// $all = $all->merge($user->resources);
|
|
||||||
// return $all->unique('id')->values();
|
|
||||||
// }
|
|
||||||
/**
|
|
||||||
* 获取用户所有资源(合并角色+直接分配),并加入公共菜单
|
|
||||||
*/
|
*/
|
||||||
public function getUserResources(int $userId)
|
public function getUserResources(int $userId)
|
||||||
{
|
{
|
||||||
@@ -57,14 +40,16 @@ class PermLogic
|
|||||||
);
|
);
|
||||||
|
|
||||||
// 加入公共菜单,公共菜单不管是否授权,所有人都能访问
|
// 加入公共菜单,公共菜单不管是否授权,所有人都能访问
|
||||||
$publicResources = Resource::where('no_auth', 1)->get(); // 获取所有公共菜单
|
$publicResources = Resource::where('no_auth', 1)
|
||||||
|
->orderBy('sort', 'asc') // 按 sort 字段升序排序
|
||||||
|
->get();
|
||||||
|
|
||||||
$all = $all->merge($publicResources);
|
$all = $all->merge($publicResources);
|
||||||
|
|
||||||
// 返回唯一的资源列表,并按 id 排序
|
// 返回唯一的资源列表,并按 id 排序
|
||||||
return $all->unique('id')->values();
|
return $all->unique('id')->values()->sortBy('sort'); // 最终根据sort排序
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构建目录/菜单树,节点包含权限与打开方式,拼接完整路径,并对子级菜单component处理
|
* 构建目录/菜单树,节点包含权限与打开方式,拼接完整路径,并对子级菜单component处理
|
||||||
* @param \Illuminate\Support\Collection $resources
|
* @param \Illuminate\Support\Collection $resources
|
||||||
|
|||||||
Reference in New Issue
Block a user