作者 邓超

xd

... ... @@ -4,9 +4,12 @@ namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Http\Logic\Bside\TemplateLogic;
use App\Http\Requests\Bside\TemplateRequest;
use App\Models\Template\ATemplate;
use App\Models\Template\ATemplateHtml;
use App\Models\Template\BSetting;
use App\Models\Template\BTemplate;
use App\Models\Template\BTemplateData;
use Illuminate\Validation\Rule;
... ... @@ -117,9 +120,10 @@ class TemplateController extends BaseController
$source = $this->param['source']??'';
$source_id = $this->param['source_id']??0;
$data = TemplateLogic::instance()->first($source,$source_id);
return $this->success();
return $this->response('',Code::SUCCESS,$data['html']);
}
... ... @@ -128,13 +132,38 @@ class TemplateController extends BaseController
* @author:dc
* @time 2023/5/11 11:00
*/
public function save_html(){
public function save_html(TemplateRequest $request){
$source = $this->param['source']??'';
$source_id = $this->param['source_id']??0;
$data = $request->validated();
$data['data_source'] = $data['source'];
$data['data_source_id'] = $data['source_id'];
unset($data['source']);
unset($data['source_id']);
TemplateLogic::instance()->save($data);
return $this->response('保存成功');
}
/**
* 状态修改
* @param TemplateRequest $request
* @return \Illuminate\Http\JsonResponse
* @throws \App\Exceptions\AsideGlobalException
* @throws \App\Exceptions\BsideGlobalException
* @author:dc
* @time 2023/5/15 14:43
*/
public function status(TemplateRequest $request){
$data = $request->validated();
$html = $this->param['html']??'';
TemplateLogic::instance()->status($data['source'],$data['source_id'],$data['status']);
return $this->response('保存成功');
}
... ...
<?php
namespace App\Http\Logic\Bside;
use App\Models\RouteMap;
use App\Models\Template\BTemplate;
/**
* @author:dc
* @time 2023/5/15 13:57
* Class TemplateLogic
* @package App\Http\Logic\Bside
*/
class TemplateLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new BTemplate();
}
/**
* @param $param
* @return array
* @throws \App\Exceptions\AsideGlobalException
* @throws \App\Exceptions\BsideGlobalException
* @author:dc
* @time 2023/5/12 9:54
*/
public function save($param)
{
// 查询
$data = $this->first($param['data_source'],$param['data_source_id']);
if($data){
$param['id'] = $data['id'];
}
parent::save($param);
}
/**
* 状态修改
* @param $source
* @param $source_id
* @param $status
* @return mixed
* @throws \App\Exceptions\AsideGlobalException
* @throws \App\Exceptions\BsideGlobalException
* @author:dc
* @time 2023/5/15 14:41
*/
public function status($source,$source_id,$status){
$data = $this->first($source,$source_id);
if(!$data){
$this->fail('数据不存在');
}
$data->status = $status;
return $data->save();
}
/**
* @param $source
* @param $source_id
* @return mixed
* @author:dc
* @time 2023/5/15 14:49
*/
public function first($source,$source_id)
{
return $data = BTemplate::where([
'project_id'=>$this->user['project_id'],
'data_source' => $source,
'data_source_id' => $source_id,
])->first();
}
}
... ...
<?php
namespace App\Http\Requests\Bside;
use App\Models\Template\ATemplateHtml;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
/**
* @author:dc
* @time 2023/5/15 14:04
* Class TemplateRequest
* @package App\Http\Requests\Bside\Nav
*/
class TemplateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$rule = [
'css' => [],
'script' => [],
'html' => ['required'],
'source' => ['required',Rule::in(array_column(ATemplateHtml::$sourceMap,'template'))],
'source_id' => ['required','integer','gte:0'],
'status' => ['required',Rule::in([0,1])]
];
// 删除
if(!$this->is('b/template/status')){
unset($rule['status']);
unset($rule['css']);
unset($rule['script']);
unset($rule['html']);
}
return $rule;
}
public function messages()
{
return [
'html.required' => '自定义内容必须',
'source.required' => '数据错误',
'source.in' => '数据错误',
'source_id.required' => '数据错误',
'source_id.integer' => '数据错误',
'source_id.gte' => '数据错误',
'status.required' => '状态错误',
'status.in' => '状态错误',
];
}
}
... ...
... ... @@ -236,6 +236,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::get('/get_type', [\App\Http\Controllers\Bside\TemplateController::class, 'get_type'])->name('bside_template_type');
Route::get('/get_html', [\App\Http\Controllers\Bside\TemplateController::class, 'get_html'])->name('bside_template_get_html');
Route::get('/save_html', [\App\Http\Controllers\Bside\TemplateController::class, 'save_html'])->name('bside_template_save_html');
Route::get('/status', [\App\Http\Controllers\Bside\TemplateController::class, 'status'])->name('bside_template_status');
});
// 自定义页面,专题页
Route::prefix('custom')->group(function () {
... ...