作者 邓超

bbbbb

1 -<?php  
2 -  
3 -namespace App\Http\Controllers\Aside\Template;  
4 -  
5 -use App\Http\Controllers\Aside\BaseController;  
6 -  
7 -/**  
8 - * 模板header footer  
9 - * @author:dc  
10 - * @time 2023/4/26 11:10  
11 - * Class HeaderFooterController  
12 - * @package App\Http\Controllers\Aside\Template  
13 - */  
14 -class HeaderFooterController extends BaseController  
15 -{  
16 -  
17 -}  
@@ -3,9 +3,12 @@ @@ -3,9 +3,12 @@
3 namespace App\Http\Controllers\Aside; 3 namespace App\Http\Controllers\Aside;
4 4
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
  6 +use App\Http\Logic\Aside\Template\TemplateChunkLogic;
6 use App\Http\Logic\Aside\Template\TemplateLogic; 7 use App\Http\Logic\Aside\Template\TemplateLogic;
  8 +use App\Http\Requests\Aside\Template\TemplateChunkRequest;
7 use App\Http\Requests\Aside\Template\TemplateRequest; 9 use App\Http\Requests\Aside\Template\TemplateRequest;
8 use App\Models\Template\ATemplate; 10 use App\Models\Template\ATemplate;
  11 +use App\Models\Template\ATemplateChunk;
9 use App\Models\Template\ATemplateHtml; 12 use App\Models\Template\ATemplateHtml;
10 use Illuminate\Validation\Rule; 13 use Illuminate\Validation\Rule;
11 14
@@ -195,4 +198,48 @@ class TemplateController extends BaseController @@ -195,4 +198,48 @@ class TemplateController extends BaseController
195 198
196 199
197 200
  201 +
  202 +
  203 + /**
  204 + * 自定义界面,块
  205 + * @author:dc
  206 + * @time 2023/5/29 10:27
  207 + */
  208 + public function chunk_lists(){
  209 + $lists = TemplateChunkLogic::instance()->getList()->toArray();
  210 + return $this->success($lists);
  211 + }
  212 +
  213 +
  214 + /**
  215 + * 自定义界面,块 保存
  216 + * @author:dc
  217 + * @time 2023/5/29 10:37
  218 + */
  219 + public function chunk_save(TemplateChunkRequest $request){
  220 + $data = TemplateChunkLogic::instance()->save($request->validated());
  221 + return $this->success(TemplateChunkLogic::instance()->getInfo($data['id']));
  222 + }
  223 +
  224 +
  225 + /**
  226 + * 自定义界面,块 删除
  227 + * @author:dc
  228 + * @time 2023/5/29 10:38
  229 + */
  230 + public function chunk_delete($chunk_id){
  231 +
  232 + TemplateChunkLogic::instance()->delete($chunk_id);
  233 +
  234 + return $this->response('删除成功');
  235 +
  236 + }
  237 +
  238 +
  239 +
  240 +
  241 +
  242 +
  243 +
  244 +
198 } 245 }
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Bside; @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Bside;
4 4
5 5
6 use App\Enums\Common\Code; 6 use App\Enums\Common\Code;
  7 +use App\Http\Logic\Aside\Template\TemplateChunkLogic;
7 use App\Http\Logic\Bside\TemplateLogic; 8 use App\Http\Logic\Bside\TemplateLogic;
8 use App\Http\Requests\Bside\TemplateRequest; 9 use App\Http\Requests\Bside\TemplateRequest;
9 use App\Models\Template\ATemplate; 10 use App\Models\Template\ATemplate;
@@ -179,36 +180,17 @@ class TemplateController extends BaseController @@ -179,36 +180,17 @@ class TemplateController extends BaseController
179 * @author:dc 180 * @author:dc
180 * @time 2023/5/10 14:55 181 * @time 2023/5/10 14:55
181 */ 182 */
182 - public function customChunk(){  
183 -//  
184 -// $html = $this->param['html']??[];  
185 -// // 那个页面 的  
186 -// $type = $this->param['type']??'';  
187 -//  
188 -// if(!is_array($html)){  
189 -// return $this->response('参数异常',Code::SYSTEM_ERROR);  
190 -// }  
191 -//  
192 -// // 项目id  
193 -// $project_id = $this->user['project_id'];  
194 -// // 当前模板  
195 -// $template_id = BSetting::_get($project_id)['template_id'];  
196 -//  
197 -// // 验证这个模板是否存在  
198 -// if(!$type || !ATemplateHtml::_typeExist($template_id,$type)){  
199 -// return $this->response('页面类型错误',Code::SYSTEM_ERROR);  
200 -// }  
201 -//  
202 -//  
203 -// $html = view("template.{$template_id}.{$type}")->render();  
204 -//  
205 -//  
206 -// return $this->response('',Code::SUCCESS,$html);  
207 -//// $data = BTemplateData::_insert();  
208 -//  
209 -// 183 + public function chunk(){
210 184
  185 + $lists = TemplateChunkLogic::instance()->getList([['status','=',1]],['sort'=>'asc'],['*'],false)->toArray();
211 186
  187 + foreach ($lists as &$list){
  188 + unset($list['created_at']);
  189 + unset($list['updated_at']);
  190 + unset($list['status']);
  191 + }
  192 +
  193 + return $this->success($lists);
212 } 194 }
213 195
214 196
  1 +<?php
  2 +
  3 +namespace App\Http\Logic\Aside\Template;
  4 +
  5 +
  6 +use App\Http\Logic\Aside\BaseLogic;
  7 +use App\Models\Template\ATemplateChunk;
  8 +
  9 +/**
  10 + * 自定义块 模板
  11 + * @author:dc
  12 + * @time 2023/5/29 10:46
  13 + * Class TemplateChunkLogic
  14 + * @package App\Http\Logic\Aside\Template
  15 + */
  16 +class TemplateChunkLogic extends BaseLogic {
  17 +
  18 + public function __construct()
  19 + {
  20 + parent::__construct();
  21 +
  22 + $this->model = new ATemplateChunk();
  23 + }
  24 +
  25 +
  26 +
  27 +
  28 +
  29 +}
@@ -9,6 +9,7 @@ use App\Exceptions\AsideGlobalException; @@ -9,6 +9,7 @@ use App\Exceptions\AsideGlobalException;
9 use App\Exceptions\BsideGlobalException; 9 use App\Exceptions\BsideGlobalException;
10 use App\Helper\Arr; 10 use App\Helper\Arr;
11 use App\Models\Devops\ServerInformationLog; 11 use App\Models\Devops\ServerInformationLog;
  12 +use Illuminate\Database\Eloquent\Model;
12 use Illuminate\Support\Facades\Cache; 13 use Illuminate\Support\Facades\Cache;
13 use Illuminate\Support\Facades\DB; 14 use Illuminate\Support\Facades\DB;
14 use Illuminate\Support\Facades\Log; 15 use Illuminate\Support\Facades\Log;
@@ -57,7 +58,7 @@ class Logic @@ -57,7 +58,7 @@ class Logic
57 * @param array $sort 58 * @param array $sort
58 * @param array $columns 59 * @param array $columns
59 * @param int $limit 60 * @param int $limit
60 - * @return array 61 + * @return array|Model
61 * @author zbj 62 * @author zbj
62 * @date 2023/4/13 63 * @date 2023/4/13
63 */ 64 */
  1 +<?php
  2 +
  3 +namespace App\Http\Requests\Aside\Template;
  4 +
  5 +use Illuminate\Foundation\Http\FormRequest;
  6 +use Illuminate\Validation\Rule;
  7 +
  8 +/**
  9 + * 自定义模板 块
  10 + * @author:dc
  11 + * @time 2023/5/29 10:57
  12 + * Class TemplateChunkRequest
  13 + * @package App\Http\Requests\Aside\Template
  14 + */
  15 +class TemplateChunkRequest extends FormRequest
  16 +{
  17 +
  18 + /**
  19 + * Determine if the user is authorized to make this request.
  20 + *
  21 + * @return bool
  22 + */
  23 + public function authorize()
  24 + {
  25 + return true;
  26 + }
  27 +
  28 + /**
  29 + * Get the validation rules that apply to the request.
  30 + *
  31 + * @return array
  32 + */
  33 + public function rules()
  34 + {
  35 + $rule = [
  36 + 'id' => ['required','integer'],
  37 + 'name' => ['required'],
  38 + 'type' => ['required'],
  39 + 'status' => ['required',Rule::in(0,1)],
  40 + 'sort' => ['required','integer'],
  41 + 'thumb' => ['required'],
  42 + 'html' => ['required'],
  43 + 'attr' => [],
  44 + ];
  45 +
  46 + // 更新场景
  47 + if(!$this->is('a/template/chunk/update')){
  48 + unset($rule['id']);
  49 + }
  50 +
  51 + return $rule;
  52 + }
  53 +
  54 +
  55 +
  56 + public function messages()
  57 + {
  58 + return [
  59 + 'id.required' => 'id必须',
  60 + 'id.integer' => 'id必须',
  61 +
  62 + 'name.required' => '名称必须',
  63 + 'type.required' => '类型必须',
  64 + 'status.integer' => '状态错误',
  65 + 'status.in' => '状态错误',
  66 +
  67 + 'sort.required' => '排序必须',
  68 + 'sort.integer' => '排序必须',
  69 + 'thumb.required' => '缩略图必须',
  70 +
  71 + 'html.required' => 'html代码必须',
  72 +// 'attr.required' => '其他必须',
  73 +
  74 + ];
  75 + }
  76 +
  77 +}
  1 +<?php
  2 +
  3 +namespace App\Models\Template;
  4 +
  5 +use Illuminate\Database\Eloquent\SoftDeletes;
  6 +
  7 +/**
  8 + * 自定义块 模板块
  9 + * @author:dc
  10 + * @time 2023/5/29 10:39
  11 + * Class ATemplateChunk
  12 + * @package App\Models\Template
  13 + */
  14 +class ATemplateChunk extends \App\Models\Base{
  15 +
  16 +
  17 + protected $table = 'gl_aside_template_chunk';
  18 +
  19 +
  20 + protected $hidden = ['deleted_at'];
  21 +
  22 +
  23 + use SoftDeletes;
  24 +
  25 +
  26 + public static $typeMap = [
  27 + 'index' => '首页',
  28 + 'product' => '商品列表',
  29 + 'product_info' => '商品详情',
  30 + 'blogs' => '博客列表',
  31 + 'blogs_info' => '博客详情',
  32 + 'page' => '单页',
  33 + 'news' => '新闻列表',
  34 + 'news_info' => '新闻详情',
  35 + ];
  36 +
  37 +
  38 +
  39 +
  40 +
  41 +
  42 +}
@@ -6,7 +6,7 @@ use \Illuminate\Support\Facades\Route; @@ -6,7 +6,7 @@ use \Illuminate\Support\Facades\Route;
6 use \App\Http\Controllers\Aside; 6 use \App\Http\Controllers\Aside;
7 7
8 //必须登录验证的路由组 8 //必须登录验证的路由组
9 -Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上web的中间件 9 +Route::middleware([])->group(function (){ //admin用渲染默认要加上web的中间件
10 Route::middleware(['aloginauth'])->group(function () { 10 Route::middleware(['aloginauth'])->group(function () {
11 Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white'); 11 Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white');
12 Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white'); 12 Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white');
@@ -164,6 +164,14 @@ Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上w @@ -164,6 +164,14 @@ Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上w
164 Route::post('/html/{template_id}/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'html_insert'])->where('template_id','\d+')->name('admin.template_insert.html'); 164 Route::post('/html/{template_id}/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'html_insert'])->where('template_id','\d+')->name('admin.template_insert.html');
165 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'); 165 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');
166 Route::get('/html/type', [\App\Http\Controllers\Aside\TemplateController::class, 'html_type'])->name('admin.template_type.html'); 166 Route::get('/html/type', [\App\Http\Controllers\Aside\TemplateController::class, 'html_type'])->name('admin.template_type.html');
  167 +
  168 + // 自定义块,模板块
  169 + Route::get('/chunk/lists', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_lists'])->name('admin.template.chunk_lists');
  170 + Route::post('/chunk/create', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_create');
  171 + Route::post('/chunk/update', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_update');
  172 + Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id','\d+')->name('admin.template.chunk_delete');
  173 +
  174 +
167 }); 175 });
168 176
169 177
@@ -234,7 +234,17 @@ Route::middleware(['bloginauth','accesstoken'])->group(function () { @@ -234,7 +234,17 @@ Route::middleware(['bloginauth','accesstoken'])->group(function () {
234 Route::get('/get_html', [\App\Http\Controllers\Bside\TemplateController::class, 'get_html'])->name('bside_template_get_html'); 234 Route::get('/get_html', [\App\Http\Controllers\Bside\TemplateController::class, 'get_html'])->name('bside_template_get_html');
235 Route::get('/save_html', [\App\Http\Controllers\Bside\TemplateController::class, 'save_html'])->name('bside_template_save_html'); 235 Route::get('/save_html', [\App\Http\Controllers\Bside\TemplateController::class, 'save_html'])->name('bside_template_save_html');
236 Route::get('/status', [\App\Http\Controllers\Bside\TemplateController::class, 'status'])->name('bside_template_status'); 236 Route::get('/status', [\App\Http\Controllers\Bside\TemplateController::class, 'status'])->name('bside_template_status');
  237 +
  238 +
  239 + // 自定义模板的 块。
  240 + Route::get('/chunk', [\App\Http\Controllers\Bside\TemplateController::class, 'chunk'])->name('bside_template_chunk');
  241 +
  242 +
  243 +
237 }); 244 });
  245 +
  246 +
  247 +
238 // 自定义页面,专题页 248 // 自定义页面,专题页
239 Route::prefix('custom')->group(function () { 249 Route::prefix('custom')->group(function () {
240 Route::get('/', [\App\Http\Controllers\Bside\CustomController::class, 'index'])->name('bside_custom'); 250 Route::get('/', [\App\Http\Controllers\Bside\CustomController::class, 'index'])->name('bside_custom');