getAllPermissions(); return showJson(101, 1001, $permission); } /** * 权限-添加 * @author fatty * @date 2019/1/4 * @description */ public function create(Request $request) { $validator = \Validator::make($param = $request->all(), [ 'path' => 'required', 'pid' => 'required|numeric', 'remark' => 'required', 'name' => 'required', ]); if ($validator->fails()) { return showJsonErr($validator->errors()->first()); } if (Permission::whereName($request->post('name'))->exists()) { return showJsonErr('权限名称已存在', $request->post('name')); } $permission = SystemPermissions::create($request->all()); return showJson(101, 1001, $permission); } /** * 权限-删除 * @author fatty * @date 2019/1/9 * @param $id * @description * 删除角色关联 * 删除权限 */ public function del($id) { $result = SystemPermissions::del($id); if (empty($result)) { return showJson(102, '删除权限失败'); } return showJson(101, '删除权限成功'); } /** * 详情 * @author fatty * @date 2019/1/9 * @param $id * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response * @description */ public function show($id) { $permission = Permission::findById($id, config('permission.guard')); return showJson(101, 1001, $permission); } /** * 编辑 * @author fatty * @date 2019/1/9 * @description */ public function edit(Request $request) { $post = filterReq($request->all(), ['pid', 'name', 'id', 'remark', 'path', 'status']); $validator = \Validator::make($param = $request->all(), [ 'id' => 'required|numeric' ]); if ($validator->fails()) { return showJsonErr($validator->errors()->first()); } $permission = SystemPermissions::edit($post); return showJson(101, '编辑权限成功', $permission); } public function tree(Request $request) { $user = User::find(Admin()->id); $permission = $user->getAllPermissions(); // var_dump($permission);exit; $tree = self::getTree($permission); return showJsonSucc(1001, $tree); } private static function getTree(\Illuminate\Support\Collection $permission, $pid = 0) { $tree = []; foreach ($permission as $item) { if ($item->pid == $pid) { $tree[] = [ 'id' => $item->id, 'name' => $item->name, 'pid' => $item->pid, 'status' => $item->status, 'title' => $item->remark, 'children' => self::getTree($permission, $item['id']) ]; } } return $tree; } }