作者 邓超

xd

@@ -4,9 +4,12 @@ namespace App\Http\Controllers\Bside; @@ -4,9 +4,12 @@ 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\Logic\Bside\TemplateLogic;
  8 +use App\Http\Requests\Bside\TemplateRequest;
7 use App\Models\Template\ATemplate; 9 use App\Models\Template\ATemplate;
8 use App\Models\Template\ATemplateHtml; 10 use App\Models\Template\ATemplateHtml;
9 use App\Models\Template\BSetting; 11 use App\Models\Template\BSetting;
  12 +use App\Models\Template\BTemplate;
10 use App\Models\Template\BTemplateData; 13 use App\Models\Template\BTemplateData;
11 use Illuminate\Validation\Rule; 14 use Illuminate\Validation\Rule;
12 15
@@ -117,9 +120,10 @@ class TemplateController extends BaseController @@ -117,9 +120,10 @@ class TemplateController extends BaseController
117 $source = $this->param['source']??''; 120 $source = $this->param['source']??'';
118 $source_id = $this->param['source_id']??0; 121 $source_id = $this->param['source_id']??0;
119 122
  123 + $data = TemplateLogic::instance()->first($source,$source_id);
120 124
121 125
122 - return $this->success(); 126 + return $this->response('',Code::SUCCESS,$data['html']);
123 127
124 } 128 }
125 129
@@ -128,13 +132,38 @@ class TemplateController extends BaseController @@ -128,13 +132,38 @@ class TemplateController extends BaseController
128 * @author:dc 132 * @author:dc
129 * @time 2023/5/11 11:00 133 * @time 2023/5/11 11:00
130 */ 134 */
131 - public function save_html(){ 135 + public function save_html(TemplateRequest $request){
132 136
133 - $source = $this->param['source']??'';  
134 - $source_id = $this->param['source_id']??0; 137 + $data = $request->validated();
  138 +
  139 + $data['data_source'] = $data['source'];
  140 + $data['data_source_id'] = $data['source_id'];
  141 +
  142 + unset($data['source']);
  143 + unset($data['source_id']);
  144 +
  145 + TemplateLogic::instance()->save($data);
  146 +
  147 + return $this->response('保存成功');
  148 +
  149 + }
  150 +
  151 + /**
  152 + * 状态修改
  153 + * @param TemplateRequest $request
  154 + * @return \Illuminate\Http\JsonResponse
  155 + * @throws \App\Exceptions\AsideGlobalException
  156 + * @throws \App\Exceptions\BsideGlobalException
  157 + * @author:dc
  158 + * @time 2023/5/15 14:43
  159 + */
  160 + public function status(TemplateRequest $request){
  161 +
  162 + $data = $request->validated();
135 163
136 - $html = $this->param['html']??''; 164 + TemplateLogic::instance()->status($data['source'],$data['source_id'],$data['status']);
137 165
  166 + return $this->response('保存成功');
138 167
139 } 168 }
140 169
  1 +<?php
  2 +
  3 +namespace App\Http\Logic\Bside;
  4 +
  5 +use App\Models\RouteMap;
  6 +use App\Models\Template\BTemplate;
  7 +
  8 +/**
  9 + * @author:dc
  10 + * @time 2023/5/15 13:57
  11 + * Class TemplateLogic
  12 + * @package App\Http\Logic\Bside
  13 + */
  14 +class TemplateLogic extends BaseLogic
  15 +{
  16 + public function __construct()
  17 + {
  18 + parent::__construct();
  19 +
  20 + $this->model = new BTemplate();
  21 + }
  22 +
  23 +
  24 + /**
  25 + * @param $param
  26 + * @return array
  27 + * @throws \App\Exceptions\AsideGlobalException
  28 + * @throws \App\Exceptions\BsideGlobalException
  29 + * @author:dc
  30 + * @time 2023/5/12 9:54
  31 + */
  32 + public function save($param)
  33 + {
  34 +
  35 + // 查询
  36 + $data = $this->first($param['data_source'],$param['data_source_id']);
  37 + if($data){
  38 + $param['id'] = $data['id'];
  39 + }
  40 +
  41 + parent::save($param);
  42 +
  43 + }
  44 +
  45 +
  46 + /**
  47 + * 状态修改
  48 + * @param $source
  49 + * @param $source_id
  50 + * @param $status
  51 + * @return mixed
  52 + * @throws \App\Exceptions\AsideGlobalException
  53 + * @throws \App\Exceptions\BsideGlobalException
  54 + * @author:dc
  55 + * @time 2023/5/15 14:41
  56 + */
  57 + public function status($source,$source_id,$status){
  58 +
  59 + $data = $this->first($source,$source_id);
  60 +
  61 + if(!$data){
  62 + $this->fail('数据不存在');
  63 + }
  64 +
  65 + $data->status = $status;
  66 +
  67 + return $data->save();
  68 +
  69 + }
  70 +
  71 +
  72 + /**
  73 + * @param $source
  74 + * @param $source_id
  75 + * @return mixed
  76 + * @author:dc
  77 + * @time 2023/5/15 14:49
  78 + */
  79 + public function first($source,$source_id)
  80 + {
  81 + return $data = BTemplate::where([
  82 + 'project_id'=>$this->user['project_id'],
  83 + 'data_source' => $source,
  84 + 'data_source_id' => $source_id,
  85 + ])->first();
  86 + }
  87 +
  88 +
  89 +}
  1 +<?php
  2 +
  3 +namespace App\Http\Requests\Bside;
  4 +
  5 +use App\Models\Template\ATemplateHtml;
  6 +use Illuminate\Foundation\Http\FormRequest;
  7 +use Illuminate\Validation\Rule;
  8 +
  9 +/**
  10 + * @author:dc
  11 + * @time 2023/5/15 14:04
  12 + * Class TemplateRequest
  13 + * @package App\Http\Requests\Bside\Nav
  14 + */
  15 +class TemplateRequest extends FormRequest
  16 +{
  17 +
  18 + /**
  19 + * Determine if the user is authorized to make this request.
  20 + *
  21 + * @return bool
  22 + */
  23 + public function authorize()
  24 + {
  25 + return true;
  26 + }
  27 +
  28 + /**
  29 + * Get the validation rules that apply to the request.
  30 + *
  31 + * @return array
  32 + */
  33 + public function rules()
  34 + {
  35 + $rule = [
  36 + 'css' => [],
  37 + 'script' => [],
  38 + 'html' => ['required'],
  39 + 'source' => ['required',Rule::in(array_column(ATemplateHtml::$sourceMap,'template'))],
  40 + 'source_id' => ['required','integer','gte:0'],
  41 + 'status' => ['required',Rule::in([0,1])]
  42 + ];
  43 +
  44 +
  45 + // 删除
  46 + if(!$this->is('b/template/status')){
  47 + unset($rule['status']);
  48 + unset($rule['css']);
  49 + unset($rule['script']);
  50 + unset($rule['html']);
  51 + }
  52 +
  53 + return $rule;
  54 + }
  55 +
  56 +
  57 + public function messages()
  58 + {
  59 + return [
  60 +
  61 + 'html.required' => '自定义内容必须',
  62 +
  63 + 'source.required' => '数据错误',
  64 + 'source.in' => '数据错误',
  65 +
  66 + 'source_id.required' => '数据错误',
  67 + 'source_id.integer' => '数据错误',
  68 + 'source_id.gte' => '数据错误',
  69 +
  70 + 'status.required' => '状态错误',
  71 + 'status.in' => '状态错误',
  72 +
  73 + ];
  74 + }
  75 +
  76 +
  77 +}
@@ -236,6 +236,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -236,6 +236,7 @@ Route::middleware(['bloginauth'])->group(function () {
236 Route::get('/get_type', [\App\Http\Controllers\Bside\TemplateController::class, 'get_type'])->name('bside_template_type'); 236 Route::get('/get_type', [\App\Http\Controllers\Bside\TemplateController::class, 'get_type'])->name('bside_template_type');
237 Route::get('/get_html', [\App\Http\Controllers\Bside\TemplateController::class, 'get_html'])->name('bside_template_get_html'); 237 Route::get('/get_html', [\App\Http\Controllers\Bside\TemplateController::class, 'get_html'])->name('bside_template_get_html');
238 Route::get('/save_html', [\App\Http\Controllers\Bside\TemplateController::class, 'save_html'])->name('bside_template_save_html'); 238 Route::get('/save_html', [\App\Http\Controllers\Bside\TemplateController::class, 'save_html'])->name('bside_template_save_html');
  239 + Route::get('/status', [\App\Http\Controllers\Bside\TemplateController::class, 'status'])->name('bside_template_status');
239 }); 240 });
240 // 自定义页面,专题页 241 // 自定义页面,专题页
241 Route::prefix('custom')->group(function () { 242 Route::prefix('custom')->group(function () {