作者 刘锟

Merge remote-tracking branch 'origin/master' into akun

@@ -7,6 +7,7 @@ use App\Http\Controllers\Aside\BaseController; @@ -7,6 +7,7 @@ use App\Http\Controllers\Aside\BaseController;
7 use App\Http\Logic\Aside\Template\ATemplateLogic; 7 use App\Http\Logic\Aside\Template\ATemplateLogic;
8 use App\Http\Requests\Aside\Template\ATemplateRequest; 8 use App\Http\Requests\Aside\Template\ATemplateRequest;
9 use App\Models\Template\Setting; 9 use App\Models\Template\Setting;
  10 +use App\Models\Template\Template;
10 11
11 /** 12 /**
12 * @remark :A端主题模板管理 13 * @remark :A端主题模板管理
@@ -222,4 +223,28 @@ class ATemplateController extends BaseController @@ -222,4 +223,28 @@ class ATemplateController extends BaseController
222 } 223 }
223 $this->response('success',Code::SUCCESS,$info); 224 $this->response('success',Code::SUCCESS,$info);
224 } 225 }
  226 +
  227 + /**
  228 + * @remark :私有公共模板详情
  229 + * @name :getProjectPublicTemplate
  230 + * @author :lyh
  231 + * @method :post
  232 + * @time :2023/6/28 16:34
  233 + */
  234 + public function getProjectPublicTemplate(){
  235 + $aTemplateModel = new Template();
  236 + $filed = ['id','name','image','url','status','sort','deleted_status','test_model','project_id','created_at','project_id'];
  237 + $this->map['project_id'] = ['!=',0];
  238 + $this->map['deleted_status'] = 0;
  239 + $this->map['test_model'] = 2;
  240 + $lists = $aTemplateModel->lists($this->map,$this->page,$this->row,$this->order,$filed);
  241 + if(!empty($lists) && !empty($lists['list'])){
  242 + foreach ($lists['list'] as $k => $v){
  243 + $v['image_link'] = getImageUrl($v['image']);
  244 + $lists['list'][$k] = $v;
  245 + }
  246 + }
  247 + $this->response('success',Code::SUCCESS,$lists);
  248 + }
  249 +
225 } 250 }
@@ -149,4 +149,5 @@ class BTemplateController extends BaseController @@ -149,4 +149,5 @@ class BTemplateController extends BaseController
149 $BTemplateLogic->saveDetail(); 149 $BTemplateLogic->saveDetail();
150 $this->response('success'); 150 $this->response('success');
151 } 151 }
  152 +
152 } 153 }
@@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside\Project; @@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside\Project;
5 5
6 use App\Helper\Common; 6 use App\Helper\Common;
7 use App\Http\Logic\Aside\BaseLogic; 7 use App\Http\Logic\Aside\BaseLogic;
  8 +use App\Models\Project\DeployOptimize;
8 use App\Models\Project\OnlineCheck; 9 use App\Models\Project\OnlineCheck;
9 use App\Models\Project\Project; 10 use App\Models\Project\Project;
10 11
@@ -29,9 +30,12 @@ class OnlineCheckLogic extends BaseLogic @@ -29,9 +30,12 @@ class OnlineCheckLogic extends BaseLogic
29 if($info === false){ 30 if($info === false){
30 $this->fail('项目未提交审核'); 31 $this->fail('项目未提交审核');
31 } 32 }
  33 + //获取项目优化人员
  34 + $optimizeModel = new DeployOptimize();
  35 + $optimizeInfo = $optimizeModel->read(['project_id'=>$this->param['id']]);
32 //查看当前用户是否有权限审核 36 //查看当前用户是否有权限审核
33 if($this->param['type'] == 'optimist'){ 37 if($this->param['type'] == 'optimist'){
34 - if($info['optimist_mid'] != $this->manager['id']){ 38 + if(($info['optimist_mid'] != $this->manager['id']) && ($optimizeInfo['assist_mid'] != $this->manager['id'])){
35 $this->fail('你无权限提交审核'); 39 $this->fail('你无权限提交审核');
36 } 40 }
37 }else{ 41 }else{
@@ -524,6 +524,7 @@ class BTemplateLogic extends BaseLogic @@ -524,6 +524,7 @@ class BTemplateLogic extends BaseLogic
524 */ 524 */
525 public function savePublicTemplateHtml(){ 525 public function savePublicTemplateHtml(){
526 $this->param['project_id'] = $this->user['project_id']; 526 $this->param['project_id'] = $this->user['project_id'];
  527 + $this->param['test_model'] = 2;//未审核模版
527 $this->param['operator_id'] = $this->user['manager_id'] ?? 0; 528 $this->param['operator_id'] = $this->user['manager_id'] ?? 0;
528 $this->param = $this->stringProcessing($this->param); 529 $this->param = $this->stringProcessing($this->param);
529 $publicTemplateModel = new Template(); 530 $publicTemplateModel = new Template();
@@ -14,6 +14,7 @@ use App\Models\Project\PageSetting; @@ -14,6 +14,7 @@ use App\Models\Project\PageSetting;
14 use App\Models\Service\Service as ServiceSettingModel; 14 use App\Models\Service\Service as ServiceSettingModel;
15 use App\Models\Template\BTemplate; 15 use App\Models\Template\BTemplate;
16 use App\Models\Template\BTemplateCommon; 16 use App\Models\Template\BTemplateCommon;
  17 +use App\Models\Template\BTemplateLog;
17 use App\Models\Template\BTemplateMain; 18 use App\Models\Template\BTemplateMain;
18 use App\Models\Template\Setting; 19 use App\Models\Template\Setting;
19 use App\Models\Template\Template; 20 use App\Models\Template\Template;
@@ -306,6 +307,7 @@ class VisualizationLogic extends BaseLogic @@ -306,6 +307,7 @@ class VisualizationLogic extends BaseLogic
306 }else{ 307 }else{
307 $bTemplateModel->edit($this->param,['source'=>$this->param['source'],'source_id'=>$this->param['source_id']]); 308 $bTemplateModel->edit($this->param,['source'=>$this->param['source'],'source_id'=>$this->param['source_id']]);
308 } 309 }
  310 + $this->setTemplateLog($this->param['template_id'],$this->param['html'],$this->param['source'],$this->param['source_id']);
309 } 311 }
310 }catch (\Exception $e){ 312 }catch (\Exception $e){
311 $this->fail('系统错误,请联系管理员'); 313 $this->fail('系统错误,请联系管理员');
@@ -315,6 +317,32 @@ class VisualizationLogic extends BaseLogic @@ -315,6 +317,32 @@ class VisualizationLogic extends BaseLogic
315 } 317 }
316 318
317 /** 319 /**
  320 + * @remark :生成记录
  321 + * @name :setTemplateLog
  322 + * @author :lyh
  323 + * @method :post
  324 + * @time :2023/8/23 11:16
  325 + */
  326 + public function setTemplateLog($template_id,$html,$source,$source_id){
  327 + $data = [
  328 + 'template_id'=>$template_id,
  329 + 'project_id'=>$this->user['project_id'],
  330 + 'operator_id'=>$this->user['id'],
  331 + 'text'=>$html,
  332 + 'source'=>$source,
  333 + 'source_id'=>$source_id,
  334 + 'main_html'=>characterTruncation($this->param['html'],'/<main\b[^>]*>(.*?)<\/main>/s'),
  335 + 'main_css'=>characterTruncation($this->param['html'],'/<style id="globalsojs-styles">(.*?)<\/style>/s'),
  336 + 'head_html'=>characterTruncation($html,'/<header\b[^>]*>(.*?)<\/header>/s'),
  337 + 'head_css'=>characterTruncation($html,'/<style id="globalsojs-header">(.*?)<\/style>/s'),
  338 + 'footer_html'=>characterTruncation($html,'/<footer\b[^>]*>(.*?)<\/footer>/s'),
  339 + 'footer_css'=>characterTruncation($html,'/<style id="globalsojs-footer">(.*?)<\/style>/s'),
  340 + ];
  341 + $bTemplateLogModel = new BTemplateLog();
  342 + return $bTemplateLogModel->add($data);
  343 + }
  344 +
  345 + /**
318 * @remark :保存头部公共数据 346 * @remark :保存头部公共数据
319 * @name :saveCommonTemplate 347 * @name :saveCommonTemplate
320 * @author :lyh 348 * @author :lyh
@@ -311,6 +311,7 @@ Route::middleware(['aloginauth'])->group(function () { @@ -311,6 +311,7 @@ Route::middleware(['aloginauth'])->group(function () {
311 Route::any('/setHeadFooter', [Aside\Template\ATemplateController::class, 'setHeadFooter'])->name('admin.template_setHeadFooter'); 311 Route::any('/setHeadFooter', [Aside\Template\ATemplateController::class, 'setHeadFooter'])->name('admin.template_setHeadFooter');
312 Route::any('/getHeadFooter', [Aside\Template\ATemplateController::class, 'getHeadFooter'])->name('admin.template_getHeadFooter'); 312 Route::any('/getHeadFooter', [Aside\Template\ATemplateController::class, 'getHeadFooter'])->name('admin.template_getHeadFooter');
313 Route::any('/setPublicTemplate', [Aside\Template\ATemplateController::class, 'setPublicTemplate'])->name('admin.template_setPublicTemplate'); 313 Route::any('/setPublicTemplate', [Aside\Template\ATemplateController::class, 'setPublicTemplate'])->name('admin.template_setPublicTemplate');
  314 + Route::any('/getProjectPublicTemplate', [Aside\Template\ATemplateController::class, 'getProjectPublicTemplate'])->name('admin.template_getProjectPublicTemplate');
314 // 左侧模块 315 // 左侧模块
315 Route::prefix('module')->group(function () { 316 Route::prefix('module')->group(function () {
316 Route::any('/', [Aside\Template\ATemplateModuleController::class, 'lists'])->name('admin.ATemplateModule_lists'); 317 Route::any('/', [Aside\Template\ATemplateModuleController::class, 'lists'])->name('admin.ATemplateModule_lists');