Exceptions/Handler
parent
22d9248cd3
commit
cfbd28918d
|
|
@ -4,6 +4,7 @@ namespace App\Exceptions;
|
|||
|
||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||
use Throwable;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class Handler extends ExceptionHandler
|
||||
{
|
||||
|
|
@ -43,8 +44,16 @@ class Handler extends ExceptionHandler
|
|||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->reportable(function (Throwable $e) {
|
||||
//
|
||||
$this->renderable(function (\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $e, Request $request) {
|
||||
if ($request->acceptsJson()) {
|
||||
return response()->json(['status' => 404, 'msg' => '资源不存在', 'data' => null], 200);
|
||||
}
|
||||
});
|
||||
$this->renderable(function (\Illuminate\Validation\ValidationException $e, Request $request) {
|
||||
if ($request->acceptsJson()) {
|
||||
$errors = $e->validator->errors();
|
||||
return response()->json(['status' => 422, 'msg' => $errors->first(), 'data' => null, 'errors' => $errors], 200);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,12 +20,7 @@ class AdminNoticeController extends Controller
|
|||
|
||||
public function show($id)
|
||||
{
|
||||
$info = AdminNotice::enable()->find($id);
|
||||
|
||||
if (!$info) {
|
||||
return $this->error('记录不存在');
|
||||
}
|
||||
|
||||
$info = AdminNotice::enable()->findOrFail($id);
|
||||
return $this->json(AdminNoticeResource::make($info));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,12 +37,7 @@ class ArticleController extends Controller
|
|||
|
||||
public function show($id)
|
||||
{
|
||||
$info = Article::enable()->find($id);
|
||||
|
||||
if (!$info) {
|
||||
return $this->error('记录不存在');
|
||||
}
|
||||
|
||||
$info = Article::enable()->findOrFail($id);
|
||||
return $this->json(ArticleResource::make($info));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,9 @@ class BannerController extends Controller
|
|||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'key' => 'required',
|
||||
]);
|
||||
$query = Banner::with(['place'])->filter($request->all())->sort()->enable();
|
||||
|
||||
$list = $query->get();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,177 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => ':attribute 必须接受。',
|
||||
'active_url' => ':attribute 不是一个有效的网址。',
|
||||
'after' => ':attribute 必须要晚于 :date。',
|
||||
'after_or_equal' => ':attribute 必须要等于 :date 或更晚。',
|
||||
'alpha' => ':attribute 只能由字母组成。',
|
||||
'alpha_dash' => ':attribute 只能由字母、数字和斜杠组成。',
|
||||
'alpha_num' => ':attribute 只能由字母和数字组成。',
|
||||
'array' => ':attribute 必须是一个数组。',
|
||||
'before' => ':attribute 必须要早于 :date。',
|
||||
'before_or_equal' => ':attribute 必须要等于 :date 或更早。',
|
||||
'between' => [
|
||||
'numeric' => ':attribute 必须介于 :min - :max 之间。',
|
||||
'file' => ':attribute 必须介于 :min - :max KB 之间。',
|
||||
'string' => ':attribute 必须介于 :min - :max 个字符之间。',
|
||||
'array' => ':attribute 必须只有 :min - :max 个单元。',
|
||||
],
|
||||
'boolean' => ':attribute 必须为布尔值。',
|
||||
'confirmed' => ':attribute 两次输入不一致。',
|
||||
'date' => ':attribute 不是一个有效的日期。',
|
||||
'date_format' => ':attribute 的格式必须为 :format。',
|
||||
'different' => ':attribute 和 :other 必须不同。',
|
||||
'digits' => ':attribute 必须是 :digits 位的数字。',
|
||||
'digits_between' => ':attribute 必须是介于 :min 和 :max 位的数字。',
|
||||
'dimensions' => ':attribute 图片尺寸不正确。',
|
||||
'distinct' => ':attribute 已经存在。',
|
||||
'email' => ':attribute 不是一个合法的邮箱。',
|
||||
'exists' => ':attribute 不存在。',
|
||||
'file' => ':attribute 必须是文件。',
|
||||
'filled' => ':attribute 不能为空。',
|
||||
'gt' => [
|
||||
'numeric' => ':attribute 必须大于 :value。',
|
||||
'file' => ':attribute 必须大于 :value KB。',
|
||||
'string' => ':attribute 必须多于 :value 个字符。',
|
||||
'array' => ':attribute 必须多于 :value 个元素。',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => ':attribute 必须大于或等于 :value。',
|
||||
'file' => ':attribute 必须大于或等于 :value KB。',
|
||||
'string' => ':attribute 必须多于或等于 :value 个字符。',
|
||||
'array' => ':attribute 必须多于或等于 :value 个元素。',
|
||||
],
|
||||
'image' => ':attribute 必须是图片。',
|
||||
'in' => '已选的属性 :attribute 非法。',
|
||||
'in_array' => ':attribute 没有在 :other 中。',
|
||||
'integer' => ':attribute 必须是整数。',
|
||||
'ip' => ':attribute 必须是有效的 IP 地址。',
|
||||
'ipv4' => ':attribute 必须是有效的 IPv4 地址。',
|
||||
'ipv6' => ':attribute 必须是有效的 IPv6 地址。',
|
||||
'json' => ':attribute 必须是正确的 JSON 格式。',
|
||||
'lt' => [
|
||||
'numeric' => ':attribute 必须小于 :value。',
|
||||
'file' => ':attribute 必须小于 :value KB。',
|
||||
'string' => ':attribute 必须少于 :value 个字符。',
|
||||
'array' => ':attribute 必须少于 :value 个元素。',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => ':attribute 必须小于或等于 :value。',
|
||||
'file' => ':attribute 必须小于或等于 :value KB。',
|
||||
'string' => ':attribute 必须少于或等于 :value 个字符。',
|
||||
'array' => ':attribute 必须少于或等于 :value 个元素。',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => ':attribute 不能大于 :max。',
|
||||
'file' => ':attribute 不能大于 :max KB。',
|
||||
'string' => ':attribute 不能大于 :max 个字符。',
|
||||
'array' => ':attribute 最多只有 :max 个单元。',
|
||||
],
|
||||
'mimes' => ':attribute 必须是一个 :values 类型的文件。',
|
||||
'mimetypes' => ':attribute 必须是一个 :values 类型的文件。',
|
||||
'min' => [
|
||||
'numeric' => ':attribute 必须大于等于 :min。',
|
||||
'file' => ':attribute 大小不能小于 :min KB。',
|
||||
'string' => ':attribute 至少为 :min 个字符。',
|
||||
'array' => ':attribute 至少有 :min 个单元。',
|
||||
],
|
||||
'not_in' => '已选的属性 :attribute 非法。',
|
||||
'not_regex' => ':attribute 的格式错误。',
|
||||
'numeric' => ':attribute 必须是一个数字。',
|
||||
'present' => ':attribute 必须存在。',
|
||||
'regex' => ':attribute 格式不正确。',
|
||||
'required' => ':attribute 不能为空。',
|
||||
'phone' => '手机号码格式错误',
|
||||
'phone_code' => '验证码不正确或已过期',
|
||||
'required_if' => '当 :other 为 :value 时 :attribute 不能为空。',
|
||||
'required_unless' => '当 :other 不为 :value 时 :attribute 不能为空。',
|
||||
'required_with' => '当 :values 存在时 :attribute 不能为空。',
|
||||
'required_with_all' => '当 :values 存在时 :attribute 不能为空。',
|
||||
'required_without' => '当 :values 不存在时 :attribute 不能为空。',
|
||||
'required_without_all' => '当 :values 都不存在时 :attribute 不能为空。',
|
||||
'same' => ':attribute 和 :other 必须相同。',
|
||||
'size' => [
|
||||
'numeric' => ':attribute 大小必须为 :size。',
|
||||
'file' => ':attribute 大小必须为 :size KB。',
|
||||
'string' => ':attribute 必须是 :size 个字符。',
|
||||
'array' => ':attribute 必须为 :size 个单元。',
|
||||
],
|
||||
'string' => ':attribute 必须是一个字符串。',
|
||||
'timezone' => ':attribute 必须是一个合法的时区值。',
|
||||
'unique' => ':attribute 已经存在。',
|
||||
'uploaded' => ':attribute 上传失败。',
|
||||
'url' => ':attribute 格式不正确。',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention 'attribute.rule' to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap attribute place-holders
|
||||
| with something more reader friendly such as E-Mail Address instead
|
||||
| of 'email'. This simply helps us make messages a little cleaner.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [
|
||||
'name' => '名称',
|
||||
'username' => '登录名',
|
||||
'email' => '邮箱',
|
||||
'first_name' => '名',
|
||||
'last_name' => '姓',
|
||||
'password' => '密码',
|
||||
'password_confirmation' => '确认密码',
|
||||
'city' => '城市',
|
||||
'country' => '国家',
|
||||
'address' => '地址',
|
||||
'phone' => '电话',
|
||||
'mobile' => '手机',
|
||||
'age' => '年龄',
|
||||
'sex' => '性别',
|
||||
'gender' => '性别',
|
||||
'day' => '天',
|
||||
'month' => '月',
|
||||
'year' => '年',
|
||||
'hour' => '时',
|
||||
'minute' => '分',
|
||||
'second' => '秒',
|
||||
'title' => '标题',
|
||||
'content' => '内容',
|
||||
'description' => '描述',
|
||||
'excerpt' => '摘要',
|
||||
'date' => '日期',
|
||||
'time' => '时间',
|
||||
'available' => '可用的',
|
||||
'size' => '大小',
|
||||
'phone' => '手机号码',
|
||||
],
|
||||
];
|
||||
Loading…
Reference in New Issue