Completed
Push — master ( 3306be...253090 )
by wen
01:53
created

BaseController::buildFailedValidationResponse()   B

Complexity

Conditions 5
Paths 3

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 30

Importance

Changes 0
Metric Value
dl 0
loc 9
ccs 0
cts 9
cp 0
rs 8.8571
c 0
b 0
f 0
cc 5
eloc 6
nc 3
nop 2
crap 30
1
<?php
2
3
4
namespace Sco\Admin\Http\Controllers;
5
6
use Auth, Route, Breadcrumbs, Event;
7
use Illuminate\Auth\Events\Authenticated;
8
use Illuminate\Auth\Events\Login;
9
use Illuminate\Routing\Controller;
10
use Illuminate\Foundation\Validation\ValidatesRequests;
11
use Illuminate\Http\Request;
12
use Illuminate\Http\JsonResponse;
13
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
14
15
/**
16
 * 后台基础控制器
17
 * 所有后台控制器都应继承该类
18
 *
19
 */
20
class BaseController extends Controller
21
{
22
23
    /**
24
     * 后台入口页(控制台)
25
     *
26
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
27
     */
28
    public function index()
29
    {
30
        return $this->render('index');
31
    }
32
33
    /**
34
     * 后台视图输出
35
     *
36
     * @param string $view
37
     * @param array  $params
38
     *
39
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
40
     */
41
    protected function render($view, $params = [])
42
    {
43
        return view('admin::' . $view, $params);
44
    }
45
46
47
    /**
48
     * 重构验证响应方法(主要针对ajax|json)
49
     *
50
     * @param \Illuminate\Http\Request $request
51
     * @param array                    $errors
52
     *
53
     * @return \Illuminate\Http\JsonResponse
54
     */
55
    protected function buildFailedValidationResponse(Request $request, array $errors)
56
    {
57
        if (($request->ajax() && !$request->pjax()) || $request->wantsJson()) {
58
            $error = array_shift($errors);
59
            $error = is_array($error) ? current($error) : $error;
60
            return new JsonResponse(error($error));
61
        }
62
        return parent::buildFailedValidationResponse($request, $errors);
63
    }
64
65
}