Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2e4c746

Browse filesBrowse files
committed
代码重构 控制器基类重构
1 parent ba4455b commit 2e4c746
Copy full SHA for 2e4c746

File tree

Expand file treeCollapse file tree

8 files changed

+249
-187
lines changed
Filter options
Expand file treeCollapse file tree

8 files changed

+249
-187
lines changed

‎backend/app/Http/Controllers/Controller.php

Copy file name to clipboardExpand all lines: backend/app/Http/Controllers/Controller.php
+55Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,64 @@
66
use Illuminate\Routing\Controller as BaseController;
77
use Illuminate\Foundation\Validation\ValidatesRequests;
88
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
9+
use Maatwebsite\Excel\Facades\Excel;
910

1011
class Controller extends BaseController
1112
{
1213
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
14+
use Result;
15+
// 批量删除记录
16+
public function deleteAll()
17+
{
18+
$request = request();
19+
$data = $this->deleteByIds($request);
20+
$model = $this->getModel();
21+
if ($model::destroy($data['ids'])) {
22+
return $this->success();
23+
} else {
24+
return $this->error();
25+
}
26+
}
1327

28+
// 导出所有的内容
29+
public function exportAll() {
30+
31+
$this->exportHandle(null, 1);
32+
}
33+
34+
// 导出当前指定的页
35+
public function export()
36+
{
37+
$request = request();
38+
$pageSize = (int)$request->input('pageSize');
39+
$pageSize = isset($pageSize) && $pageSize? $pageSize: 10;
40+
$page = (int)$request->input('page');
41+
$page = isset($page) && $page ? $page: 1;
42+
$this->exportHandle($pageSize, $page);
43+
}
44+
45+
public function exportHandle($pageSize, $page)
46+
{
47+
// 处理流程,模板方法
48+
// 1、找出指定的数据
49+
$lists = $this->queryData($pageSize, $page);
50+
$data = $lists->toArray(); // 分页内容
51+
// 内部逻辑处理, 生成表头或者对应的去找关联数据
52+
$items = $this->generatorData($data);
53+
// 最后生成电子表格
54+
$this->generatorXls($items);
55+
}
56+
57+
/**
58+
* 生成xls文件
59+
*/
60+
public function generatorXls($items)
61+
{
62+
$file = $this->getExportFile();
63+
Excel::create($file, function ($excel) use ($items) {
64+
$excel->sheet('score', function ($sheet) use ($items) {
65+
$sheet->rows($items);
66+
});
67+
})->store('xls', public_path('xls'));
68+
}
1469
}

‎backend/app/Http/Controllers/PermissionController.php

Copy file name to clipboardExpand all lines: backend/app/Http/Controllers/PermissionController.php
+10-52Lines changed: 10 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@
1212
class PermissionController extends Controller
1313
{
1414
use Result;
15-
/**
16-
* Display a listing of the resource.
17-
*
18-
* @return \Illuminate\Http\Response
19-
*/
15+
2016
public function index(Request $request)
2117
{
2218
//
@@ -58,22 +54,13 @@ public function index(Request $request)
5854
//return new PermissionCollection($lists);
5955
}
6056

61-
/**
62-
* Show the form for creating a new resource.
63-
*
64-
* @return \Illuminate\Http\Response
65-
*/
57+
6658
public function create()
6759
{
6860
//
6961
}
7062

71-
/**
72-
* Store a newly created resource in storage.
73-
*
74-
* @param \Illuminate\Http\Request $request
75-
* @return \Illuminate\Http\Response
76-
*/
63+
7764
public function store(PermissionRequest $request)
7865
{
7966
//
@@ -86,36 +73,19 @@ public function store(PermissionRequest $request)
8673
}
8774
}
8875

89-
/**
90-
* Display the specified resource.
91-
*
92-
* @param \App\Models\Permission $permission
93-
* @return \Illuminate\Http\Response
94-
*/
76+
9577
public function show(Permission $permission)
9678
{
9779
//
9880
return new \App\Http\Resources\Permission($permission);
9981
}
10082

101-
/**
102-
* Show the form for editing the specified resource.
103-
*
104-
* @param \App\Models\Permission $permission
105-
* @return \Illuminate\Http\Response
106-
*/
83+
10784
public function edit(Permission $permission)
10885
{
10986
//
11087
}
11188

112-
/**
113-
* Update the specified resource in storage.
114-
*
115-
* @param \Illuminate\Http\Request $request
116-
* @param \App\Models\Permission $permission
117-
* @return \Illuminate\Http\Response
118-
*/
11989
public function update(PermissionRequest $request, Permission $permission)
12090
{
12191
//
@@ -134,12 +104,6 @@ public function update(PermissionRequest $request, Permission $permission)
134104
}
135105
}
136106

137-
/**
138-
* Remove the specified resource from storage.
139-
*
140-
* @param \App\Models\Permission $permission
141-
* @return \Illuminate\Http\Response
142-
*/
143107
public function destroy(Permission $permission)
144108
{
145109
//
@@ -179,17 +143,6 @@ public function getGroup()
179143
return $this->successWithData($lists);
180144
}
181145

182-
public function deleteAll(Request $request)
183-
{
184-
$data = $this->deleteByIds($request);
185-
if ($data) {
186-
if (Permission::destroy($data['ids'])) {
187-
return $this->success();
188-
} else {
189-
return $this->error();
190-
}
191-
}
192-
}
193146

194147
public function getPermissionByTree()
195148
{
@@ -219,4 +172,9 @@ public function make_tree($arr){
219172
return $tree;
220173
}
221174

175+
public function getModel()
176+
{
177+
return 'App\Models\Permission';
178+
}
179+
222180
}

‎backend/app/Http/Controllers/Result.php

Copy file name to clipboardExpand all lines: backend/app/Http/Controllers/Result.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ public function fileUpdate()
9393
public function deleteByIds($request)
9494
{
9595
$data = $request->only('ids');
96+
if (! is_array($data['ids'])) {
97+
$data['ids'] = json_decode($data['ids'], true);
98+
}
9699
$rules = [
97100
'ids' => 'required | Array'
98101
];

‎backend/app/Http/Controllers/RoleController.php

Copy file name to clipboardExpand all lines: backend/app/Http/Controllers/RoleController.php
+3-38Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@
1010
class RoleController extends Controller
1111
{
1212
use Result;
13-
/**
14-
* Display a listing of the resource.
15-
*
16-
* @return \Illuminate\Http\Response
17-
*/
1813
/**
1914
* @api {get} /api/role 显示学期列表
2015
* @apiGroup role
@@ -64,22 +59,11 @@ public function getRoles()
6459

6560
}
6661

67-
/**
68-
* Show the form for creating a new resource.
69-
*
70-
* @return \Illuminate\Http\Response
71-
*/
7262
public function create()
7363
{
7464
//
7565
}
7666

77-
/**
78-
* Store a newly created resource in storage.
79-
*
80-
* @param \Illuminate\Http\Request $request
81-
* @return \Illuminate\Http\Response
82-
*/
8367
/**
8468
* @api {post}/api/role 新建一条角色信息
8569
* @apiGroup role
@@ -118,12 +102,6 @@ public function store(RoleRequest $request)
118102
}
119103
}
120104

121-
/**
122-
* Display the specified resource.
123-
*
124-
* @param \App\Models\Role $role
125-
* @return \Illuminate\Http\Response
126-
*/
127105
/**
128106
* @api {get} /api/role/:id 获取一条角色
129107
* @apiGroup role
@@ -155,26 +133,13 @@ public function show(Role $role)
155133
return new \App\Http\Resources\Role($role);
156134
}
157135

158-
/**
159-
* Show the form for editing the specified resource.
160-
*
161-
* @param \App\Models\Role $role
162-
* @return \Illuminate\Http\Response
163-
*/
164136
public function edit(Role $role)
165137
{
166138
//
167139

168140

169141
}
170142

171-
/**
172-
* Update the specified resource in storage.
173-
*
174-
* @param \Illuminate\Http\Request $request
175-
* @param \App\Models\Role $role
176-
* @return \Illuminate\Http\Response
177-
*/
178143

179144
/**
180145
* @api {patch}/api/role/:id 更新角色信息
@@ -253,9 +218,9 @@ public function destroy(Role $role)
253218
}
254219
}
255220

256-
public function addPermission(Request $request)
221+
protected function getModel()
257222
{
258-
$data = $request->only(['id', 'name', 'permission', 'explain', 'remark']);
259-
223+
return 'App\Models\Role';
260224
}
225+
261226
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.