作者 邓超

temp

... ... @@ -2,7 +2,7 @@
namespace App\Http\Controllers\Aside;
use App\Models\Template\AHeadFoot;
use App\Models\Template\ATemplateHtml;
/**
* 模板
... ... @@ -22,22 +22,9 @@ class TemplateController extends BaseController
*/
public function index(){
$data = AHeadFoot::all();
$lists = [];
// 以名字为单位区分
foreach ($data as $datum){
if(empty($lists[$datum['name']])) $lists[$datum['name']] = [];
$lists[$datum['name']]['name'] = $datum['name'];
$lists[$datum['name']]['default'] = $datum['is_default'];
$lists[$datum['name']]['sort'] = $datum['sort'];
$lists[$datum['name']]['status'] = $datum['status'];
$lists[$datum['name']]['created_at'] = $datum['created_at'];
// $lists[$datum['name']]['tags'] = $datum['tags'];
$lists[$datum['name']][$datum['type']==AHeadFoot::TYPE_HEADER?'header':'footer'] = $datum['html'];
}
return $this->success($lists);
return view('a');
}
... ...
... ... @@ -81,5 +81,19 @@ class ATemplate extends \App\Models\Base{
}
/**
* 查询
* @param $id
* @return mixed
* @author:dc
* @time 2023/5/10 10:15
*/
public static function _find($id)
{
return static::where('id',$id)->first();
}
}
... ...
... ... @@ -24,6 +24,16 @@ class ATemplateHtml extends \App\Models\Base{
use SoftDeletes;
/**
* 模板中的数据
* @param $template_id
* @return mixed
* @author:dc
* @time 2023/5/10 10:30
*/
public static function _all($template_id){
return static::where(['template_id'=>$template_id])->get();
}
}
... ...
... ... @@ -3,6 +3,7 @@
namespace App\Models\Template;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Facades\DB;
/**
* 当前用户的模板
... ... @@ -71,6 +72,29 @@ class BSetting extends \App\Models\Base{
$data->save();
// 是否有模板
if(!BTemplate::_isExist($project_id,$template_id)){
// 没有模板
$aData = ATemplate::_find($template_id);
// 保存到自己的数据中
BTemplate::_insert($project_id,$aData);
$aDataHtml = ATemplateHtml::_all($template_id);
DB::beginTransaction();
foreach ($aDataHtml as $item){
try {
BTemplateHtml::_insert($project_id,$item);
}catch (\Throwable $e){
DB::rollBack();
return $data->id;
break;
}
}
DB::commit();
}
return $data->id;
}
... ...
... ... @@ -11,48 +11,46 @@ namespace App\Models\Template;
*/
class BTemplate extends \App\Models\Base{
protected $table = 'gl_web_template_html';
protected $table = 'gl_web_template';
protected $hidden = ['project_id'];
/**
* @param $project_id
* @return mixed
* 是否存在模板
* @param int $template_id
* @author:dc
* @time 2023/5/4 16:13
* @time 2023/5/10 10:00
*/
public static function _get($project_id){
return static::where(['project_id'=>$project_id])->get(['html','type'])->pluck('html','type')->toArray();
}
public static function _all($project_id){
return static::where(['project_id'=>$project_id])->get();
public static function _isExist(int $project_id, int $template_id)
{
return static::where(['project_id'=>$project_id,'template_id'=>$template_id])->limit(1)->count();
}
/**
* 保存
* 插入
* @param $project_id
* @param $type
* @param $html
* @param $data
* @return mixed
* @author:dc
* @time 2023/5/4 17:50
* @time 2023/5/10 10:23
*/
public static function _save($project_id,$type,$html){
$data = static::where(['project_id'=>$project_id,'type'=>$type])->first();
if(!$data){
$data = new static();
$data->project_id = $project_id;
$data->type = $type;
}
$data->html = $html;
$data->save();
return $data->id;
}
public static function _insert($project_id,$data)
{
$model = new static();
$model->project_id = $project_id;
$model->template_id = $data['id'];
$model->name = $data['name'];
$model->thumb = $data['thumb'];
$model->html = $data['html'];
$model->save();
return $model->id;
}
}
... ...
<?php
namespace App\Models\Template;
use Illuminate\Database\Eloquent\SoftDeletes;
/**
*
* 模板
* @author:dc
* @time 2023/5/9 13:56
* Class ATemplate
* @package App\Models\Template
*/
class BTemplateHtml extends \App\Models\Base{
protected $table = 'gl_web_template_html';
protected $hidden = ['deleted_at','project_id'];
use SoftDeletes;
/**
* 插入
* @param $project_id
* @param $data
* @return mixed
* @author:dc
* @time 2023/5/10 10:23
*/
public static function _insert($project_id,$data)
{
$model = new static();
$model->project_id = $project_id;
$model->template_id = $data['template_id'];
$model->name = $data['name'];
$model->type = $data['type'];
$model->is_edit = $data['is_edit'];
$model->css = $data['css'];
$model->script = $data['script'];
$model->html = $data['html'];
$model->data_ext = $data['data_ext'];
$model->save();
return $model->id;
}
}
... ...