Completed
Push — master ( 4d3c05...544753 )
by wen
07:07
created

MenuController::getList()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
ccs 0
cts 4
cp 0
rs 9.4285
cc 1
eloc 3
nc 1
nop 0
crap 2
1
<?php
2
3
namespace Sco\Admin\Http\Controllers\System;
4
5
use Illuminate\Http\Request;
6
use Illuminate\Routing\Controller;
7
use Sco\Admin\Http\Requests\PermissionRequest;
8
use Sco\Admin\Models\Permission;
9
10
/**
11
 * 菜单管理
12
 */
13
class MenuController extends Controller
14
{
15
    /**
16
     * @var Permission
17
     */
18
    private $permissionModel;
19
20
    /**
21
     * @return \Sco\Admin\Models\Permission
22
     */
23
    private function getPermissionModel()
24
    {
25
        if ($this->permissionModel) {
26
            return $this->permissionModel;
27
        }
28
29
        return $this->permissionModel = new Permission();
30
    }
31
32
    /**
33
     * 菜单列表
34
     *
35
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
36
     */
37
    public function index()
38
    {
39
        $menus = $this->getPermissionModel()->getMenuTreeList();
40
41
        return view('admin::system.menu.index', compact('menus'));
42
    }
43
44
    /**
45
     * 保存菜单信息
46
     *
47
     * @param \Sco\Admin\Http\Requests\PermissionRequest $request 提交数据
48
     *
49
     * @return \Illuminate\Http\JsonResponse
50
     */
51
    public function save(PermissionRequest $request)
52
    {
53
        $this->getPermissionModel()->saveMenu($request);
54
        return response()->json(['message' => 'ok']);
55
    }
56
57
    /**
58
     * 删除菜单
59
     *
60
     * @param int $id
61
     *
62
     * @return \Illuminate\Http\JsonResponse
63
     */
64
    public function delete($id)
65
    {
66
        $this->getPermissionModel()->deleteMenu($id);
67
        return response()->json(['message' => 'ok']);
68
    }
69
70
    /**
71
     * 批量删除菜单
72
     *
73
     * @param \Illuminate\Http\Request $request
74
     *
75
     * @return \Illuminate\Http\JsonResponse
76
     */
77
    public function batchDelete(Request $request)
78
    {
79
        if (!is_array($request->input('ids'))) {
80
            throw new AdminHttpException('参数错误');
81
        }
82
83
        $this->getPermissionModel()->deleteMenu($request->input('ids'));
84
        return response()->json(['message' => 'ok']);
85
    }
86
}
87