作者 赵彬吉

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

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 }
@@ -39,4 +39,31 @@ class FileController extends BaseController @@ -39,4 +39,31 @@ class FileController extends BaseController
39 $path = Upload::url2path($this->param['url'] ?? ''); 39 $path = Upload::url2path($this->param['url'] ?? '');
40 return Storage::disk('upload')->download($path); 40 return Storage::disk('upload')->download($path);
41 } 41 }
  42 +
  43 +
  44 + /**
  45 + * 文件列表
  46 + * @author:dc
  47 + * @time 2023/5/29 11:42
  48 + */
  49 + public function lists(){
  50 + $type = \request()->get('type');
  51 +
  52 + switch ($type){
  53 + case 'video':{
  54 + $ext = ['mp4','avi'];
  55 + break;
  56 + }
  57 + default:{
  58 + $ext = ['png','jpg','jpeg','gif'];
  59 + break;
  60 + }
  61 + }
  62 +
  63 + $files = Upload::lists($this->param['config'] ?? 'default',$ext);
  64 + return $this->success($files);
  65 + }
  66 +
  67 +
  68 +
42 } 69 }
@@ -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;
@@ -119,16 +120,11 @@ class TemplateController extends BaseController @@ -119,16 +120,11 @@ class TemplateController extends BaseController
119 public function get_html(){ 120 public function get_html(){
120 $source = $this->param['source']??''; 121 $source = $this->param['source']??'';
121 $source_id = $this->param['source_id']??0; 122 $source_id = $this->param['source_id']??0;
122 -  
123 -  
124 $data = TemplateLogic::instance()->first($source,$source_id); 123 $data = TemplateLogic::instance()->first($source,$source_id);
125 -  
126 $res = [ 124 $res = [
127 'html' => $data['html']??'', 125 'html' => $data['html']??'',
128 'name' => 'example' 126 'name' => 'example'
129 ]; 127 ];
130 -  
131 -  
132 return $this->response('',Code::SUCCESS,$res); 128 return $this->response('',Code::SUCCESS,$res);
133 129
134 } 130 }
@@ -141,17 +137,38 @@ class TemplateController extends BaseController @@ -141,17 +137,38 @@ class TemplateController extends BaseController
141 public function save_html(TemplateRequest $request){ 137 public function save_html(TemplateRequest $request){
142 138
143 $data = $request->validated(); 139 $data = $request->validated();
144 -  
145 $data['data_source'] = $data['source']; 140 $data['data_source'] = $data['source'];
146 $data['data_source_id'] = $data['source_id']; 141 $data['data_source_id'] = $data['source_id'];
147 -  
148 unset($data['source']); 142 unset($data['source']);
149 unset($data['source_id']); 143 unset($data['source_id']);
150 -  
151 TemplateLogic::instance()->save($data); 144 TemplateLogic::instance()->save($data);
152 -  
153 return $this->response('保存成功'); 145 return $this->response('保存成功');
154 146
  147 + // 不需要数据id
  148 + if(in_array($data['data_source'],['index'])){
  149 + $data['data_source_id'] = 0;
  150 + }
  151 + unset($data['source']);
  152 + unset($data['source_id']);
  153 + $id = TemplateLogic::instance()->save($data);
  154 + if($id){
  155 + $info = TemplateLogic::instance()->getInfo($id['id']);
  156 + $info['source'] = $info['data_source'];
  157 + $info['source_id'] = $info['data_source_id'];
  158 + unset($info['data_source']);
  159 + unset($info['data_source_id']);
  160 + unset($info['template_id']);
  161 + unset($info['created_at']);
  162 + unset($info['updated_at']);
  163 + unset($info['css']);
  164 + unset($info['script']);
  165 + unset($info['data_ext']);
  166 +
  167 + return $this->success($info,Code::SUCCESS,'保存成功');
  168 + }
  169 +
  170 + return $this->response('保存失败',Code::SYSTEM_ERROR);
  171 +
155 } 172 }
156 173
157 /** 174 /**
@@ -179,36 +196,17 @@ class TemplateController extends BaseController @@ -179,36 +196,17 @@ class TemplateController extends BaseController
179 * @author:dc 196 * @author:dc
180 * @time 2023/5/10 14:55 197 * @time 2023/5/10 14:55
181 */ 198 */
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 -// 199 + public function chunk(){
210 200
  201 + $lists = TemplateChunkLogic::instance()->getList([['status','=',1]],['sort'=>'asc'],['*'],false)->toArray();
  202 +
  203 + foreach ($lists as &$list){
  204 + unset($list['created_at']);
  205 + unset($list['updated_at']);
  206 + unset($list['status']);
  207 + }
211 208
  209 + return $this->success($lists);
212 } 210 }
213 211
214 212
@@ -95,8 +95,8 @@ class UserController extends BaseController @@ -95,8 +95,8 @@ class UserController extends BaseController
95 ],[ 95 ],[
96 'id.required' => 'ID不能为空', 96 'id.required' => 'ID不能为空',
97 ]); 97 ]);
98 - $userLogic->user_info();  
99 - $this->response('success'); 98 + $info = $userLogic->user_info();
  99 + $this->response('success',Code::SUCCESS,$info);
100 } 100 }
101 /** 101 /**
102 * @name :删除管理员 102 * @name :删除管理员
@@ -141,7 +141,7 @@ class FileController @@ -141,7 +141,7 @@ class FileController
141 $fileModel = new File(); 141 $fileModel = new File();
142 $file_hash = $fileModel->read(['hash'=>$hash]); 142 $file_hash = $fileModel->read(['hash'=>$hash]);
143 if($file_hash !== false){ 143 if($file_hash !== false){
144 - return $hash; 144 + return $this->response('资源',Code::SUCCESS,['file'=>$hash]);
145 } 145 }
146 $url = $this->path; 146 $url = $this->path;
147 $fileName = uniqid().rand(10000,99999).'.'.$files->getClientOriginalExtension(); 147 $fileName = uniqid().rand(10000,99999).'.'.$files->getClientOriginalExtension();
@@ -197,7 +197,7 @@ class FileController @@ -197,7 +197,7 @@ class FileController
197 $data[] = $hash; 197 $data[] = $hash;
198 } 198 }
199 $fileModel->insert($save_data); 199 $fileModel->insert($save_data);
200 - return $this->response('资源',Code::SUCCESS,['files'=>$data]); 200 + return $this->response('资源',Code::SUCCESS,['file'=>$data]);
201 } 201 }
202 /** 202 /**
203 * @name 统一返回参数 203 * @name 统一返回参数
@@ -175,7 +175,7 @@ class ImageController @@ -175,7 +175,7 @@ class ImageController
175 $hash = hash_file('md5', $file->getPathname()); 175 $hash = hash_file('md5', $file->getPathname());
176 $image_hash = $imageModel->read(['hash'=>$hash]); 176 $image_hash = $imageModel->read(['hash'=>$hash]);
177 if($image_hash !== false){ 177 if($image_hash !== false){
178 - $data[] = $hash; 178 + $data[] = ['image'=>$hash];
179 continue; 179 continue;
180 } 180 }
181 $url = $this->path; 181 $url = $this->path;
@@ -192,10 +192,10 @@ class ImageController @@ -192,10 +192,10 @@ class ImageController
192 'hash' => $hash, 192 'hash' => $hash,
193 'type'=>$file->getClientOriginalExtension(), 193 'type'=>$file->getClientOriginalExtension(),
194 ]; 194 ];
195 - $data[] = $hash; 195 + $data[] = ['image'=>$hash];
196 } 196 }
197 $imageModel->insert($save_data); 197 $imageModel->insert($save_data);
198 - return $this->response('图片资源',Code::SUCCESS,['image'=>$data]); 198 + return $this->response('图片资源',Code::SUCCESS,$data);
199 } 199 }
200 200
201 //下载 201 //下载
@@ -247,15 +247,6 @@ class ImageController @@ -247,15 +247,6 @@ class ImageController
247 case 'image': 247 case 'image':
248 $data['image_link'] = url('/b/image/' . $v); 248 $data['image_link'] = url('/b/image/' . $v);
249 break; 249 break;
250 - case 'images':  
251 - $v = explode(',',$v);  
252 - foreach ($v as $k1=>$v1){  
253 - $data['images_link'][$k1] = url('/b/image/' . $v1);  
254 - }  
255 - break;  
256 - case 'file':  
257 - $data['file_link'] = url('/b/file_hash/' . $v);  
258 - break;  
259 } 250 }
260 } 251 }
261 } 252 }
@@ -99,6 +99,5 @@ class Kernel extends HttpKernel @@ -99,6 +99,5 @@ class Kernel extends HttpKernel
99 'aloginauth'=>AsideLoginAuthMiddleware::class, 99 'aloginauth'=>AsideLoginAuthMiddleware::class,
100 //B端登录验证中间件 100 //B端登录验证中间件
101 'bloginauth'=>BsideLoginAuthMiddleware::class, 101 'bloginauth'=>BsideLoginAuthMiddleware::class,
102 - 'accesstoken'=>AccessToken::class,  
103 ]; 102 ];
104 } 103 }
  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 + public function save($param)
  29 + {
  30 +
  31 + $param['images'] = is_array($param['images']??'') ? json_encode($param['images']): '[]';
  32 + $param['video'] = is_array($param['video']??'') ? json_encode($param['video']): '[]';
  33 +
  34 +
  35 + return parent::save($param); // TODO: Change the autogenerated stub
  36 + }
  37 +
  38 +
  39 +}
@@ -37,9 +37,11 @@ class TemplateLogic extends BaseLogic @@ -37,9 +37,11 @@ class TemplateLogic extends BaseLogic
37 $data = $this->first($param['data_source'],$param['data_source_id']); 37 $data = $this->first($param['data_source'],$param['data_source_id']);
38 if($data){ 38 if($data){
39 $param['id'] = $data['id']; 39 $param['id'] = $data['id'];
  40 + }else{
  41 + $param['template_id'] = BSetting::_get($this->user['project_id'])['template_id'];
40 } 42 }
41 43
42 - parent::save($param); 44 + return parent::save($param);
43 45
44 } 46 }
45 47
@@ -83,7 +85,7 @@ class TemplateLogic extends BaseLogic @@ -83,7 +85,7 @@ class TemplateLogic extends BaseLogic
83 'project_id'=>$this->user['project_id'], 85 'project_id'=>$this->user['project_id'],
84 'data_source' => $source, 86 'data_source' => $source,
85 'data_source_id' => $source_id, 87 'data_source_id' => $source_id,
86 - 'template_id' => BSetting::_get($this->user['project_id']) 88 + 'template_id' => BSetting::_get($this->user['project_id'])['template_id']
87 ])->first(); 89 ])->first();
88 } 90 }
89 91
@@ -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\Middleware;  
4 -  
5 -use Illuminate\Http\Request;  
6 -use Closure;  
7 -  
8 -class AccessToken  
9 -{  
10 - /**  
11 - * Handle an incoming request.  
12 - *  
13 - * @param \Illuminate\Http\Request $request  
14 - * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next  
15 - * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse  
16 - */  
17 - public function handle(Request $request, Closure $next)  
18 - {  
19 - session_start();  
20 - // 指定允许其他域名访问  
21 - $http_origin = "*";  
22 - if(isset($_SERVER['HTTP_ORIGIN'])){  
23 - $http_origin = $_SERVER['HTTP_ORIGIN'];  
24 - }  
25 - header("Access-Control-Allow-Origin:".$http_origin);  
26 - header('Access-Control-Allow-Methods:POST,GET'); //支持的http 动作  
27 - header('Access-Control-Allow-Credentials: true');  
28 - header('Access-Control-Max-Age: 1000');  
29 - header('Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept, Authorization, token'); //响应头 请按照自己需求添加。  
30 - if (strtolower($_SERVER['REQUEST_METHOD']) == 'options') {  
31 - exit;  
32 - }  
33 - return $next($request);  
34 - }  
35 -  
36 -}  
@@ -15,22 +15,19 @@ class EnableCrossRequestMiddleware @@ -15,22 +15,19 @@ class EnableCrossRequestMiddleware
15 */ 15 */
16 public function handle($request, Closure $next) 16 public function handle($request, Closure $next)
17 { 17 {
18 - $response = $next($request);  
19 - $origin = $request->server('HTTP_ORIGIN') ?: '';  
20 -// $allow_origin = [  
21 -// 'http://localhost:8080',  
22 -// ];  
23 -// if (in_array($origin, $allow_origin)) {  
24 - $header = [  
25 -// 'Access-Control-Allow-Origin' => $origin,  
26 - 'Access-Control-Allow-Origin' => '*',  
27 - 'Access-Control-Allow-Headers' => '*',  
28 - 'Access-Control-Expose-Headers' => '*',  
29 - 'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS',  
30 - 'Access-Control-Allow-Credentials' => 'true',  
31 - ];  
32 - $response->headers->add($header);  
33 -// }  
34 - return $response; 18 + // 指定允许其他域名访问
  19 + $http_origin = "*";
  20 + if(isset($_SERVER['HTTP_ORIGIN'])){
  21 + $http_origin = $_SERVER['HTTP_ORIGIN'];
  22 + }
  23 + header("Access-Control-Allow-Origin:".$http_origin);
  24 + header('Access-Control-Allow-Methods:POST,GET'); //支持的http 动作
  25 + header('Access-Control-Allow-Credentials: true');
  26 + header('Access-Control-Max-Age: 1000');
  27 + header('Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept, Authorization, token'); //响应头 请按照自己需求添加。
  28 + if (strtolower($_SERVER['REQUEST_METHOD']) == 'options') {
  29 + exit;
  30 + }
  31 + return $next($request);
35 } 32 }
36 } 33 }
  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 + 'images' => [],
  45 + 'video' => [],
  46 + ];
  47 +
  48 + // 更新场景
  49 + if($this->is('a/template/chunk/create')){
  50 + unset($rule['id']);
  51 + }
  52 + if($this->is('b/template/chunk/create')){
  53 + unset($rule['id']);
  54 + }
  55 +
  56 + return $rule;
  57 + }
  58 +
  59 +
  60 +
  61 + public function messages()
  62 + {
  63 + return [
  64 + 'id.required' => 'id必须',
  65 + 'id.integer' => 'id必须',
  66 +
  67 + 'name.required' => '名称必须',
  68 + 'type.required' => '类型必须',
  69 + 'status.integer' => '状态错误',
  70 + 'status.in' => '状态错误',
  71 +
  72 + 'sort.required' => '排序必须',
  73 + 'sort.integer' => '排序必须',
  74 + 'thumb.required' => '缩略图必须',
  75 +
  76 + 'html.required' => 'html代码必须',
  77 +// 'attr.required' => '其他必须',
  78 +
  79 + ];
  80 + }
  81 +
  82 +}
@@ -43,7 +43,7 @@ class TemplateRequest extends FormRequest @@ -43,7 +43,7 @@ class TemplateRequest extends FormRequest
43 43
44 44
45 // 删除 45 // 删除
46 - if(!$this->is('b/template/status')){ 46 + if($this->is('b/template/status')){
47 unset($rule['css']); 47 unset($rule['css']);
48 unset($rule['script']); 48 unset($rule['script']);
49 unset($rule['html']); 49 unset($rule['html']);
  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 + public function getImagesAttribute($val)
  40 + {
  41 + return $val ? json_decode($val,true) : [];
  42 + }
  43 +
  44 + public function getVideoAttribute($val)
  45 + {
  46 + return $val ? json_decode($val,true) : [];
  47 + }
  48 +
  49 +
  50 +}
@@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Facade; @@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Facade;
11 * @method static array filePut(string $filename, string $content, string|array $config="default") 11 * @method static array filePut(string $filename, string $content, string|array $config="default")
12 * @method static string url2path(string $url, string|array $disk="upload") 12 * @method static string url2path(string $url, string|array $disk="upload")
13 * @method static string path2url(string $path, string|array $disk="upload") 13 * @method static string path2url(string $path, string|array $disk="upload")
  14 + * @method static array lists(string $config,array $ext=[])
14 */ 15 */
15 class Upload extends Facade 16 class Upload extends Facade
16 { 17 {
@@ -272,4 +272,33 @@ class UploadService extends BaseService @@ -272,4 +272,33 @@ class UploadService extends BaseService
272 $this->config(); 272 $this->config();
273 return Storage::disk($this->config['disk'])->url($path); 273 return Storage::disk($this->config['disk'])->url($path);
274 } 274 }
  275 +
  276 + /**
  277 + * 文件列表
  278 + * @return array
  279 + * @author:dc
  280 + * @time 2023/5/29 11:49
  281 + */
  282 + public function lists($config,array $ext=[]){
  283 + $this->config($config);
  284 + $disk = Storage::disk($this->config['disk']);
  285 + $lists = $disk->allFiles();
  286 +
  287 +
  288 + if($ext){
  289 + foreach ($lists as $k=>$list){
  290 + $list = explode('.',$list);
  291 + if(!in_array(end($list),$ext)){
  292 + unset($lists[$k]);
  293 +
  294 + }else{
  295 + $lists[$k] = $disk->url($lists[$k]);
  296 + }
  297 +
  298 + }
  299 + }
  300 +
  301 +
  302 + return $lists;
  303 + }
275 } 304 }
@@ -6,7 +6,8 @@ use \Illuminate\Support\Facades\Route; @@ -6,7 +6,8 @@ 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 +
  10 +Route::middleware(['web','accesstoken'])->group(function (){ //admin用渲染默认要加上web的中间件
10 Route::middleware(['aloginauth'])->group(function () { 11 Route::middleware(['aloginauth'])->group(function () {
11 Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white'); 12 Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white');
12 Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white'); 13 Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white');
@@ -164,10 +165,13 @@ Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上w @@ -164,10 +165,13 @@ 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'); 165 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'); 166 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'); 167 Route::get('/html/type', [\App\Http\Controllers\Aside\TemplateController::class, 'html_type'])->name('admin.template_type.html');
167 - });  
168 -  
169 -  
170 168
  169 + // 自定义块,模板块
  170 + Route::get('/chunk/lists', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_lists'])->name('admin.template.chunk_lists');
  171 + Route::post('/chunk/create', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_create');
  172 + Route::post('/chunk/update', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_update');
  173 + Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id','\d+')->name('admin.template.chunk_delete');
  174 + });
171 }); 175 });
172 176
173 //无需登录验证的路由组 177 //无需登录验证的路由组
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 use Illuminate\Support\Facades\Route; 6 use Illuminate\Support\Facades\Route;
7 7
8 //必须登录验证的路由组 8 //必须登录验证的路由组
9 -Route::middleware(['bloginauth','accesstoken'])->group(function () { 9 +Route::middleware(['bloginauth'])->group(function () {
10 //登录用户编辑个人资料 10 //登录用户编辑个人资料
11 Route::any('/edit_info', [\App\Http\Controllers\Bside\ComController::class, 'edit_info'])->name('edit_info'); 11 Route::any('/edit_info', [\App\Http\Controllers\Bside\ComController::class, 'edit_info'])->name('edit_info');
12 Route::any('/logout', [\App\Http\Controllers\Bside\ComController::class, 'logout'])->name('logout'); 12 Route::any('/logout', [\App\Http\Controllers\Bside\ComController::class, 'logout'])->name('logout');
@@ -187,6 +187,7 @@ Route::middleware(['bloginauth','accesstoken'])->group(function () { @@ -187,6 +187,7 @@ Route::middleware(['bloginauth','accesstoken'])->group(function () {
187 //文件操作 187 //文件操作
188 Route::prefix('file')->group(function () { 188 Route::prefix('file')->group(function () {
189 Route::post('/upload', [\App\Http\Controllers\Bside\FileController::class, 'upload'])->name('file_upload'); 189 Route::post('/upload', [\App\Http\Controllers\Bside\FileController::class, 'upload'])->name('file_upload');
  190 + Route::get('/lists', [\App\Http\Controllers\Bside\FileController::class, 'lists'])->name('file_lists');
190 }); 191 });
191 //图片操作 192 //图片操作
192 Route::prefix('images')->group(function () { 193 Route::prefix('images')->group(function () {
@@ -232,9 +233,22 @@ Route::middleware(['bloginauth','accesstoken'])->group(function () { @@ -232,9 +233,22 @@ Route::middleware(['bloginauth','accesstoken'])->group(function () {
232 // Route::get('/custom-chunk', [\App\Http\Controllers\Bside\TemplateController::class, 'customChunk'])->name('bside_template_custom_chunk'); 233 // Route::get('/custom-chunk', [\App\Http\Controllers\Bside\TemplateController::class, 'customChunk'])->name('bside_template_custom_chunk');
233 Route::get('/get_type', [\App\Http\Controllers\Bside\TemplateController::class, 'get_type'])->name('bside_template_type'); 234 Route::get('/get_type', [\App\Http\Controllers\Bside\TemplateController::class, 'get_type'])->name('bside_template_type');
234 Route::get('/get_html', [\App\Http\Controllers\Bside\TemplateController::class, 'get_html'])->name('bside_template_get_html'); 235 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'); 236 + Route::post('/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'); 237 Route::get('/status', [\App\Http\Controllers\Bside\TemplateController::class, 'status'])->name('bside_template_status');
  238 +
  239 +
  240 + // 自定义模板的 块。
  241 + Route::get('/chunk', [\App\Http\Controllers\Bside\TemplateController::class, 'chunk'])->name('bside_template_chunk');
  242 +
  243 + Route::post('/chunk/create', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_create');
  244 + Route::post('/chunk/update', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_update');
  245 + Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id','\d+')->name('admin.template.chunk_delete');
  246 +
  247 +
237 }); 248 });
  249 +
  250 +
  251 +
238 // 自定义页面,专题页 252 // 自定义页面,专题页
239 Route::prefix('custom')->group(function () { 253 Route::prefix('custom')->group(function () {
240 Route::get('/', [\App\Http\Controllers\Bside\CustomController::class, 'index'])->name('bside_custom'); 254 Route::get('/', [\App\Http\Controllers\Bside\CustomController::class, 'index'])->name('bside_custom');