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

MenuController   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 74
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 0%

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 7
c 3
b 0
f 0
lcom 1
cbo 4
dl 0
loc 74
rs 10
ccs 0
cts 22
cp 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getPermissionModel() 0 8 2
A save() 0 5 1
A delete() 0 5 1
A batchDelete() 0 9 2
A index() 0 6 1
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