作者 邓超

自定义页面

<?php
namespace App\Http\Controllers\Aside;
use App\Models\Template\AHeadFoot;
/**
* 模板
* @author:dc
* @time 2023/5/4 17:10
* Class TemplateController
* @package App\Http\Controllers\Aside
*/
class TemplateController extends BaseController
{
/**
* 列表
* @author:dc
* @time 2023/5/4 17:10
*/
public function index(){
}
/**
* 编辑
* @author:dc
* @time 2023/5/4 16:19
*/
public function edit(){
}
/**
* 删除
* @author:dc
* @time 2023/5/4 17:10
*/
public function delete(){
}
}
... ...
... ... @@ -2,8 +2,12 @@
namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Exceptions\BsideGlobalException;
use App\Models\Template\AHeadFoot;
use App\Models\Template\BCustom;
use App\Models\Template\BHeadFoot;
use Illuminate\Support\Facades\DB;
/**
* 自定义 页面
... ... @@ -28,6 +32,10 @@ class TemplateController extends BaseController
$data = BHeadFoot::_get($this->user['project_id']);
// todo::这里要进行html的替换
return $this->success([
'header' => $data[BHeadFoot::TYPE_HEADER]??'',
'footer' => $data[BHeadFoot::TYPE_FOOTER]??'',
... ... @@ -41,7 +49,7 @@ class TemplateController extends BaseController
* @time 2023/5/4 16:19
*/
public function edit_html(){
$data = BHeadFoot::_getEditHtml($this->user['project_id']);
$data = BHeadFoot::_get($this->user['project_id']);
if(!$data){
$data = AHeadFoot::_bDefault();
... ... @@ -53,6 +61,32 @@ class TemplateController extends BaseController
]);
}
/**
* 保存
* @author:dc
* @time 2023/5/4 17:42
*/
public function edit_save(){
DB::beginTransaction();
try {
BHeadFoot::_save($this->user['project_id'],BHeadFoot::TYPE_HEADER,'');
BHeadFoot::_save($this->user['project_id'],BHeadFoot::TYPE_HEADER,'');
}catch (\Throwable $e){
DB::rollBack();
throw new BsideGlobalException('B01024','保存失败');
}
DB::commit();
$this->success([]);
}
/**
* 获取系统的模板
... ... @@ -81,4 +115,38 @@ class TemplateController extends BaseController
/**
* 自定义 列表
* @author:dc
* @time 2023/5/4 17:13
*/
public function custom(){
$data = BCustom::_all($this->user['project_id']);
return $this->success($data->toArray());
}
public function custom_create(){
}
public function custom_edit($id){
}
public function custom_delete($id){
}
}
... ...
... ... @@ -18,7 +18,7 @@ class AHeadFoot extends \App\Models\Base{
const TYPE_FOOTER = 'F';
const STATUS_ACTIVE = 1;
const STATUS_DISABLED = 1;
const STATUS_DISABLED = 0;
const IS_DEFAULT = 1;
... ...
<?php
namespace App\Models\Template;
use Illuminate\Database\Eloquent\SoftDeletes;
/**
* 自定义 页面
* @author:dc
* @time 2023/5/4 17:18
* Class BCustom
* @package App\Models\Template
*/
class BCustom extends \App\Models\Base{
protected $table = 'gl_bside_template_custom';
use SoftDeletes;
const STATUS_ACTIVE = 1;
const STATUS_DISABLED = 0;
/**
* 读取列表
* @param $project_id
* @return mixed
* @author:dc
* @time 2023/5/4 17:22
*/
public static function _all($project_id){
return static::where([
'project_id' => $project_id
])->paginate(20);
}
}
... ...
... ... @@ -18,7 +18,7 @@ class BHeadFoot extends \App\Models\Base{
const TYPE_FOOTER = 'F';
// const STATUS_ACTIVE = 1;
// const STATUS_DISABLED = 1;
// const STATUS_DISABLED = 0;
/**
... ... @@ -31,8 +31,33 @@ class BHeadFoot extends \App\Models\Base{
return static::where(['project_id'=>$project_id,'is_use'=>1])->get(['html','type'])->pluck('html','type')->toArray();
}
public static function _getEditHtml($project_id){
return static::where(['project_id'=>$project_id,'is_use'=>1])->get(['origin_html','type'])->pluck('origin_html','type')->toArray();
public static function _all($project_id){
return static::where(['project_id'=>$project_id,'is_use'=>1])->get();
}
/**
* 保存
* @param $project_id
* @param $type
* @param $html
* @author:dc
* @time 2023/5/4 17:50
*/
public static function _save($project_id,$type,$html){
$data = static::where(['project_id'=>$project_id,'is_use'=>1])->first();
if(!$data){
$data = new static();
$data->project_id = $project_id;
$data->type = $type;
$data->is_use = 1;
}
$data->html = $html;
$data->save();
return $data->id;
}
... ...
... ... @@ -43,6 +43,15 @@ Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上w
});
// 自定义页面 模板,头部底部
Route::prefix('template')->group(function () {
Route::get('/', [\App\Http\Controllers\Aside\TemplateController::class, 'index'])->name('admin.template_header_footer');
Route::get('/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'edit'])->name('admin.template_header_footer_edit');
Route::get('/delete', [\App\Http\Controllers\Aside\TemplateController::class, 'delete'])->name('admin.template_header_footer_system');
});
});
//无需登录验证的路由组
... ...
... ... @@ -166,7 +166,9 @@ Route::middleware(['bloginauth'])->group(function () {
Route::prefix('template')->group(function () {
Route::get('/', [\App\Http\Controllers\Bside\TemplateController::class, 'index'])->name('template_header_footer');
Route::get('/edit', [\App\Http\Controllers\Bside\TemplateController::class, 'edit_html'])->name('template_header_footer_edit');
Route::post('/edit', [\App\Http\Controllers\Bside\TemplateController::class, 'edit_save'])->name('template_header_footer_edit_save');
Route::get('/system', [\App\Http\Controllers\Bside\TemplateController::class, 'system_all_html'])->name('template_header_footer_system');
Route::get('/custom', [\App\Http\Controllers\Bside\TemplateController::class, 'custom'])->name('template_custom');
});
... ...