作者 lyh

gx

... ... @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Bside\Template;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\BTemplate\BTemplateModuleLogic;
use App\Http\Logic\Bside\BTemplate\BTemplateModuleProjectLogic;
use App\Models\Template\BModuleProject;
/**
... ... @@ -22,15 +23,14 @@ class BTemplateModuleController extends BaseController
* @method :post
* @time :2023/6/29 11:33
*/
public function lists(BTemplateModuleLogic $BTemplateModuleLogic){
public function lists(BTemplateModuleLogic $bTemplateModuleLogic,BTemplateModuleProjectLogic $bTemplateModuleProjectLogic){
if(!isset($this->map['test_model'])){
$this->map['test_model'] = ['in',[0,1]];
}
$data = [];
$list = $BTemplateModuleLogic->ModuleList($this->map,$this->order);
$list = $bTemplateModuleLogic->ModuleList($this->map,$this->order);
$data['list'] = $list;
$moduleProjectModel = new BModuleProject();
$module_list = $moduleProjectModel->list(['project_id'=>$this->user['project_id']]);
$module_list = $bTemplateModuleProjectLogic->ModuleList(['project_id'=>$this->user['project_id']]);
$data['module_list'] = $module_list;
$this->response('success',Code::SUCCESS,$data);
}
... ...
... ... @@ -22,6 +22,19 @@ class BTemplateModuleProjectLogic extends BaseLogic
}
/**
* @remark :获取左侧模块列表
* @name :ModuleList
* @author :lyh
* @method :post
* @time :2023/6/29 13:35
*/
public function ModuleList($map,$order = 'created_at',$filed = ['id','name','sort','status','image','html']){
$map['status'] = 0;
$lists = $this->model->list($map,$order,$filed);
return $this->success($lists);
}
/**
* @remark :保存私有化左侧模块
* @name :moduleProjectSave
* @author :lyh
... ...
... ... @@ -284,46 +284,71 @@ class VisualizationLogic extends BaseLogic
$type = $this->getType($this->param['source'],$this->param['source_id']);
try {
if(in_array($type,$page_array)){//定制页面
$bTemplateModel = new BTemplate();
$templateInfo = $bTemplateModel->read([
'source'=>$this->param['source'],
'project_id'=>$this->user['project_id'],
'source_id'=>$this->param['source_id'],
'template_id'=>0
]);
if($templateInfo === false){
$this->param['project_id'] = $this->user['project_id'];
$this->param['template_id'] = 0;
$bTemplateModel->add($this->param);
}else{
$bTemplateModel->edit(['html'=>$this->param['html']],['source'=>$this->param['source'],'source_id'=>$this->param['source_id'],'template_id'=>0]);
}
$this->saveVisualizationHtml();
}else{
$bTemplateModel = new BTemplate();
$templateInfo = $bTemplateModel->read([
'source'=>$this->param['source'],
'project_id'=>$this->user['project_id'],
'source_id'=>$this->param['source_id'],
'template_id'=>$this->param['template_id'],
]);
$this->param['main_html'] = characterTruncation($this->param['html'],'/<main\b[^>]*>(.*?)<\/main>/s');
$this->param['main_css'] = characterTruncation($this->param['html'],'/<style id="globalsojs-styles">(.*?)<\/style>/s');
//保存头部
$this->saveCommonTemplate($this->param['html'],$this->param['source'],$this->param['source_id'],$this->param['template_id']);
if($templateInfo === false){
$this->param['project_id'] = $this->user['project_id'];
$bTemplateModel->add($this->param);
}else{
$bTemplateModel->edit($this->param,['source'=>$this->param['source'],'source_id'=>$this->param['source_id']]);
}
$this->setTemplateLog($this->param['template_id'],$this->param['html'],$this->param['source'],$this->param['source_id']);
$this->homeOrProduct($this->param['source'],$this->param['source_id']);
$this->saveTemplateHtml();
}
}catch (\Exception $e){
$this->fail('系统错误,请联系管理员');
}
return $this->success();
}
/**
* @remark :保存定制界面
* @name :saveVisualizationHtml
* @author :lyh
* @method :post
* @time :2023/12/5 15:42
*/
public function saveVisualizationHtml(){
$bTemplateModel = new BTemplate();
$templateInfo = $bTemplateModel->read([
'source'=>$this->param['source'], 'project_id'=>$this->user['project_id'],
'source_id'=>$this->param['source_id'], 'template_id'=>0
]);
if($templateInfo === false){
$this->param['project_id'] = $this->user['project_id'];
$this->param['template_id'] = 0;
// $this->param['main_html'] = characterTruncation($this->param['html'],'/<main\b[^>]*>(.*?)<\/main>/s');
// $this->param['main_css'] = characterTruncation($this->param['html'],'/<style id="globalsojs-styles">(.*?)<\/style>/s');
$bTemplateModel->add($this->param);
}else{
// $param['main_html'] = characterTruncation($this->param['html'],'/<main\b[^>]*>(.*?)<\/main>/s');
// $param['main_css'] = characterTruncation($this->param['html'],'/<style id="globalsojs-styles">(.*?)<\/style>/s');
$param['html'] = $this->param['html'];
$bTemplateModel->edit($param,['source'=>$this->param['source'],'source_id'=>$this->param['source_id'],'template_id'=>0]);
}
return $this->success();
}
/**
* @remark :非定制界面保存数据
* @name :saveTemplateHtml
* @author :lyh
* @method :post
* @time :2023/12/5 15:44
*/
public function saveTemplateHtml(){
$bTemplateModel = new BTemplate();
$templateInfo = $bTemplateModel->read([
'source'=>$this->param['source'],
'project_id'=>$this->user['project_id'],
'source_id'=>$this->param['source_id'],
'template_id'=>$this->param['template_id'],
]);
$this->param['main_html'] = characterTruncation($this->param['html'],'/<main\b[^>]*>(.*?)<\/main>/s');
$this->param['main_css'] = characterTruncation($this->param['html'],'/<style id="globalsojs-styles">(.*?)<\/style>/s');
//保存头部
$this->saveCommonTemplate($this->param['html'],$this->param['source'],$this->param['source_id'],$this->param['template_id']);
if($templateInfo === false){
$this->param['project_id'] = $this->user['project_id'];
$bTemplateModel->add($this->param);
}else{
$bTemplateModel->edit($this->param,['source'=>$this->param['source'],'source_id'=>$this->param['source_id']]);
}
$this->setTemplateLog($this->param['template_id'],$this->param['html'],$this->param['source'],$this->param['source_id']);
$this->homeOrProduct($this->param['source'],$this->param['source_id']);
}
/**
... ...
... ... @@ -63,13 +63,12 @@ class CustomModuleCategoryLogic extends BaseLogic
public function categoryAdd(){
try {
$id = $this->model->addReturnId($this->param);
$route = RouteMap::setRoute($this->param['route'], 'module-'.$this->param['module_id'], $id, $this->user['project_id']);
$this->addUpdateNotify(RouteMap::SOURCE_NEWS,$route);
$route = RouteMap::setRoute($this->param['route'], RouteMap::SOURCE_MODULE_CATE.$this->param['module_id'], $id, $this->user['project_id']);
$this->addUpdateNotify(RouteMap::SOURCE_MODULE_CATE.$this->param['module_id'],$route);
$this->edit(['url' => $route], ['id' => $id]);
}catch (\Exception $e){
$this->fail('系统错误,请联系管理员');
}
return $this->success();
}
... ... @@ -81,6 +80,8 @@ class CustomModuleCategoryLogic extends BaseLogic
* @time :2023/12/5 10:55
*/
public function categoryEdit(){
$route = RouteMap::setRoute($this->param['route'], RouteMap::SOURCE_MODULE_CATE.$this->param['module_id'], $this->param['id'], $this->user['project_id']);
$this->editNewsRoute($this->param['id'],$route);
$rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
if($rs === false){
$this->fail('系统错误,请连续管理员');
... ... @@ -89,6 +90,24 @@ class CustomModuleCategoryLogic extends BaseLogic
}
/**
* @remark :查看是否编辑路由
* @name :editCategoryRoute
* @author :lyh
* @method :post
* @time :2023/9/7 11:05
*/
public function editNewsRoute($id, $route)
{
//生成一条删除路由记录
$info = $this->model->read(['id' => $id], ['id', 'route']);
if ($info['route'] != $route) {
$this->addUpdateNotify(RouteMap::SOURCE_MODULE_CATE.$this->param['module_id'],$route);
$this->curlDelRoute(['route'=>$info['route'],'new_route'=>$route]);
}
return true;
}
/**
* @remark :删除数据
* @name :ModuleDel
* @author :lyh
... ... @@ -96,6 +115,10 @@ class CustomModuleCategoryLogic extends BaseLogic
* @time :2023/12/4 15:47
*/
public function customModuleCategoryDel(){
$info = $this->model->read(['pid' => $this->param['id']], ['id', 'route']);
if($info === false){
$this->fail('当前分类拥有下级');
}
$rs = $this->model->del($this->param);
if($rs === false){
$this->fail('系统错误,请连续管理员');
... ...