作者 邓超

x

@@ -173,9 +173,5 @@ class BaseController extends Controller @@ -173,9 +173,5 @@ class BaseController extends Controller
173 173
174 174
175 175
176 - protected final function logic($c){  
177 -  
178 - }  
179 -  
180 176
181 } 177 }
@@ -68,7 +68,7 @@ class TemplateController extends BaseController @@ -68,7 +68,7 @@ class TemplateController extends BaseController
68 $data = $this->verify(TemplateRequest::class,$scene); 68 $data = $this->verify(TemplateRequest::class,$scene);
69 69
70 70
71 - (new TemplateLogic())->save($data); 71 + TemplateLogic::instance()->save($data);
72 72
73 73
74 } 74 }
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Bside; @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Bside;
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
6 use App\Helper\Common; 6 use App\Helper\Common;
7 use App\Http\Controllers\Controller; 7 use App\Http\Controllers\Controller;
  8 +use App\Http\Requests\Scene;
8 use App\Models\User\User as UserModel; 9 use App\Models\User\User as UserModel;
9 use Illuminate\Http\JsonResponse; 10 use Illuminate\Http\JsonResponse;
10 use Illuminate\Http\Request; 11 use Illuminate\Http\Request;
@@ -216,4 +217,18 @@ class BaseController extends Controller @@ -216,4 +217,18 @@ class BaseController extends Controller
216 } 217 }
217 218
218 219
  220 + /**
  221 + * 验证
  222 + * @param $c
  223 + * @param $scene
  224 + * @return array
  225 + * @author:dc
  226 + * @time 2023/5/11 14:56
  227 + */
  228 + protected final function verify($c,$scene=null){
  229 + return (new $c())->setScene($scene?:Scene::$CREATE)->validated();
  230 + }
  231 +
  232 +
  233 +
219 } 234 }
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Bside; @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Bside;
4 4
5 5
6 use App\Enums\Common\Code; 6 use App\Enums\Common\Code;
  7 +use App\Http\Requests\Bside\Nav\NavRequest;
7 use App\Models\BNav; 8 use App\Models\BNav;
8 9
9 /** 10 /**
@@ -16,42 +17,6 @@ use App\Models\BNav; @@ -16,42 +17,6 @@ use App\Models\BNav;
16 class NavController extends BaseController 17 class NavController extends BaseController
17 { 18 {
18 19
19 - /**  
20 - * 验证规则  
21 - * @var array[]  
22 - */  
23 - private $verify = [  
24 - 'role' => [  
25 - 'pid' => ['required','integer','gte:0'],  
26 - 'name' => ['required','max:100'],  
27 - 'location' => ['required','in:header,footer'],  
28 - 'url' => ['required','max:200'],  
29 - 'status' => ['required','in:0,1'],  
30 - 'target' => ['required','in:0,1'],  
31 - 'sort' => ['required','integer','gte:0']  
32 - ],  
33 - 'message' => [  
34 - 'pid.required' => '上级选择错误',  
35 - 'pid.gte' => '上级选择错误',  
36 - 'pid.integer' => '上级选择错误',  
37 - 'name.required' => '名称必须',  
38 - 'name.max' => '名称不能超过100个字符',  
39 - 'location.required' => '位置选择错误',  
40 - 'location.in' => '位置选择错误',  
41 - 'url.required' => '链接必须',  
42 - 'url.max' => '链接不能超过200个字符',  
43 - 'status.required' => '状态选择错误',  
44 - 'status.in' => '状态必须是显示/隐藏',  
45 - 'target.required' => '打开方式必须',  
46 - 'target.in' => '打开方式选择错误',  
47 - 'sort.required' => '排序必须',  
48 - 'sort.integer' => '排序必须是一个数字',  
49 - 'sort.gte' => '排序必须大于等于0',  
50 - ],  
51 - 'attr' => [  
52 -  
53 - ]  
54 - ];  
55 20
56 /** 21 /**
57 * 列表数据 22 * 列表数据
@@ -98,9 +63,7 @@ class NavController extends BaseController @@ -98,9 +63,7 @@ class NavController extends BaseController
98 * @time 2023/5/8 17:06 63 * @time 2023/5/8 17:06
99 */ 64 */
100 public function update(){ 65 public function update(){
101 - $this->verify['role']['id'] = ['required','integer','gt:0'];  
102 - $this->verify['message']['id.gt'] = $this->verify['message']['id.integer'] = $this->verify['message']['id.required'] = '编辑导航数据不存在';  
103 - return $this->save(); 66 + return $this->save(true);
104 } 67 }
105 68
106 /** 69 /**
@@ -112,8 +75,9 @@ class NavController extends BaseController @@ -112,8 +75,9 @@ class NavController extends BaseController
112 * @author:dc 75 * @author:dc
113 * @time 2023/5/8 17:06 76 * @time 2023/5/8 17:06
114 */ 77 */
115 - private function save(){  
116 - $data = $this->validate(request() ,$this->verify['role'],$this->verify['message']); 78 + private function save($edit=false){
  79 +
  80 + $data = $this->verify(NavRequest::class,$edit?NavRequest::$UPDATE:null);
117 81
118 if($data['pid']){ 82 if($data['pid']){
119 // 验证是否存在上级 83 // 验证是否存在上级
@@ -26,4 +26,15 @@ class BaseLogic extends Logic @@ -26,4 +26,15 @@ class BaseLogic extends Logic
26 $this->user = Session::get('manage'); 26 $this->user = Session::get('manage');
27 } 27 }
28 28
  29 +
  30 + /**
  31 + * 获取实例
  32 + * @param mixed ...$params
  33 + * @return static
  34 + * @author:dc
  35 + * @time 2023/5/11 15:23
  36 + */
  37 + public static function instance(...$params){
  38 + return new static(...$params);
  39 + }
29 } 40 }
  1 +<?php
  2 +
  3 +namespace App\Http\Requests\Bside\Nav;
  4 +
  5 +use App\Http\Requests\Scene;
  6 +use Illuminate\Foundation\Http\FormRequest;
  7 +
  8 +/**
  9 + * 导航 c端的 nav
  10 + * @author:dc
  11 + * @time 2023/5/11 15:20
  12 + * Class NavRequest
  13 + * @package App\Http\Requests\Bside\Nav
  14 + */
  15 +class NavRequest extends FormRequest
  16 +{
  17 + use Scene;
  18 +
  19 + /**
  20 + * Determine if the user is authorized to make this request.
  21 + *
  22 + * @return bool
  23 + */
  24 + public function authorize()
  25 + {
  26 + return true;
  27 + }
  28 +
  29 + /**
  30 + * Get the validation rules that apply to the request.
  31 + *
  32 + * @return array
  33 + */
  34 + public function rules()
  35 + {
  36 + $rule = [
  37 + 'pid' => ['required','integer','gte:0'],
  38 + 'name' => ['required','max:100'],
  39 + 'location' => ['required','in:header,footer'],
  40 + 'url' => ['required','max:200'],
  41 + 'status' => ['required','in:0,1'],
  42 + 'target' => ['required','in:0,1'],
  43 + 'sort' => ['required','integer','gte:0']
  44 + ];
  45 +
  46 + if($this->isScene(static::$UPDATE)){
  47 + $rule['id'] = ['required','integer'];
  48 + }
  49 +
  50 + return $rule;
  51 + }
  52 +
  53 + public function messages()
  54 + {
  55 + return [
  56 + 'id.required' => '编辑导航数据不存在',
  57 + 'id.integer' => '编辑导航数据不存在',
  58 + 'pid.required' => '上级选择错误',
  59 + 'pid.gte' => '上级选择错误',
  60 + 'pid.integer' => '上级选择错误',
  61 + 'name.required' => '名称必须',
  62 + 'name.max' => '名称不能超过100个字符',
  63 + 'location.required' => '位置选择错误',
  64 + 'location.in' => '位置选择错误',
  65 + 'url.required' => '链接必须',
  66 + 'url.max' => '链接不能超过200个字符',
  67 + 'status.required' => '状态选择错误',
  68 + 'status.in' => '状态必须是显示/隐藏',
  69 + 'target.required' => '打开方式必须',
  70 + 'target.in' => '打开方式选择错误',
  71 + 'sort.required' => '排序必须',
  72 + 'sort.integer' => '排序必须是一个数字',
  73 + 'sort.gte' => '排序必须大于等于0',
  74 + ];
  75 + }
  76 +}
@@ -94,29 +94,29 @@ class ATemplate extends \App\Models\Base{ @@ -94,29 +94,29 @@ class ATemplate extends \App\Models\Base{
94 } 94 }
95 95
96 96
97 - /**  
98 - * @param array $data  
99 - * @param int $id  
100 - * @author:dc  
101 - * @time 2023/5/11 10:08  
102 - */  
103 - public static function _save(array $data,int $id=0){  
104 - if($id){  
105 - $model = static::where('id',$id)->first();  
106 - }  
107 - if(empty($model)) $model = new static();  
108 -  
109 - $model->name = $data['name'];  
110 - $model->status = $data['status'];  
111 - $model->is_default = $data['is_default'];  
112 - $model->sort = $data['sort'];  
113 - $model->thumb = $data['thumb'];  
114 - $model->url = $data['url'];  
115 -  
116 - $model->save();  
117 -  
118 - return $model->id;  
119 - } 97 +// /**
  98 +// * @param array $data
  99 +// * @param int $id
  100 +// * @author:dc
  101 +// * @time 2023/5/11 10:08
  102 +// */
  103 +// public static function _save(array $data,int $id=0){
  104 +// if($id){
  105 +// $model = static::where('id',$id)->first();
  106 +// }
  107 +// if(empty($model)) $model = new static();
  108 +//
  109 +// $model->name = $data['name'];
  110 +// $model->status = $data['status'];
  111 +// $model->is_default = $data['is_default'];
  112 +// $model->sort = $data['sort'];
  113 +// $model->thumb = $data['thumb'];
  114 +// $model->url = $data['url'];
  115 +//
  116 +// $model->save();
  117 +//
  118 +// return $model->id;
  119 +// }
120 120
121 121
122 122