作者 lyh

gx

... ... @@ -9,8 +9,11 @@
namespace App\Http\Controllers\Aside\Template;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Template\ReplaceHtmlLogic;
use App\Models\Template\TemplateReplaceHtml;
use App\Models\Template\TemplateReplaceHtmlLog;
class ReplaceHtmlController extends BaseController
{
... ... @@ -38,4 +41,33 @@ class ReplaceHtmlController extends BaseController
$logic->replaceHtml();
$this->response('success');
}
/**
* @remark :替换的记录
* @name :replaceTemplateLog
* @author :lyh
* @method :post
* @time :2024/5/8 10:28
*/
public function replaceTemplateLog(TemplateReplaceHtml $replaceModel){
$lists = $replaceModel->lists($this->map,$this->page,$this->row,$this->order);
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :还原
* @name :reductionHtml
* @author :lyh
* @method :post
* @time :2024/5/8 10:27
*/
public function reductionHtml(ReplaceHtmlLogic $logic){
$this->request->validate([
'id'=>'required',
],[
'id.required' => 'id不能为空',
]);
$logic->reductionHtml();
$this->response('success');
}
}
... ...
... ... @@ -10,8 +10,11 @@
namespace App\Http\Logic\Aside\Template;
use App\Http\Logic\aside\BaseLogic;
use App\Models\Template\BTemplate;
use App\Models\Template\TemplateReplaceHtml;
use App\Models\Template\TemplateReplaceHtmlLog;
use App\Services\ProjectServer;
use Illuminate\Support\Facades\DB;
class ReplaceHtmlLogic extends BaseLogic
{
... ... @@ -30,6 +33,7 @@ class ReplaceHtmlLogic extends BaseLogic
* @time :2024/5/7 15:52
*/
public function replaceHtml(){
ProjectServer::useProject($this->param['project_id']);
$type = $this->getCustomizedType($this->param['type'], $this->param['is_list']);//获取定制界面类型
//查看当前页面是否定制,是否开启可视化
$page_array = (array)$this->user['is_visualization']->page_array;//获取所有定制界面
... ... @@ -52,6 +56,7 @@ class ReplaceHtmlLogic extends BaseLogic
}
$this->saveReplaceHtmlLog($replaceId,$v['id']);
}
DB::disconnect('custom_mysql');
return $this->success();
}
... ... @@ -90,4 +95,42 @@ class ReplaceHtmlLogic extends BaseLogic
$replaceHtmlModel = new TemplateReplaceHtmlLog();
return $replaceHtmlModel->add($logData);
}
/**
* @remark :还原所有记录
* @name :reductionHtml
* @author :lyh
* @method :post
* @time :2024/5/8 10:35
*/
public function reductionHtml(){
ProjectServer::useProject($this->param['project_id']);
//获取当前数据详情
$info = $this->model->read(['id'=>$this->param['id']]);
if($info === false){
$this->fail('当前数据不存在');
}
$replaceLogModel = new TemplateReplaceHtmlLog();
$logList = $replaceLogModel->list(['replace_id'=>$this->param['id']]);
$replaceArr = [];
foreach ($logList as $v){
$replaceArr[] = $v['replace_template_id'];
}
if(!empty($replaceArr)){
//查询可视化数据
$bTemplateModel = new BTemplate();
$templateList = $bTemplateModel->list(['id'=>['in',$replaceArr]]);
foreach ($templateList as $value){
if($v['type'] == 0){
$main_html = str_replace($info['html'],$info['old_html'],$value['main_html']);
$this->model->edit(['main_html'=>$main_html],['id'=>$v['id']]);
}else{
$html = str_replace($info['html'],$info['old_html'],$value['html']);
$this->model->edit(['html'=>$html],['id'=>$v['id']]);
}
}
}
DB::disconnect('custom_mysql');
return $this->success();
}
}
... ...
... ... @@ -379,6 +379,8 @@ Route::middleware(['aloginauth'])->group(function () {
//可视化数据替换
Route::prefix('replace')->group(function () {
Route::any('/replaceTemplateMainHtml', [Aside\Template\ReplaceHtmlController::class, 'replaceTemplateMainHtml'])->name('admin.replace_replaceTemplateMainHtml');
Route::any('/replaceTemplateLog', [Aside\Template\ReplaceHtmlController::class, 'replaceTemplateLog'])->name('admin.replace_replaceTemplateLog');
Route::any('/reductionHtml', [Aside\Template\ReplaceHtmlController::class, 'reductionHtml'])->name('admin.replace_reductionHtml');
});
Route::any('/generate_aicc_token', [Aside\Com\IndexController::class, 'generateAiCCToken'])->name('admin.generate_aicc_token');
... ...