作者 赵彬吉

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into develop

@@ -435,22 +435,14 @@ function isEnglish($str) { @@ -435,22 +435,14 @@ function isEnglish($str) {
435 * @method :post 435 * @method :post
436 * @time :2023/6/28 17:39 436 * @time :2023/6/28 17:39
437 */ 437 */
438 -function characterTruncation($str,$rule = 1){  
439 - switch ($rule){  
440 - case 1:  
441 - $rule_str = '/<head>(.*?)<\/head>/';  
442 - break;  
443 - case 2:  
444 - $rule_str = '/<main>(.*?)<\/main>/';  
445 - break;  
446 - case 3:  
447 - $rule_str = '/<footer>(.*?)<\/footer>/';  
448 - break;  
449 - }  
450 - preg_match($rule_str, $str, $result);  
451 - if (isset($result[1])) {  
452 - $result = $result[1];  
453 - return $result; 438 +function characterTruncation($string,$startTag,$endTag){
  439 + $startPos = strpos($string, $startTag);
  440 + $endPos = strpos($string, $endTag);
  441 + if ($startPos !== false && $endPos !== false) {
  442 + $startPos += strlen($startTag);
  443 + $result = substr($string, $startPos, $endPos - $startPos);
  444 + } else {
  445 + echo "无法找到起始或结束标签";
454 } 446 }
455 return $result; 447 return $result;
456 } 448 }
@@ -2,7 +2,11 @@ @@ -2,7 +2,11 @@
2 2
3 namespace App\Http\Controllers\Aside\Template; 3 namespace App\Http\Controllers\Aside\Template;
4 4
  5 +use App\Enums\Common\Code;
5 use App\Http\Controllers\Aside\BaseController; 6 use App\Http\Controllers\Aside\BaseController;
  7 +use App\Http\Logic\Aside\Template\ATemplateLogic;
  8 +use App\Http\Logic\Aside\Template\ATemplateModuleLogic;
  9 +use App\Http\Requests\Aside\Template\ATemplateModuleRequest;
6 10
7 /** 11 /**
8 * @remark :左侧模块管理 12 * @remark :左侧模块管理
@@ -19,8 +23,9 @@ class ATemplateModuleController extends BaseController @@ -19,8 +23,9 @@ class ATemplateModuleController extends BaseController
19 * @method :post 23 * @method :post
20 * @time :2023/6/28 16:54 24 * @time :2023/6/28 16:54
21 */ 25 */
22 - public function lists(){  
23 - 26 + public function lists(ATemplateModuleLogic $ATemplateModuleLogic){
  27 + $lists = $ATemplateModuleLogic->aTemplateModuleLists($this->map,$this->page,$this->row,$this->order);
  28 + $this->response('success',Code::SUCCESS,$lists);
24 } 29 }
25 30
26 /** 31 /**
@@ -30,8 +35,17 @@ class ATemplateModuleController extends BaseController @@ -30,8 +35,17 @@ class ATemplateModuleController extends BaseController
30 * @method :post 35 * @method :post
31 * @time :2023/6/28 16:55 36 * @time :2023/6/28 16:55
32 */ 37 */
33 - public function save(){  
34 - 38 + public function save(ATemplateModuleRequest $ATemplateModuleRequest,ATemplateModuleLogic $ATemplateModuleLogic){
  39 + if(isset($this->param['id'])){
  40 + $this->request->validate([
  41 + 'id'=>'required'
  42 + ],[
  43 + 'id.required' => 'ID不能为空'
  44 + ]);
  45 + }
  46 + $ATemplateModuleRequest->validated();
  47 + $ATemplateModuleLogic->aTemplateModuleSave();
  48 + $this->response('success');
35 } 49 }
36 50
37 51
@@ -42,8 +56,14 @@ class ATemplateModuleController extends BaseController @@ -42,8 +56,14 @@ class ATemplateModuleController extends BaseController
42 * @method :post 56 * @method :post
43 * @time :2023/6/28 16:55 57 * @time :2023/6/28 16:55
44 */ 58 */
45 - public function status(){  
46 - 59 + public function status(ATemplateModuleLogic $ATemplateModuleLogic){
  60 + $this->request->validate([
  61 + 'id'=>'required'
  62 + ],[
  63 + 'id.required' => 'ID不能为空'
  64 + ]);
  65 + $ATemplateModuleLogic->aTemplateModuleStatus();
  66 + $this->response('success');
47 } 67 }
48 68
49 /** 69 /**
@@ -53,7 +73,13 @@ class ATemplateModuleController extends BaseController @@ -53,7 +73,13 @@ class ATemplateModuleController extends BaseController
53 * @method :post 73 * @method :post
54 * @time :2023/6/28 16:55 74 * @time :2023/6/28 16:55
55 */ 75 */
56 - public function del(){  
57 - 76 + public function del(ATemplateModuleLogic $ATemplateModuleLogic){
  77 + $this->request->validate([
  78 + 'id'=>'required'
  79 + ],[
  80 + 'id.required' => 'ID不能为空'
  81 + ]);
  82 + $ATemplateModuleLogic->aTemplateModuleDel();
  83 + $this->response('success');
58 } 84 }
59 } 85 }
1 -<?php  
2 -  
3 -namespace App\Http\Controllers\Aside;  
4 -  
5 -use App\Enums\Common\Code;  
6 -use App\Http\Logic\Aside\Template\TemplateChunkLogic;  
7 -use App\Http\Logic\Aside\Template\TemplateLogic;  
8 -use App\Http\Requests\Aside\Template\TemplateChunkRequest;  
9 -use App\Http\Requests\Aside\Template\TemplateRequest;  
10 -use App\Models\Template\ATemplate;  
11 -use App\Models\Template\ATemplateChunk;  
12 -use App\Models\Template\ATemplateHtml;  
13 -use Illuminate\Validation\Rule;  
14 -  
15 -/**  
16 - * 模板  
17 - * @author:dc  
18 - * @time 2023/5/4 17:10  
19 - * Class TemplateController  
20 - * @package App\Http\Controllers\Aside  
21 - */  
22 -class TemplateController extends BaseController  
23 -{  
24 -  
25 -  
26 - /**  
27 - * 列表  
28 - * @author:dc  
29 - * @time 2023/5/4 17:10  
30 - */  
31 - public function index(){  
32 -  
33 - $lists = (new ATemplate)->lists(  
34 - $this->map,  
35 - $this->page,  
36 - $this->row,  
37 - $this->order,  
38 - ['id','name','status','is_default','sort','thumb','url','created_at','updated_at']  
39 - );  
40 -  
41 - $this->response('success',Code::SUCCESS,$lists);  
42 -  
43 - }  
44 -  
45 -  
46 -  
47 -  
48 - /**  
49 - * @param false $is_edit  
50 - * @return \Illuminate\Http\JsonResponse  
51 - * @throws \Illuminate\Validation\ValidationException  
52 - * @throws \Psr\Container\ContainerExceptionInterface  
53 - * @throws \Psr\Container\NotFoundExceptionInterface  
54 - * @author:dc  
55 - * @time 2023/5/11 10:13  
56 - */  
57 - public function save(TemplateRequest $request){  
58 -  
59 - $res = TemplateLogic::instance()->save($request->validated());  
60 -  
61 - $data = TemplateLogic::instance()->getInfo($res['id']);  
62 -  
63 - return $this->response('',Code::SUCCESS,$data);  
64 -  
65 - }  
66 -  
67 -  
68 - /**  
69 - * 删除  
70 - * @author:dc  
71 - * @time 2023/5/4 17:10  
72 - */  
73 - public function delete($id){  
74 -  
75 - if(ATemplate::destroy($id)){  
76 - return $this->response('删除成功');  
77 - }  
78 -  
79 - return $this->response('删除失败',Code::SYSTEM_ERROR);  
80 - }  
81 -  
82 -  
83 -  
84 -  
85 -  
86 -  
87 - /**  
88 - * 列表  
89 - * @author:dc  
90 - * @time 2023/5/4 17:10  
91 - */  
92 - public function html_index($template_id){  
93 -  
94 - $lists = (new ATemplateHtml)->list(  
95 - ['template_id'=>$template_id],  
96 - $this->order  
97 -// , ['id','name','status','is_default','sort','thumb','url','created_at','updated_at']  
98 - );  
99 - $this->response('success',Code::SUCCESS,$lists);  
100 -  
101 - }  
102 -  
103 -  
104 - /**  
105 - * 编辑  
106 - * @author:dc  
107 - * @time 2023/5/4 16:19  
108 - */  
109 - public function html_edit($template_id){  
110 - $this->html_save($template_id,true);  
111 - }  
112 -  
113 - /**  
114 - * 新增  
115 - * @author:dc  
116 - * @time 2023/5/5 9:30  
117 - */  
118 - public function html_insert($template_id){  
119 - $this->html_save($template_id);  
120 - }  
121 -  
122 -  
123 - /**  
124 - * @param false $is_edit  
125 - * @return \Illuminate\Http\JsonResponse  
126 - * @throws \Illuminate\Validation\ValidationException  
127 - * @throws \Psr\Container\ContainerExceptionInterface  
128 - * @throws \Psr\Container\NotFoundExceptionInterface  
129 - * @author:dc  
130 - * @time 2023/5/11 10:13  
131 - */  
132 - private function html_save($template_id,$is_edit=false){  
133 -  
134 - $verify = [  
135 - 'role' => [  
136 - 'id' => ['required','integer'],  
137 -// 'template_id' => ['required','integer'],  
138 - 'name' => ['required'],  
139 - 'type' => ['required',Rule::in(array_keys(ATemplateHtml::$typeMap))],  
140 - 'css' => [],  
141 - 'script' => [],  
142 - 'html' => ['required'],  
143 - ],  
144 - 'message' => [  
145 - 'id.required' => 'id必须',  
146 - 'id.integer' => 'id必须',  
147 -  
148 -// 'template_id.required' => '模板选择错误',  
149 -// 'template_id.integer' => '模板选择错误',  
150 -  
151 - 'name.required' => '名称必须',  
152 -  
153 - 'type.required' => '页面类型选择错误',  
154 - 'type.in' => '页面类型选择错误',  
155 -  
156 -  
157 - 'html.required' => 'html 代码必须',  
158 -  
159 - ]  
160 - ];  
161 - if(!$is_edit) unset($verify['role']['id']);  
162 -  
163 - $data = $this->validate(request() ,$verify['role'],$verify['message']);  
164 -  
165 -  
166 -  
167 - // 保存  
168 - $id = ATemplateHtml::_save($template_id,$data,$data['id']??0);  
169 -  
170 - if(!$id){  
171 - return $this->response('保存失败',Code::SYSTEM_ERROR);  
172 - }  
173 -  
174 - return $this->response('保存成功',Code::SUCCESS,ATemplateHtml::_find($id));  
175 - }  
176 -  
177 -  
178 - /**  
179 - * 删除  
180 - * @author:dc  
181 - * @time 2023/5/4 17:10  
182 - */  
183 - public function html_delete($template_id, $id){  
184 -  
185 - if(ATemplateHtml::where('template_id',$template_id)->where('id',$id)->delete()){  
186 - return $this->response('删除成功');  
187 - }  
188 -  
189 - return $this->response('删除失败',Code::SYSTEM_ERROR);  
190 - }  
191 -  
192 -  
193 - /**  
194 - * 页面类型  
195 - * @return \Illuminate\Http\JsonResponse  
196 - * @throws \Psr\Container\ContainerExceptionInterface  
197 - * @throws \Psr\Container\NotFoundExceptionInterface  
198 - * @author:dc  
199 - * @time 2023/5/11 10:29  
200 - */  
201 - public function html_type(){  
202 - return $this->response('',Code::SUCCESS,ATemplateHtml::$typeMap);  
203 - }  
204 -  
205 -  
206 -  
207 -  
208 -  
209 -  
210 - /**  
211 - * 自定义界面,块  
212 - * @author:dc  
213 - * @time 2023/5/29 10:27  
214 - */  
215 - public function chunk_lists(){  
216 - $lists = TemplateChunkLogic::instance()->getList()->toArray();  
217 - return $this->response('',Code::SUCCESS,$lists);  
218 - }  
219 -  
220 -  
221 - /**  
222 - * 自定义界面,块 保存  
223 - * @author:dc  
224 - * @time 2023/5/29 10:37  
225 - */  
226 - public function chunk_save(TemplateChunkRequest $request){  
227 - $data = TemplateChunkLogic::instance()->save($request->validated());  
228 - return $this->success(TemplateChunkLogic::instance()->getInfo($data['id']));  
229 - }  
230 -  
231 -  
232 - /**  
233 - * 自定义界面,块 删除  
234 - * @author:dc  
235 - * @time 2023/5/29 10:38  
236 - */  
237 - public function chunk_delete($chunk_id){  
238 -  
239 - TemplateChunkLogic::instance()->delete($chunk_id);  
240 -  
241 - return $this->response('删除成功');  
242 -  
243 - }  
244 -  
245 -  
246 -  
247 -  
248 -  
249 -  
250 -  
251 -  
252 -}  
1 -<?php  
2 -  
3 -namespace App\Http\Controllers\Bside;  
4 -  
5 -  
6 -use App\Enums\Common\Code;  
7 -use App\Http\Logic\Bside\CustomLogic;  
8 -use App\Http\Requests\Bside\Custom\CustomRequest;  
9 -use App\Models\BCustom;  
10 -  
11 -/**  
12 - * 自定义 页面  
13 - * @author:dc  
14 - * @time 2023/5/9 10:08  
15 - * Class CustomController  
16 - * @package App\Http\Controllers\Bside  
17 - */  
18 -class CustomController extends BaseController  
19 -{  
20 -  
21 - /**  
22 - * 列表数据  
23 - * @throws \Psr\Container\ContainerExceptionInterface  
24 - * @throws \Psr\Container\NotFoundExceptionInterface  
25 - * @author:dc  
26 - * @time 2023/5/8 16:37  
27 - */  
28 - public function index(){  
29 -  
30 - // 每页数量  
31 - $limit = intval($this->param['limit']??20);  
32 -  
33 - $name = request()->get('name');  
34 - $map = [];  
35 - if($name){  
36 - $map[] = ['name','like','%'.htmlspecialchars($name).'%'];  
37 - }  
38 -  
39 - $lists = CustomLogic::instance()->getList(  
40 - $map,  
41 - [],  
42 - ['id','name','title','status','url','keywords','description','created_at','updated_at'],  
43 - $limit  
44 - );  
45 -  
46 - return $this->success($lists);  
47 -  
48 - }  
49 -  
50 -  
51 - /**  
52 - * 新增修改  
53 - * @return \Illuminate\Http\JsonResponse  
54 - * @throws \Illuminate\Validation\ValidationException  
55 - * @throws \Psr\Container\ContainerExceptionInterface  
56 - * @throws \Psr\Container\NotFoundExceptionInterface  
57 - * @author:dc  
58 - * @time 2023/5/8 17:06  
59 - */  
60 - public function save(CustomRequest $request){  
61 -  
62 - return $this->success(CustomLogic::instance()->save($request->validated()));  
63 - }  
64 -  
65 -  
66 - /**  
67 - * 删除数据  
68 - * @return \Illuminate\Http\JsonResponse  
69 - * @author:dc  
70 - * @time 2023/5/9 9:20  
71 - */  
72 - public function delete(CustomRequest $request){  
73 -  
74 - CustomLogic::instance()->delete($request->validated()['id']);  
75 -  
76 - return $this->response('删除成功');  
77 -  
78 - }  
79 -  
80 -  
81 -  
82 - /**  
83 - * @param $id  
84 - * @return \Illuminate\Http\JsonResponse  
85 - * @author:dc  
86 - * @time 2023/5/10 14:10  
87 - */  
88 - public function html($id)  
89 - {  
90 - $data = BCustom::_find($this->user['project_id'],$id);  
91 - if(!$data){  
92 - return $this->response('数据不存在',Code::SYSTEM_ERROR);  
93 - }  
94 - if($this->isPost()){  
95 - $html = $this->param['html']??'';  
96 -  
97 - $data->html = $html;  
98 -  
99 - $data->save();  
100 -  
101 - }  
102 -  
103 -  
104 - return $this->response('',Code::SUCCESS,$data['html']);  
105 -  
106 - }  
107 -  
108 -  
109 -  
110 -  
111 -}  
@@ -2,9 +2,62 @@ @@ -2,9 +2,62 @@
2 2
3 namespace App\Http\Controllers\Bside\Template; 3 namespace App\Http\Controllers\Bside\Template;
4 4
  5 +use App\Enums\Common\Code;
5 use App\Http\Controllers\Bside\BaseController; 6 use App\Http\Controllers\Bside\BaseController;
  7 +use App\Http\Logic\Bside\BTemplate\BTemplateLogic;
6 8
7 class BTemplateController extends BaseController 9 class BTemplateController extends BaseController
8 { 10 {
  11 + /**
  12 + * @remark :获取所有公共主题
  13 + * @name :ATemplateLists
  14 + * @author :lyh
  15 + * @method :post
  16 + * @time :2023/6/29 9:21
  17 + */
  18 + public function publicTemplateLists(BTemplateLogic $BTemplateLogic){
  19 + $lists = $BTemplateLogic->publicTemplateLists($this->map,$this->order);
  20 + $this->response('success',Code::SUCCESS,$lists);
  21 + }
9 22
  23 + /**
  24 + * @remark :获取当前已选择的模板
  25 + * @name :getModuleTemplate
  26 + * @author :lyh
  27 + * @method :post
  28 + * @time :2023/6/29 9:40
  29 + */
  30 + public function getPublicTemplate(BTemplateLogic $BTemplateLogic){
  31 + $info = $BTemplateLogic->getTemplate();
  32 + $this->response('success',Code::SUCCESS,$info);
  33 + }
  34 +
  35 + /**
  36 + * @remark :设置默认模板
  37 + * @name :setModuleTemplate
  38 + * @author :lyh
  39 + * @method :post
  40 + * @time :2023/6/29 9:39
  41 + */
  42 + public function setPublicTemplate(BTemplateLogic $BTemplateLogic){
  43 + $this->request->validate([
  44 + 'template_id'=>['required'],
  45 + ],[
  46 + 'template_id.required' => '模版ID不能为空',
  47 + ]);
  48 + $BTemplateLogic->setTemplate();
  49 + $this->response('success');
  50 + }
  51 +
  52 + /**
  53 + * @remark :保存编辑后的模板
  54 + * @name :save
  55 + * @author :lyh
  56 + * @method :post
  57 + * @time :2023/6/29 10:02
  58 + */
  59 + public function save(BTemplateLogic $BTemplateLogic){
  60 + $BTemplateLogic->templateSave();
  61 + $this->response('success');
  62 + }
10 } 63 }
  1 +<?php
  2 +
  3 +namespace App\Http\Controllers\Bside\Template;
  4 +
  5 +use App\Enums\Common\Code;
  6 +use App\Http\Controllers\Bside\BaseController;
  7 +use App\Http\Logic\Bside\BTemplate\BTemplateModuleLogic;
  8 +
  9 +/**
  10 + * @remark :左侧模块管理
  11 + * @name :BTemplateModuleController
  12 + * @author :lyh
  13 + * @time :2023/6/29 11:32
  14 + */
  15 +class BTemplateModuleController extends BaseController
  16 +{
  17 + /**
  18 + * @remark :获取左侧模块列表
  19 + * @name :lists
  20 + * @author :lyh
  21 + * @method :post
  22 + * @time :2023/6/29 11:33
  23 + */
  24 + public function lists(BTemplateModuleLogic $BTemplateModuleLogic){
  25 + $list = $BTemplateModuleLogic->ModuleList($this->map,$this->page,$this->row,$this->order);
  26 + $this->response('success',Code::SUCCESS,$list);
  27 + }
  28 +}
  1 +<?php
  2 +
  3 +namespace App\Http\Controllers\Bside\Template;
  4 +
  5 +use App\Http\Controllers\Bside\BaseController;
  6 +
  7 +/**
  8 + * @remark :自定义模块
  9 + * @name :CustomTemplateController
  10 + * @author :lyh
  11 + * @time :2023/6/29 9:23
  12 + */
  13 +class CustomTemplateController extends BaseController
  14 +{
  15 + /**
  16 + * @remark :自定义界面列表
  17 + * @name :lists
  18 + * @author :lyh
  19 + * @method :post
  20 + * @time :2023/6/29 9:29
  21 + */
  22 + public function lists(){
  23 +
  24 + }
  25 +
  26 + /**
  27 + * @remark :保存自定义模块
  28 + * @name :save
  29 + * @author :lyh
  30 + * @method :post
  31 + * @time :2023/6/29 9:30
  32 + */
  33 + public function save(){
  34 +
  35 + }
  36 +
  37 + /**
  38 + * @remark :删除自定义模块
  39 + * @name :del
  40 + * @author :lyh
  41 + * @method :post
  42 + * @time :2023/6/29 9:30
  43 + */
  44 + public function del(){
  45 +
  46 + }
  47 +}
1 -<?php  
2 -  
3 -namespace App\Http\Controllers\Bside;  
4 -  
5 -  
6 -use App\Enums\Common\Code;  
7 -use App\Http\Logic\Aside\Template\TemplateChunkLogic;  
8 -use App\Http\Logic\Bside\TemplateLogic;  
9 -use App\Http\Requests\Bside\TemplateRequest;  
10 -use App\Models\Template\ATemplate;  
11 -use App\Models\Template\ATemplateHtml;  
12 -use App\Models\Template\BSetting;  
13 -use App\Models\Template\BTemplate;  
14 -use App\Models\Template\BTemplateData;  
15 -use Illuminate\Validation\Rule;  
16 -  
17 -  
18 -/**  
19 - * 模板  
20 - * @author:dc  
21 - * @time 2023/5/9 14:00  
22 - * Class TemplateController  
23 - * @package App\Http\Controllers\Bside  
24 - */  
25 -class TemplateController extends BaseController  
26 -{  
27 -  
28 -  
29 - /**  
30 - * 模板列表  
31 - * @return \Illuminate\Http\JsonResponse  
32 - * @author:dc  
33 - * @time 2023/5/9 14:20  
34 - */  
35 - public function index(){  
36 - $limit = intval($this->param['limit']??20);  
37 - // 读取列表  
38 - $data = ATemplate::_bAll($limit)->toArray();  
39 - return $this->success($data);  
40 - }  
41 -  
42 -  
43 - /**  
44 - * 当前使用的模板  
45 - * @author:dc  
46 - * @time 2023/5/9 15:19  
47 - */  
48 - public function info(){  
49 - // 保存更新  
50 - if($this->isPost()){  
51 - $template_id = intval($this->param['template_id']??0);  
52 - // 是否存在模板  
53 - if($template_id && ATemplate::_bFind($template_id)){  
54 - BSetting::_save($this->user['project_id'],$template_id);  
55 - }else{  
56 - return $this->response('无法使用不存在的模板',Code::SYSTEM_ERROR);  
57 - }  
58 - }  
59 - // 读取我的模板  
60 - $conf = BSetting::_get($this->user['project_id']);  
61 - // 读取模板信息  
62 - $data = ATemplate::_bFind($conf['template_id']);  
63 - return $this->success([  
64 - 'template_id' => $data['id']??0,  
65 - 'name' => $data['name']??'',  
66 - 'thumb' => $data['thumb']??'',  
67 - 'time' => $conf['time']  
68 - ]);  
69 - }  
70 -  
71 - /**  
72 - * 保存模板  
73 - * @author:dc  
74 - * @time 2023/5/10 10:53  
75 - */  
76 - public function save(){  
77 - $html = '<header id="globalso-header" class="web_head sticky-top py-1 py-md-0" style="background-color: #318fff;">asdf</header>';  
78 - // 替换 header  
79 - $html = preg_replace("/<header(.*)id=\"globalso-header\"(.*)>([\s\S]*)<\/header>/iU",'',$html);  
80 - $html = preg_replace("/<main(.*)id=\"globalso-main\"(.*)>([\s\S]*)<\/main>/iU",'',$html);  
81 - $html = preg_replace("/<footer(.*)id=\"globalso-footer\"(.*)>([\s\S]*)<\/footer>/iU",'',$html);  
82 - }  
83 -  
84 -  
85 - /**  
86 - * 数据源  
87 - * @return \Illuminate\Http\JsonResponse  
88 - * @author:dc  
89 - * @time 2023/5/11 10:47  
90 - */  
91 - public function get_type(){  
92 - return $this->success(ATemplateHtml::$sourceMap);  
93 - }  
94 -  
95 -  
96 - /**  
97 - * 获取 编辑html  
98 - * @author:dc  
99 - * @time 2023/5/11 9:33  
100 - */  
101 - public function get_html(){  
102 - $source = $this->param['source']??'';  
103 - $source_id = $this->param['source_id']??0;  
104 - $data = TemplateLogic::instance()->first($source,$source_id);  
105 - $res = [  
106 - 'html' => $data['html']??'',  
107 - 'section_list_id' => $data['section_list_id']??'',  
108 - 'name' => 'example',  
109 - ];  
110 - return $this->response('',Code::SUCCESS,$res);  
111 - }  
112 -  
113 - /**  
114 - * 保存  
115 - * @author:dc  
116 - * @time 2023/5/11 11:00  
117 - */  
118 - public function save_html(TemplateRequest $request){  
119 - $data = $request->validated();  
120 - $data['data_source'] = $data['source'];  
121 - $data['data_source_id'] = $data['source_id'];  
122 -  
123 - // 不需要数据id  
124 - if(in_array($data['data_source'],['index'])){  
125 - $data['data_source_id'] = 0;  
126 - }  
127 - unset($data['source']);  
128 - unset($data['source_id']);  
129 - $id = TemplateLogic::instance()->save($data);  
130 - if($id){  
131 - $info = TemplateLogic::instance()->getInfo($id['id']);  
132 - $info['source'] = $info['data_source'];  
133 - $info['source_id'] = $info['data_source_id'];  
134 - unset($info['data_source']);  
135 - unset($info['data_source_id']);  
136 - unset($info['template_id']);  
137 - unset($info['created_at']);  
138 - unset($info['updated_at']);  
139 - unset($info['css']);  
140 - unset($info['script']);  
141 - unset($info['data_ext']);  
142 - return $this->success($info,Code::SUCCESS,'保存成功');  
143 - }  
144 - return $this->response('保存失败',Code::SYSTEM_ERROR);  
145 -  
146 - }  
147 -  
148 - /**  
149 - * 状态修改  
150 - * @param TemplateRequest $request  
151 - * @return \Illuminate\Http\JsonResponse  
152 - * @throws \App\Exceptions\AsideGlobalException  
153 - * @throws \App\Exceptions\BsideGlobalException  
154 - * @author:dc  
155 - * @time 2023/5/15 14:43  
156 - */  
157 - public function status(TemplateRequest $request){  
158 - $data = $request->validated();  
159 - TemplateLogic::instance()->status($data['source'],$data['source_id'],$data['status']);  
160 - return $this->response('保存成功');  
161 -  
162 - }  
163 -  
164 -  
165 - /**  
166 - * 自定义块  
167 - * @author:dc  
168 - * @time 2023/5/10 14:55  
169 - */  
170 - public function chunk(){  
171 - $lists = TemplateChunkLogic::instance()->getList([['status','=',1]],['sort'=>'asc'],['*'],false);  
172 - foreach ($lists as &$list){  
173 - unset($list['created_at']);  
174 - unset($list['updated_at']);  
175 - unset($list['status']);  
176 - }  
177 - return $this->success($lists);  
178 - }  
179 -  
180 -  
181 -  
182 -  
183 -  
184 -  
185 -}  
@@ -56,7 +56,7 @@ class FileController @@ -56,7 +56,7 @@ class FileController
56 if ($info === false) { 56 if ($info === false) {
57 $this->response('指定文件不存在!', Code::USER_ERROR); 57 $this->response('指定文件不存在!', Code::USER_ERROR);
58 } 58 }
59 - $path = $info['path']; 59 + $path = $this->path.$info['path'];
60 if (!is_file($path)) { 60 if (!is_file($path)) {
61 $this->response('指定文件已被系统删除!', Code::USER_ERROR); 61 $this->response('指定文件已被系统删除!', Code::USER_ERROR);
62 } 62 }
@@ -158,7 +158,7 @@ class FileController @@ -158,7 +158,7 @@ class FileController
158 return $this->response($files->getError(), Code::USER_ERROR); 158 return $this->response($files->getError(), Code::USER_ERROR);
159 } 159 }
160 $data = [ 160 $data = [
161 - 'path' => $url.$fileName, 161 + 'path' => $fileName,
162 'created_at' => date('Y-m-d H:i:s',time()), 162 'created_at' => date('Y-m-d H:i:s',time()),
163 'size' => $res->getSize(), 163 'size' => $res->getSize(),
164 'hash' => $hash, 164 'hash' => $hash,
@@ -200,7 +200,7 @@ class FileController @@ -200,7 +200,7 @@ class FileController
200 return $this->response($file->getError(), Code::USER_ERROR); 200 return $this->response($file->getError(), Code::USER_ERROR);
201 } 201 }
202 $save_data[] = [ 202 $save_data[] = [
203 - 'path' => $url.$fileName, 203 + 'path' => $fileName,
204 'created_at' => date('Y-m-d H:i:s',time()), 204 'created_at' => date('Y-m-d H:i:s',time()),
205 'size' => $res->getSize(), 205 'size' => $res->getSize(),
206 'hash' => $hash, 206 'hash' => $hash,
@@ -69,7 +69,7 @@ class ImageController @@ -69,7 +69,7 @@ class ImageController
69 $content = file_get_contents($filename); 69 $content = file_get_contents($filename);
70 $header['Content-Length'] = strlen($content); 70 $header['Content-Length'] = strlen($content);
71 }else{ 71 }else{
72 - $path = $info['path']; 72 + $path = $this->path.$info['path'];
73 if (!is_file($path)) { 73 if (!is_file($path)) {
74 $this->response('指定图片已被系统删除!', Code::USER_ERROR); 74 $this->response('指定图片已被系统删除!', Code::USER_ERROR);
75 } 75 }
@@ -137,7 +137,7 @@ class ImageController @@ -137,7 +137,7 @@ class ImageController
137 return $this->response($files->getError(), Code::USER_ERROR); 137 return $this->response($files->getError(), Code::USER_ERROR);
138 } 138 }
139 $data = [ 139 $data = [
140 - 'path' => $url.$fileName, 140 + 'path' => $fileName,
141 'created_at' => date('Y-m-d H:i:s',time()), 141 'created_at' => date('Y-m-d H:i:s',time()),
142 'size' => $res->getSize(), 142 'size' => $res->getSize(),
143 'hash' => $hash, 143 'hash' => $hash,
@@ -197,7 +197,7 @@ class ImageController @@ -197,7 +197,7 @@ class ImageController
197 return $this->response($file->getError(), Code::USER_ERROR); 197 return $this->response($file->getError(), Code::USER_ERROR);
198 } 198 }
199 $save_data[] = [ 199 $save_data[] = [
200 - 'path' => $url.$fileName, 200 + 'path' => $fileName,
201 'created_at' => date('Y-m-d H:i:s',time()), 201 'created_at' => date('Y-m-d H:i:s',time()),
202 'updated_at'=>date('Y-m-d H:i:s',time()), 202 'updated_at'=>date('Y-m-d H:i:s',time()),
203 'size' => $res->getSize(), 203 'size' => $res->getSize(),
@@ -258,10 +258,28 @@ class ImageController @@ -258,10 +258,28 @@ class ImageController
258 case 'image': 258 case 'image':
259 $data['image_link'] = url('/b/image/' . $v); 259 $data['image_link'] = url('/b/image/' . $v);
260 break; 260 break;
  261 + case 'hash':
  262 + $data['image_link'] = url('/b/image/' . $v);
  263 + break;
  264 + case 'path':
  265 + $data['path_link'] = url('/upload/images/' . basename($v));
  266 + break;
261 } 267 }
262 } 268 }
263 } 269 }
264 return $data; 270 return $data;
265 } 271 }
266 272
  273 + /**
  274 + * @remark :获取所有图片
  275 + * @name :getImageList
  276 + * @author :lyh
  277 + * @method :post
  278 + * @time :2023/6/29 11:48
  279 + */
  280 + public function getImageList(){
  281 + $imageModel = new ImageModel();
  282 + $lists = $imageModel->list([],$order = 'id',['id','hash','type','path','created_at']);
  283 + $this->response('success',Code::SUCCESS,$lists);
  284 + }
267 } 285 }
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 namespace App\Http\Logic\Aside\Template; 3 namespace App\Http\Logic\Aside\Template;
4 4
5 use App\Http\Logic\Aside\BaseLogic; 5 use App\Http\Logic\Aside\BaseLogic;
6 -use App\Models\Template\ATemplate; 6 +use App\Models\Template\Template;
7 use App\Models\Template\BSetting; 7 use App\Models\Template\BSetting;
8 8
9 class ATemplateLogic extends BaseLogic 9 class ATemplateLogic extends BaseLogic
@@ -11,7 +11,7 @@ class ATemplateLogic extends BaseLogic @@ -11,7 +11,7 @@ class ATemplateLogic extends BaseLogic
11 public function __construct() 11 public function __construct()
12 { 12 {
13 parent::__construct(); 13 parent::__construct();
14 - $this->model = new ATemplate(); 14 + $this->model = new Template();
15 $this->param = $this->requestAll; 15 $this->param = $this->requestAll;
16 } 16 }
17 17
@@ -36,9 +36,12 @@ class ATemplateLogic extends BaseLogic @@ -36,9 +36,12 @@ class ATemplateLogic extends BaseLogic
36 */ 36 */
37 public function aTemplateSave(){ 37 public function aTemplateSave(){
38 //字符串截取 38 //字符串截取
39 - $this->param['head_html'] = characterTruncation($this->param['html']);  
40 - $this->param['main_html'] = characterTruncation($this->param['html'],2);  
41 - $this->param['footer_html'] = characterTruncation($this->param['html'],3); 39 + $this->param['head_html'] = characterTruncation($this->param['html'],'<header>','</header>');
  40 + $this->param['main_html'] = characterTruncation($this->param['html'],'<main>','</main>');
  41 + $this->param['footer_html'] = characterTruncation($this->param['html'],'<footer>','</footer>');
  42 + $this->param['head_css'] = characterTruncation($this->param['html'],'<style id="vvvebjs-header">','</style>');
  43 + $this->param['main_css'] = characterTruncation($this->param['html'],'<style id="vvvebjs-style">','</style>');
  44 + $this->param['footer_css'] = characterTruncation($this->param['html'],'<style id="vvvebjs-footer">','</style>');
42 if(isset($this->param['id'])){ 45 if(isset($this->param['id'])){
43 $rs = $this->model->edit($this->param,['id'=>$this->param['id']]); 46 $rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
44 }else{ 47 }else{
@@ -3,7 +3,8 @@ @@ -3,7 +3,8 @@
3 namespace App\Http\Logic\Aside\Template; 3 namespace App\Http\Logic\Aside\Template;
4 4
5 use App\Http\Logic\Aside\BaseLogic; 5 use App\Http\Logic\Aside\BaseLogic;
6 -use App\Models\Template\ATemplateModule; 6 +use App\Models\Template\TemplateModule;
  7 +use App\Models\Template\BSetting;
7 8
8 /** 9 /**
9 * @remark :左侧模块管理 10 * @remark :左侧模块管理
@@ -16,7 +17,7 @@ class ATemplateModuleLogic extends BaseLogic @@ -16,7 +17,7 @@ class ATemplateModuleLogic extends BaseLogic
16 public function __construct() 17 public function __construct()
17 { 18 {
18 parent::__construct(); 19 parent::__construct();
19 - $this->model = new ATemplateModule(); 20 + $this->model = new TemplateModule();
20 $this->param = $this->requestAll; 21 $this->param = $this->requestAll;
21 } 22 }
22 23
@@ -27,8 +28,9 @@ class ATemplateModuleLogic extends BaseLogic @@ -27,8 +28,9 @@ class ATemplateModuleLogic extends BaseLogic
27 * @method :post 28 * @method :post
28 * @time :2023/6/28 18:01 29 * @time :2023/6/28 18:01
29 */ 30 */
30 - public function aTemplateModuleLists(){  
31 - 31 + public function aTemplateModuleLists($map,$page,$row,$order = 'created_at',$filed = ['*']){
  32 + $lists = $this->model->lists($map,$page,$row,$order,$filed);
  33 + return $this->success($lists);
32 } 34 }
33 35
34 /** 36 /**
@@ -39,7 +41,15 @@ class ATemplateModuleLogic extends BaseLogic @@ -39,7 +41,15 @@ class ATemplateModuleLogic extends BaseLogic
39 * @time :2023/6/28 18:01 41 * @time :2023/6/28 18:01
40 */ 42 */
41 public function aTemplateModuleSave(){ 43 public function aTemplateModuleSave(){
42 - 44 + if(isset($this->param['id'])){
  45 + $rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
  46 + }else{
  47 + $rs = $this->model->add($this->param);
  48 + }
  49 + if($rs === false){
  50 + $this->fail('error');
  51 + }
  52 + return $this->success();
43 } 53 }
44 54
45 /** 55 /**
@@ -50,7 +60,11 @@ class ATemplateModuleLogic extends BaseLogic @@ -50,7 +60,11 @@ class ATemplateModuleLogic extends BaseLogic
50 * @time :2023/6/28 18:02 60 * @time :2023/6/28 18:02
51 */ 61 */
52 public function aTemplateModuleStatus(){ 62 public function aTemplateModuleStatus(){
53 - 63 + $rs = $this->model->edit(['status'=>$this->param['status']],['id'=>$this->param['id']]);
  64 + if($rs === false){
  65 + $this->fail('error');
  66 + }
  67 + return $this->success();
54 } 68 }
55 69
56 /** 70 /**
@@ -61,6 +75,11 @@ class ATemplateModuleLogic extends BaseLogic @@ -61,6 +75,11 @@ class ATemplateModuleLogic extends BaseLogic
61 * @time :2023/6/28 18:02 75 * @time :2023/6/28 18:02
62 */ 76 */
63 public function aTemplateModuleDel(){ 77 public function aTemplateModuleDel(){
64 - 78 + //TODO::查看当前模板是否有模板在使用
  79 + $rs = $this->model->edit(['deleted_status'=>$this->param['deleted_status'],'deleted_at'=>date('Y-m-d H:i:s')],['id'=>$this->param['id']]);
  80 + if($rs === false){
  81 + $this->fail('error');
  82 + }
  83 + return $this->success();
65 } 84 }
66 } 85 }
@@ -3,6 +3,8 @@ @@ -3,6 +3,8 @@
3 namespace App\Http\Logic\Bside\BTemplate; 3 namespace App\Http\Logic\Bside\BTemplate;
4 4
5 use App\Http\Logic\Bside\BaseLogic; 5 use App\Http\Logic\Bside\BaseLogic;
  6 +use App\Models\Template\Template;
  7 +use App\Models\Template\BSetting;
6 use App\Models\Template\BTemplate; 8 use App\Models\Template\BTemplate;
7 9
8 /** 10 /**
@@ -19,4 +21,92 @@ class BTemplateLogic extends BaseLogic @@ -19,4 +21,92 @@ class BTemplateLogic extends BaseLogic
19 $this->model = new BTemplate(); 21 $this->model = new BTemplate();
20 $this->param = $this->requestAll; 22 $this->param = $this->requestAll;
21 } 23 }
  24 +
  25 + /**
  26 + * @remark :获取所有公共模板
  27 + * @name :publicTemplateLists
  28 + * @author :lyh
  29 + * @method :post
  30 + * @time :2023/6/29 9:34
  31 + */
  32 + public function publicTemplateLists($map,$order = 'created_at',$filed = ['*']){
  33 + $templateModel = new Template();
  34 + $lists = $templateModel->list($map,$order,$filed);
  35 + return $this->success($lists);
  36 + }
  37 +
  38 + /**
  39 + * @remark :获取当前选择的模板
  40 + * @name :getModuleTemplate
  41 + * @author :lyh
  42 + * @method :post
  43 + * @time :2023/6/29 9:44
  44 + */
  45 + public function getTemplate(){
  46 + $bSettingModel = new BSetting();
  47 + $info = $bSettingModel->read(['project_id'=>$this->user['project_id']]);
  48 + $TemplateInfo = [];
  49 + if($info !== false){
  50 + //查看当前模板是否已编辑保存
  51 + $TemplateInfo = $this->model->read(['template_id'=>$info['template_id'],'project_id'=>$this->user['project_id']]);
  52 + if($TemplateInfo === false){
  53 + //获取模板详情
  54 + $ATemplateModel = new Template();
  55 + $TemplateInfo = $ATemplateModel->read(['id'=>$info['template_id']]);
  56 + }
  57 + }
  58 + return $this->success($TemplateInfo);
  59 + }
  60 +
  61 + /**
  62 + * @remark :设置模板
  63 + * @name :setTemplate
  64 + * @author :lyh
  65 + * @method :post
  66 + * @time :2023/6/29 9:47
  67 + */
  68 + public function setTemplate(){
  69 + $bSettingModel = new BSetting();
  70 + $info = $bSettingModel->read(['project_id'=>$this->user['project_id']]);
  71 + if($info === false){
  72 + $param = [
  73 + 'project_id'=>$this->user['project_id'],
  74 + 'template_id'=>$this->param['template_id'],
  75 + ];
  76 + $rs = $bSettingModel->add($param);
  77 + }else{
  78 + $rs = $bSettingModel->edit(['template_id'=>$this->param['template_id']],['project_id'=>$this->user['project_id']]);
  79 + }
  80 + if($rs === false){
  81 + $this->fail('error');
  82 + }
  83 + return $this->success();
  84 + }
  85 +
  86 + /**
  87 + * @remark :保存修改后的模版
  88 + * @name :templateSave
  89 + * @author :lyh
  90 + * @method :post
  91 + * @time :2023/6/29 11:05
  92 + */
  93 + public function templateSave(){
  94 + //字符串截取
  95 + $this->param['head_html'] = characterTruncation($this->param['html'],'<header>','</header>');
  96 + $this->param['main_html'] = characterTruncation($this->param['html'],'<main>','</main>');
  97 + $this->param['footer_html'] = characterTruncation($this->param['html'],'<footer>','</footer>');
  98 + $this->param['head_css'] = characterTruncation($this->param['html'],'<style id="vvvebjs-header">','</style>');
  99 + $this->param['main_css'] = characterTruncation($this->param['html'],'<style id="vvvebjs-style">','</style>');
  100 + $this->param['footer_css'] = characterTruncation($this->param['html'],'<style id="vvvebjs-footer">','</style>');
  101 + if(isset($this->param['id']) && !empty($this->param['id'])){
  102 + $rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
  103 + }else{
  104 + $this->param['project_id'] = $this->user['project_id'];
  105 + $rs = $this->model->add($this->param);
  106 + }
  107 + if($rs === false){
  108 + $this->fail('error');
  109 + }
  110 + return $this->success();
  111 + }
22 } 112 }
  1 +<?php
  2 +
  3 +namespace App\Http\Logic\Bside\BTemplate;
  4 +
  5 +use App\Http\Logic\Bside\BaseLogic;
  6 +use App\Models\Template\TemplateModule;
  7 +
  8 +class BTemplateModuleLogic extends BaseLogic
  9 +{
  10 + public function __construct()
  11 + {
  12 + parent::__construct();
  13 + $this->model = new TemplateModule();
  14 + $this->param = $this->requestAll;
  15 + }
  16 +
  17 + /**
  18 + * @remark :获取左侧模块列表
  19 + * @name :ModuleList
  20 + * @author :lyh
  21 + * @method :post
  22 + * @time :2023/6/29 13:35
  23 + */
  24 + public function ModuleList($map,$page,$row,$order = 'created_at',$filed = ['*']){
  25 + $lists = $this->model->lists($map,$page,$row,$order,$filed);
  26 + return $this->success($lists);
  27 + }
  28 +}
  1 +<?php
  2 +
  3 +namespace App\Http\Logic\Bside\BTemplate;
  4 +
  5 +use App\Http\Logic\Bside\BaseLogic;
  6 +
  7 +class CustomTemplateLogic extends BaseLogic
  8 +{
  9 + public function __construct()
  10 + {
  11 + parent::__construct();
  12 + $this->model = new Custom();
  13 + $this->param = $this->requestAll;
  14 + }
  15 +}
1 -<?php  
2 -  
3 -namespace App\Http\Logic\Bside;  
4 -  
5 -use App\Helper\Arr;  
6 -use App\Models\BCustom;  
7 -use App\Models\Inquiry;  
8 -use App\Models\RouteMap;  
9 -use Illuminate\Support\Facades\DB;  
10 -  
11 -/**  
12 - * 自定义页面  
13 - * @author:dc  
14 - * @time 2023/5/12 9:47  
15 - * Class CustomLogic  
16 - * @package App\Http\Logic\Bside  
17 - */  
18 -class CustomLogic extends BaseLogic  
19 -{  
20 - public function __construct()  
21 - {  
22 - parent::__construct();  
23 -  
24 - $this->model = new BCustom();  
25 - }  
26 -  
27 - public function getList(array $map = [], array $sort = ['id' => 'desc'], array $columns = ['*'], int $limit = 20)  
28 - {  
29 - $data = parent::getList($map, $sort, $columns, $limit);  
30 - foreach ($data['list'] as &$v){  
31 - $v['route'] = RouteMap::getRoute(RouteMap::SOURCE_PAGE, $v['id'], $this->project['id']);  
32 - $v['url'] = $this->getProjectDomain() . $v['route'];  
33 - }  
34 - return $this->success($data);  
35 - }  
36 -  
37 - /**  
38 - * @param $param  
39 - * @return array  
40 - * @throws \App\Exceptions\AsideGlobalException  
41 - * @throws \App\Exceptions\BsideGlobalException  
42 - * @author:dc  
43 - * @time 2023/5/12 9:54  
44 - */  
45 - public function save($param)  
46 - {  
47 - $param['html'] = '';  
48 -  
49 - DB::beginTransaction();  
50 - try {  
51 - $id = parent::save($param);  
52 - //路由映射  
53 - RouteMap::setRoute($param['url'] ?: $param['name'], RouteMap::SOURCE_PAGE, $id['id'], $this->user['project_id']);  
54 -  
55 - DB::commit();  
56 - }catch (\Exception $e){  
57 - DB::rollBack();  
58 - $this->fail('保存失败');  
59 - }  
60 -  
61 -  
62 - $data = $this->getInfo($id['id']);  
63 -  
64 -  
65 - return $data;  
66 - }  
67 -  
68 -  
69 - /**  
70 - * 删除  
71 - * @param $ids  
72 - * @param array $map  
73 - * @return array|void  
74 - * @author:dc  
75 - * @time 2023/5/12 9:58  
76 - */  
77 - public function delete($ids, $map = [])  
78 - {  
79 - $ids = is_array($ids) ? $ids : [$ids];  
80 - DB::beginTransaction();  
81 - try {  
82 - foreach ($ids as $id) {  
83 - //删除路由映射  
84 - RouteMap::delRoute(RouteMap::SOURCE_PAGE, $id, $this->user['project_id']);  
85 - }  
86 - parent::delete($ids);  
87 -  
88 - DB::commit();  
89 - }catch (\Exception $e){  
90 - DB::rollBack();  
91 - $this->fail('删除失败');  
92 - }  
93 - return $this->success();  
94 - }  
95 -  
96 -  
97 -  
98 -  
99 -}  
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 namespace App\Http\Logic\Bside; 3 namespace App\Http\Logic\Bside;
4 4
5 use App\Models\RouteMap; 5 use App\Models\RouteMap;
6 -use App\Models\Template\ATemplate; 6 +use App\Models\Template\Template;
7 use App\Models\Template\BSetting; 7 use App\Models\Template\BSetting;
8 use App\Models\Template\BTemplate; 8 use App\Models\Template\BTemplate;
9 9
@@ -90,7 +90,7 @@ class TemplateLogic extends BaseLogic @@ -90,7 +90,7 @@ class TemplateLogic extends BaseLogic
90 'template_id' => BSetting::_get($this->user['project_id'])['template_id'] 90 'template_id' => BSetting::_get($this->user['project_id'])['template_id']
91 ])->first(); 91 ])->first();
92 if(empty($data)){ 92 if(empty($data)){
93 - $data = ATemplate::where([ 93 + $data = Template::where([
94 'id' => BSetting::_get($this->user['project_id'])['template_id'] 94 'id' => BSetting::_get($this->user['project_id'])['template_id']
95 ])->first(); 95 ])->first();
96 } 96 }
@@ -107,7 +107,7 @@ class TemplateLogic extends BaseLogic @@ -107,7 +107,7 @@ class TemplateLogic extends BaseLogic
107 */ 107 */
108 public function usingTemplates(){ 108 public function usingTemplates(){
109 //获取模版详情 109 //获取模版详情
110 - $asideTemplateModel = new ATemplate(); 110 + $asideTemplateModel = new Template();
111 $templateInfo = $asideTemplateModel->read(['id'=>$this->param['template_id']]); 111 $templateInfo = $asideTemplateModel->read(['id'=>$this->param['template_id']]);
112 if($templateInfo === false){ 112 if($templateInfo === false){
113 $this->fail('当前模版不存在或已被删除'); 113 $this->fail('当前模版不存在或已被删除');
1 -<?php  
2 -  
3 -namespace App\Models;  
4 -  
5 -use Illuminate\Database\Eloquent\SoftDeletes;  
6 -  
7 -/**  
8 - * b端控制, c端显示的自定义页面  
9 - * @author:dc  
10 - * @time 2023/5/8 16:14  
11 - * Class BCustom  
12 - * @package App\Models  
13 - */  
14 -class BCustom extends Base  
15 -{  
16 -  
17 - protected $table = 'gl_web_custom';  
18 -  
19 - use SoftDeletes;  
20 -  
21 - public $hidden = ['deleted_at','project_id'];  
22 -  
23 -  
24 - /**  
25 - * 显示  
26 - */  
27 - const STATUS_ACTIVE = 1;  
28 -  
29 - /**  
30 - * 隐藏  
31 - */  
32 - const STATUS_DISABLED = 0;  
33 -  
34 -  
35 -  
36 -  
37 - /**  
38 - * 查询一条数据  
39 - * @param int $project_id  
40 - * @param int $id  
41 - * @return mixed  
42 - * @author:dc  
43 - * @time 2023/5/8 17:04  
44 - */  
45 - public static function _find(int $project_id, int $id, $array = false)  
46 - {  
47 - $data = static::where(['id'=>$id,'project_id'=>$project_id])->first();  
48 - if($data){  
49 - return $array ? $data->toArray() : $data;  
50 - }  
51 - return [];  
52 - }  
53 -  
54 -  
55 -}  
  1 +<?php
  2 +
  3 +namespace App\Models\Template;
  4 +
  5 +use App\Models\Base;
  6 +
  7 +class BCustomTemplate extends Base
  8 +{
  9 + protected $table = 'gl_web_custom_template';
  10 +}
@@ -6,11 +6,11 @@ use App\Models\Base; @@ -6,11 +6,11 @@ use App\Models\Base;
6 6
7 /** 7 /**
8 * @remark :公共模块 8 * @remark :公共模块
9 - * @name :ATemplate 9 + * @name :Template
10 * @author :lyh 10 * @author :lyh
11 * @time :2023/6/28 16:51 11 * @time :2023/6/28 16:51
12 */ 12 */
13 -class ATemplate extends Base 13 +class Template extends Base
14 { 14 {
15 protected $table = 'gl_public_template'; 15 protected $table = 'gl_public_template';
16 } 16 }
@@ -10,7 +10,7 @@ use App\Models\Base; @@ -10,7 +10,7 @@ use App\Models\Base;
10 * @author :lyh 10 * @author :lyh
11 * @time :2023/6/28 16:51 11 * @time :2023/6/28 16:51
12 */ 12 */
13 -class ATemplateModule extends Base 13 +class TemplateModule extends Base
14 { 14 {
15 protected $table = 'gl_public_template_module'; 15 protected $table = 'gl_public_template_module';
16 } 16 }
@@ -193,24 +193,20 @@ Route::middleware(['aloginauth'])->group(function () { @@ -193,24 +193,20 @@ Route::middleware(['aloginauth'])->group(function () {
193 Route::prefix('files')->group(function () { 193 Route::prefix('files')->group(function () {
194 Route::post('/upload', [\App\Http\Controllers\File\FileController::class, 'upload'])->name('files_upload'); 194 Route::post('/upload', [\App\Http\Controllers\File\FileController::class, 'upload'])->name('files_upload');
195 }); 195 });
196 - // 自定义页面 模板,头部底部 196 + // 公共主题模版
197 Route::prefix('template')->group(function () { 197 Route::prefix('template')->group(function () {
198 - Route::get('/', [\App\Http\Controllers\Aside\TemplateController::class, 'index'])->name('admin.template');  
199 - Route::post('/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'save'])->name('admin.template_edit');  
200 - Route::post('/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'save'])->name('admin.template_insert');  
201 - Route::delete('/delete/{id}', [\App\Http\Controllers\Aside\TemplateController::class, 'delete'])->where('id', '\d+')->name('admin.template_delete');  
202 -  
203 - Route::get('/html/{template_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'html_index'])->where('template_id', '\d+')->name('admin.template.html');  
204 - Route::post('/html/{template_id}/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'html_edit'])->where('template_id', '\d+')->name('admin.template_edit.html');  
205 - Route::post('/html/{template_id}/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'html_insert'])->where('template_id', '\d+')->name('admin.template_insert.html');  
206 - Route::delete('/html/{template_id}/delete/{id}', [\App\Http\Controllers\Aside\TemplateController::class, 'html_delete'])->where('template_id', '\d+')->where('id', '\d+')->name('admin.template_delete.html');  
207 - Route::get('/html/type', [\App\Http\Controllers\Aside\TemplateController::class, 'html_type'])->name('admin.template_type.html');  
208 -  
209 - // 自定义块,模板块  
210 - Route::get('/chunk/lists', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_lists'])->name('admin.template.chunk_lists');  
211 - Route::post('/chunk/create', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_create');  
212 - Route::post('/chunk/update', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_update');  
213 - Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id', '\d+')->name('admin.template.chunk_delete'); 198 + Route::any('/', [Aside\Template\ATemplateController::class, 'lists'])->name('admin.ATemplate_lists');
  199 + Route::any('/save', [Aside\Template\ATemplateController::class, 'save'])->name('admin.ATemplate_save');
  200 + Route::any('/status', [Aside\Template\ATemplateController::class, 'status'])->name('admin.ATemplate_status');
  201 + Route::any('/del', [Aside\Template\ATemplateController::class, 'del'])->name('admin.ATemplate_del');
  202 +
  203 + // 左侧模块
  204 + Route::prefix('module')->group(function () {
  205 + Route::any('/', [Aside\Template\ATemplateModuleController::class, 'lists'])->name('admin.ATemplateModule_lists');
  206 + Route::any('/save', [Aside\Template\ATemplateModuleController::class, 'save'])->name('admin.ATemplateModule_save');
  207 + Route::any('/status', [Aside\Template\ATemplateModuleController::class, 'status'])->name('admin.ATemplateModule_status');
  208 + Route::any('/del', [Aside\Template\ATemplateModuleController::class, 'del'])->name('admin.ATemplateModule_del');
  209 + });
214 }); 210 });
215 }); 211 });
216 212
@@ -239,23 +239,18 @@ Route::middleware(['bloginauth'])->group(function () { @@ -239,23 +239,18 @@ Route::middleware(['bloginauth'])->group(function () {
239 239
240 // 模板 240 // 模板
241 Route::prefix('template')->group(function () { 241 Route::prefix('template')->group(function () {
242 - Route::get('/', [\App\Http\Controllers\Bside\TemplateController::class, 'index'])->name('bside_template');  
243 - Route::any('/use-template', [\App\Http\Controllers\Bside\TemplateController::class, 'info'])->name('bside_template_use');  
244 -// Route::get('/custom-chunk', [\App\Http\Controllers\Bside\TemplateController::class, 'customChunk'])->name('bside_template_custom_chunk');  
245 - Route::get('/get_type', [\App\Http\Controllers\Bside\TemplateController::class, 'get_type'])->name('bside_template_type');  
246 - Route::get('/get_html', [\App\Http\Controllers\Bside\TemplateController::class, 'get_html'])->name('bside_template_get_html');  
247 - Route::post('/save_html', [\App\Http\Controllers\Bside\TemplateController::class, 'save_html'])->name('bside_template_save_html');  
248 - Route::get('/status', [\App\Http\Controllers\Bside\TemplateController::class, 'status'])->name('bside_template_status');  
249 -  
250 -  
251 - // 自定义模板的 块。  
252 - Route::get('/chunk', [\App\Http\Controllers\Bside\TemplateController::class, 'chunk'])->name('bside_template_chunk');  
253 -  
254 - Route::post('/chunk/create', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_create');  
255 - Route::post('/chunk/update', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_update');  
256 - Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id', '\d+')->name('admin.template.chunk_delete');  
257 -  
258 - 242 + //获取所有公共主题模版
  243 + Route::any('/publicTemplateLists', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'publicTemplateLists'])->name('template_publicTemplateLists');
  244 + //获取选中的主题模版
  245 + Route::any('/getPublicTemplate', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'getPublicTemplate'])->name('template_getPublicTemplate');
  246 + //设置默认主题模版
  247 + Route::any('/setPublicTemplate', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'setPublicTemplate'])->name('template_setPublicTemplate');
  248 +
  249 + // 模板
  250 + Route::prefix('module')->group(function () {
  251 + //获取所有左侧模版
  252 + Route::any('/', [\App\Http\Controllers\Bside\Template\BTemplateModuleController::class, 'lists'])->name('template_module_lists');
  253 + });
259 }); 254 });
260 255
261 256
@@ -319,7 +314,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -319,7 +314,7 @@ Route::middleware(['bloginauth'])->group(function () {
319 Route::group([], function () { 314 Route::group([], function () {
320 Route::any('/login', [\App\Http\Controllers\Bside\ComController::class, 'login'])->name('login'); 315 Route::any('/login', [\App\Http\Controllers\Bside\ComController::class, 'login'])->name('login');
321 Route::any('/stringTranslation', [\App\Http\Controllers\Bside\ComController::class, 'stringTranslation'])->name('com_stringTranslation'); 316 Route::any('/stringTranslation', [\App\Http\Controllers\Bside\ComController::class, 'stringTranslation'])->name('com_stringTranslation');
322 - Route::any('/ceshi', [\App\Http\Controllers\Bside\ComController::class, 'ceshi'])->name('com_ceshi'); 317 + Route::any('/getImageList', [\App\Http\Controllers\File\ImageController::class, 'getImageList'])->name('image_getImageList');
323 Route::any('/sendLoginSms', [\App\Http\Controllers\Bside\ComController::class, 'sendLoginSms'])->name('sendLoginSms'); 318 Route::any('/sendLoginSms', [\App\Http\Controllers\Bside\ComController::class, 'sendLoginSms'])->name('sendLoginSms');
324 Route::get('/file/download', [\App\Http\Controllers\Bside\FileController::class, 'download'])->name('file_download'); 319 Route::get('/file/download', [\App\Http\Controllers\Bside\FileController::class, 'download'])->name('file_download');
325 Route::any('/image/{hash}/{w?}/{h?}', [\App\Http\Controllers\File\ImageController::class, 'index'])->name('image_show'); 320 Route::any('/image/{hash}/{w?}/{h?}', [\App\Http\Controllers\File\ImageController::class, 'index'])->name('image_show');