作者 Your Name

gx

  1 +<?php
  2 +
  3 +namespace App\Http\Logic\Aside\Template;
  4 +
  5 +
  6 +use App\Http\Logic\Aside\BaseLogic;
  7 +use App\Models\Template\ATemplate;
  8 +
  9 +/**
  10 + * @author:dc
  11 + * @time 2023/5/11 14:35
  12 + * Class TemplateLogic
  13 + * @package App\Http\Logic\Aside\Template
  14 + */
  15 +class TemplateLogic extends BaseLogic {
  16 +
  17 + public function __construct()
  18 + {
  19 + parent::__construct();
  20 +
  21 + $this->model = new ATemplate();
  22 + }
  23 +
  24 +
  25 +
  26 +
  27 +
  28 +}
  1 +<?php
  2 +
  3 +namespace App\Http\Requests\Aside\Template;
  4 +
  5 +use App\Http\Requests\Scene;
  6 +use Illuminate\Foundation\Http\FormRequest;
  7 +use Illuminate\Validation\Rule;
  8 +
  9 +/**
  10 + * @author:dc
  11 + * @time 2023/5/11 14:38
  12 + * Class TemplateRequest
  13 + * @package App\Http\Requests\Aside\Template
  14 + */
  15 +class TemplateRequest 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 + 'id' => ['required','integer'],
  38 + 'name' => ['required'],
  39 + 'status' => ['required',Rule::in(0,1)],
  40 + 'is_default' => ['required',Rule::in(0,1)],
  41 + 'sort' => ['required','integer'],
  42 + 'thumb' => ['required'],
  43 + 'url' => ['required'],
  44 + ];
  45 +
  46 + // 更新场景
  47 + if(!$this->isScene(Scene::$CREATE)){
  48 + unset($rule['id']);
  49 + }
  50 +
  51 + return $rule;
  52 + }
  53 +
  54 +
  55 +
  56 + public function messages()
  57 + {
  58 + return [
  59 + 'id.required' => 'id必须',
  60 + 'id.integer' => 'id必须',
  61 +
  62 + 'name.required' => '名称必须',
  63 + 'status.integer' => '状态错误',
  64 + 'status.in' => '状态错误',
  65 + 'is_default.integer' => '是否默认',
  66 + 'is_default.in' => '是否默认',
  67 + 'sort.required' => '排序必须',
  68 + 'sort.integer' => '排序必须',
  69 + 'thumb.required' => '缩略图必须',
  70 + 'url.required' => '预览链接必须',
  71 + ];
  72 + }
  73 +
  74 +}
  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 +}
  1 +<?php
  2 +
  3 +namespace App\Http\Requests;
  4 +
  5 +/**
  6 + * @author:dc
  7 + * @time 2023/5/11 14:49
  8 + * Class Scene
  9 + * @package App\Http\Requests
  10 + */
  11 +trait Scene {
  12 +
  13 + /**
  14 + * 更新场景
  15 + */
  16 + static $UPDATE = 1;
  17 +
  18 + /**
  19 + * 创建场景
  20 + */
  21 + static $CREATE = 0;
  22 +
  23 + /**
  24 + * 删除场景
  25 + */
  26 + static $DELETE = -1;
  27 +
  28 +
  29 + private $scene;
  30 +
  31 +
  32 + public function setScene($scene){
  33 +
  34 + $this->scene = $scene;
  35 +
  36 + return $this;
  37 + }
  38 +
  39 +
  40 + /**
  41 + * @return mixed
  42 + */
  43 + public function getScene()
  44 + {
  45 + return $this->scene;
  46 + }
  47 +
  48 +
  49 +
  50 + public function isScene($scene){
  51 + return $this->scene === $scene;
  52 + }
  53 +
  54 +}