合并分支 'lyh-server' 到 'master'
Lyh server 查看合并请求 !2050
正在显示
11 个修改的文件
包含
323 行增加
和
4 行删除
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :AggregateKeywordAffixController.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2025/5/27 14:20 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Http\Controllers\Aside\Project; | ||
| 11 | + | ||
| 12 | +use App\Enums\Common\Code; | ||
| 13 | +use App\Http\Controllers\Aside\BaseController; | ||
| 14 | +use App\Http\Logic\Aside\Project\AggregateKeywordAffixLogic; | ||
| 15 | +use Illuminate\Http\Request; | ||
| 16 | + | ||
| 17 | +class AggregateKeywordAffixController extends BaseController | ||
| 18 | +{ | ||
| 19 | + public function __construct(Request $request) | ||
| 20 | + { | ||
| 21 | + parent::__construct($request); | ||
| 22 | + $this->logic = new AggregateKeywordAffixLogic(); | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * @remark :获取当前项目关键字前后缀 | ||
| 27 | + * @name :getAffix | ||
| 28 | + * @author :lyh | ||
| 29 | + * @method :post | ||
| 30 | + * @time :2025/5/27 14:23 | ||
| 31 | + */ | ||
| 32 | + public function getAffix(){ | ||
| 33 | + $this->request->validate([ | ||
| 34 | + 'project_id'=>'required', | ||
| 35 | + ],[ | ||
| 36 | + 'project_id.required' => 'project_id不能为空', | ||
| 37 | + ]); | ||
| 38 | + $data = $this->logic->getAffix(); | ||
| 39 | + $this->response('success',Code::SUCCESS,$data); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * @remark :保存关键字前后缀 | ||
| 44 | + * @name :save | ||
| 45 | + * @author :lyh | ||
| 46 | + * @method :post | ||
| 47 | + * @time :2025/5/27 14:23 | ||
| 48 | + */ | ||
| 49 | + public function saveAffix(){ | ||
| 50 | + $this->request->validate([ | ||
| 51 | + 'project_id'=>'required', | ||
| 52 | + 'prefix'=>'required', | ||
| 53 | + 'suffix'=>'required', | ||
| 54 | + ],[ | ||
| 55 | + 'project_id.required' => 'project_id不能为空', | ||
| 56 | + 'prefix.required' => '前缀不能为空', | ||
| 57 | + 'suffix.required' => '后缀不能为空', | ||
| 58 | + ]); | ||
| 59 | + $data = $this->logic->saveAffix(); | ||
| 60 | + $this->response('success',Code::SUCCESS,$data); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | +} |
| @@ -9,9 +9,9 @@ | @@ -9,9 +9,9 @@ | ||
| 9 | 9 | ||
| 10 | namespace App\Http\Controllers\Bside\News; | 10 | namespace App\Http\Controllers\Bside\News; |
| 11 | 11 | ||
| 12 | +use App\Enums\Common\Code; | ||
| 12 | use App\Http\Controllers\Bside\BaseController; | 13 | use App\Http\Controllers\Bside\BaseController; |
| 13 | use App\Http\Logic\Bside\News\NewsExtendLogic; | 14 | use App\Http\Logic\Bside\News\NewsExtendLogic; |
| 14 | -use App\Models\News\NewsExtend; | ||
| 15 | use Illuminate\Http\Request; | 15 | use Illuminate\Http\Request; |
| 16 | 16 | ||
| 17 | class NewsExtendController extends BaseController | 17 | class NewsExtendController extends BaseController |
| @@ -56,6 +56,25 @@ class NewsExtendController extends BaseController | @@ -56,6 +56,25 @@ class NewsExtendController extends BaseController | ||
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | /** | 58 | /** |
| 59 | + * @remark :修改状态 | ||
| 60 | + * @name :status | ||
| 61 | + * @author :lyh | ||
| 62 | + * @method :post | ||
| 63 | + * @time :2025/5/27 9:22 | ||
| 64 | + */ | ||
| 65 | + public function status(){ | ||
| 66 | + $this->request->validate([ | ||
| 67 | + 'id' => 'required', | ||
| 68 | + 'status' => 'required', | ||
| 69 | + ], [ | ||
| 70 | + 'id.required' => '字段名称不能为空', | ||
| 71 | + 'status.required' => '字段类型不能为空', | ||
| 72 | + ]); | ||
| 73 | + $data = $this->logic->extendStatus(); | ||
| 74 | + $this->response('success', Code::SUCCESS, $data); | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + /** | ||
| 59 | * @remark :删除扩展字段 | 78 | * @remark :删除扩展字段 |
| 60 | * @name :del | 79 | * @name :del |
| 61 | * @author :lyh | 80 | * @author :lyh |
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :AggregateKeywordAffixLogic.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2025/5/27 14:21 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Http\Logic\Aside\Project; | ||
| 11 | + | ||
| 12 | +use App\Http\Logic\Aside\BaseLogic; | ||
| 13 | +use App\Models\Project\AggregateKeywordAffix; | ||
| 14 | + | ||
| 15 | +class AggregateKeywordAffixLogic extends BaseLogic | ||
| 16 | +{ | ||
| 17 | + public function __construct() | ||
| 18 | + { | ||
| 19 | + parent::__construct(); | ||
| 20 | + $this->param = $this->requestAll; | ||
| 21 | + $this->model = new AggregateKeywordAffix(); | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * @remark :保存数据 | ||
| 26 | + * @name :getAffix | ||
| 27 | + * @author :lyh | ||
| 28 | + * @method :post | ||
| 29 | + * @time :2025/5/27 14:25 | ||
| 30 | + */ | ||
| 31 | + public function getAffix(){ | ||
| 32 | + $data = $this->model->read(['project_id'=>$this->param['project_id']]); | ||
| 33 | + if($data === false){ | ||
| 34 | + $data = []; | ||
| 35 | + } | ||
| 36 | + return $this->success($data); | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * @remark :保存数据 | ||
| 41 | + * @name :saveAffix | ||
| 42 | + * @author :lyh | ||
| 43 | + * @method :post | ||
| 44 | + * @time :2025/5/27 14:28 | ||
| 45 | + */ | ||
| 46 | + public function saveAffix(){ | ||
| 47 | + $info = $this->model->read(['project_id'=>$this->param['project_id']]); | ||
| 48 | + try { | ||
| 49 | + if($info === false){ | ||
| 50 | + $this->model->addReturnId(['project_id'=>$this->param['project_id'],'prefix'=>$this->param['prefix'] ?? '','suffix'=>$this->param['suffix'] ?? '']); | ||
| 51 | + }else{ | ||
| 52 | + $this->model->edit(['prefix'=>$this->param['prefix'] ?? '','suffix'=>$this->param['suffix'] ?? ''],['project_id'=>$this->param['project_id']]); | ||
| 53 | + } | ||
| 54 | + }catch (\Exception $e){ | ||
| 55 | + $this->fail('保存失败,请联系管理员'); | ||
| 56 | + } | ||
| 57 | + return $this->success(); | ||
| 58 | + } | ||
| 59 | +} |
| @@ -49,10 +49,16 @@ class CustomTemplateLogic extends BaseLogic | @@ -49,10 +49,16 @@ class CustomTemplateLogic extends BaseLogic | ||
| 49 | if($info === false){ | 49 | if($info === false){ |
| 50 | $this->fail('当前数据不存在'); | 50 | $this->fail('当前数据不存在'); |
| 51 | } | 51 | } |
| 52 | + if(!empty($info['html'])){ | ||
| 53 | + $info['is_renovation'] = 1; | ||
| 54 | + }else{ | ||
| 55 | + $info['html'] = $info['text']; | ||
| 56 | + $info['is_renovation'] = 0; | ||
| 57 | + } | ||
| 52 | $info['image'] = getImageUrl($info['image'],$this->user['storage_type'],$this->user['project_location']); | 58 | $info['image'] = getImageUrl($info['image'],$this->user['storage_type'],$this->user['project_location']); |
| 53 | if($info['is_visualization'] == 0 || $info['is_visualization'] == 1){ | 59 | if($info['is_visualization'] == 0 || $info['is_visualization'] == 1){ |
| 54 | $template_id = $this->getTemplateId(); | 60 | $template_id = $this->getTemplateId(); |
| 55 | - $html = $this->getTemplateComHtml(empty($info['html']) ? $info['text'] : $info['html'],$info['html_style'],$template_id); | 61 | + $html = $this->getTemplateComHtml($info['html'],$info['html_style'],$template_id); |
| 56 | $info['html'] = $this->getHeadFooter($html); | 62 | $info['html'] = $this->getHeadFooter($html); |
| 57 | } | 63 | } |
| 58 | return $this->success($info); | 64 | return $this->success($info); |
| @@ -30,6 +30,7 @@ class NewsExtendLogic extends BaseLogic | @@ -30,6 +30,7 @@ class NewsExtendLogic extends BaseLogic | ||
| 30 | * @time :2025/5/26 15:17 | 30 | * @time :2025/5/26 15:17 |
| 31 | */ | 31 | */ |
| 32 | public function list($map){ | 32 | public function list($map){ |
| 33 | + $map['status'] = 1; | ||
| 33 | $data = $this->model->list($map); | 34 | $data = $this->model->list($map); |
| 34 | return $this->success($data); | 35 | return $this->success($data); |
| 35 | } | 36 | } |
| @@ -61,6 +62,18 @@ class NewsExtendLogic extends BaseLogic | @@ -61,6 +62,18 @@ class NewsExtendLogic extends BaseLogic | ||
| 61 | } | 62 | } |
| 62 | 63 | ||
| 63 | /** | 64 | /** |
| 65 | + * @remark :修改状态 | ||
| 66 | + * @name :extendStatus | ||
| 67 | + * @author :lyh | ||
| 68 | + * @method :post | ||
| 69 | + * @time :2025/5/27 9:20 | ||
| 70 | + */ | ||
| 71 | + public function extendStatus(){ | ||
| 72 | + $result = $this->model->edit(['status'=>$this->param['status']],['id'=>$this->param['id']]); | ||
| 73 | + return $this->success(['result'=>$result]); | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + /** | ||
| 64 | * @remark :删除字段 | 77 | * @remark :删除字段 |
| 65 | * @name :extendDel | 78 | * @name :extendDel |
| 66 | * @author :lyh | 79 | * @author :lyh |
| @@ -8,6 +8,8 @@ use App\Http\Logic\Bside\BaseLogic; | @@ -8,6 +8,8 @@ use App\Http\Logic\Bside\BaseLogic; | ||
| 8 | use App\Models\News\News; | 8 | use App\Models\News\News; |
| 9 | use App\Models\News\NewsCategory; | 9 | use App\Models\News\NewsCategory; |
| 10 | use App\Models\News\NewsCategory as NewsCategoryModel; | 10 | use App\Models\News\NewsCategory as NewsCategoryModel; |
| 11 | +use App\Models\News\NewsExtend; | ||
| 12 | +use App\Models\News\NewsExtendInfo; | ||
| 11 | use App\Models\RouteMap\RouteMap; | 13 | use App\Models\RouteMap\RouteMap; |
| 12 | use App\Models\Template\BTemplate; | 14 | use App\Models\Template\BTemplate; |
| 13 | use App\Services\CosService; | 15 | use App\Services\CosService; |
| @@ -79,6 +81,7 @@ class NewsLogic extends BaseLogic | @@ -79,6 +81,7 @@ class NewsLogic extends BaseLogic | ||
| 79 | $this->edit(['url' => $route], ['id' => $id]); | 81 | $this->edit(['url' => $route], ['id' => $id]); |
| 80 | $this->curlDelRoute(['new_route'=>$route]); | 82 | $this->curlDelRoute(['new_route'=>$route]); |
| 81 | } | 83 | } |
| 84 | + $this->model->saveExtendInfo($id,$this->param['extend'] ?? []); | ||
| 82 | $this->addUpdateNotify(RouteMap::SOURCE_NEWS,$route); | 85 | $this->addUpdateNotify(RouteMap::SOURCE_NEWS,$route); |
| 83 | return $this->success(['id'=>$id]); | 86 | return $this->success(['id'=>$id]); |
| 84 | } | 87 | } |
| @@ -143,11 +146,12 @@ class NewsLogic extends BaseLogic | @@ -143,11 +146,12 @@ class NewsLogic extends BaseLogic | ||
| 143 | { | 146 | { |
| 144 | $info = $this->model->read($this->param); | 147 | $info = $this->model->read($this->param); |
| 145 | if($info === false){ | 148 | if($info === false){ |
| 146 | - $this->fail('error'); | 149 | + $this->fail('当前数据不存在'); |
| 147 | } | 150 | } |
| 148 | $info['category_id'] = explode(',',trim($info['category_id'],',')); | 151 | $info['category_id'] = explode(',',trim($info['category_id'],',')); |
| 149 | $info['image_link'] = getImageUrl($info['image'],$this->user['storage_type'],$this->user['project_location']); | 152 | $info['image_link'] = getImageUrl($info['image'],$this->user['storage_type'],$this->user['project_location']); |
| 150 | $info['og_image'] = getImageUrl(empty($info['og_image']) ? $info['image'] : $info['og_image'],$this->user['storage_type'],$this->user['project_location']); | 153 | $info['og_image'] = getImageUrl(empty($info['og_image']) ? $info['image'] : $info['og_image'],$this->user['storage_type'],$this->user['project_location']); |
| 154 | + $info['extend'] = $this->model->getExtendInfo($info['id']); | ||
| 151 | return $this->success($info); | 155 | return $this->success($info); |
| 152 | } | 156 | } |
| 153 | 157 |
| @@ -32,4 +32,124 @@ class News extends Base | @@ -32,4 +32,124 @@ class News extends Base | ||
| 32 | public function getRelatedProductIdAttribute($value){ | 32 | public function getRelatedProductIdAttribute($value){ |
| 33 | return Arr::setToArr($value); | 33 | return Arr::setToArr($value); |
| 34 | } | 34 | } |
| 35 | + | ||
| 36 | + /** | ||
| 37 | + * @remark :扩展字段根据type返回类型 | ||
| 38 | + * @name :setTypValues | ||
| 39 | + * @author :lyh | ||
| 40 | + * @method :post | ||
| 41 | + * @time :2023/12/6 14:43 | ||
| 42 | + */ | ||
| 43 | + public function getExtendInfo($news_id){ | ||
| 44 | + $extendModel = new NewsExtend(); | ||
| 45 | + $list = $extendModel->list(['status'=>1],'id',['id','type','key','title']); | ||
| 46 | + if(empty($list)){ | ||
| 47 | + return []; | ||
| 48 | + } | ||
| 49 | + $extendInfoModel = new NewsExtendInfo(); | ||
| 50 | + $infoList = $extendInfoModel->list(['news_id'=>$news_id],'created_at'); | ||
| 51 | + foreach ($list as $k=>$v){ | ||
| 52 | + if($v['type'] == 3 || $v['type'] == 4){ | ||
| 53 | + $v['values'] = []; | ||
| 54 | + }else{ | ||
| 55 | + $v['values'] = ''; | ||
| 56 | + } | ||
| 57 | + if(!empty($infoList)){ | ||
| 58 | + foreach ($infoList as $values){ | ||
| 59 | + if($v['key'] == $values['key']){ | ||
| 60 | + $v = $this->setTypValues($v,$values); | ||
| 61 | + break; | ||
| 62 | + } | ||
| 63 | + } | ||
| 64 | + } | ||
| 65 | + $list[$k] = $v; | ||
| 66 | + } | ||
| 67 | + return $list; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + | ||
| 71 | + /** | ||
| 72 | + * @remark :扩展字段根据type返回类型 | ||
| 73 | + * @name :setTypValues | ||
| 74 | + * @author :lyh | ||
| 75 | + * @method :post | ||
| 76 | + * @time :2023/12/6 14:43 | ||
| 77 | + */ | ||
| 78 | + public function setTypValues($v,$info){ | ||
| 79 | + if($v['type'] == 3){ | ||
| 80 | + $arr = json_decode($info['values']); | ||
| 81 | + foreach ($arr as $k1=>$v1){ | ||
| 82 | + $v1 = (array)$v1; | ||
| 83 | + $v1['url'] = getImageUrl($v1['url'],$this->user['storage_type'],$this->user['project_location']); | ||
| 84 | + $arr[$k1] = $v1; | ||
| 85 | + } | ||
| 86 | + $v['values'] = $arr; | ||
| 87 | + }elseif($v['type'] == 4){ | ||
| 88 | + $arr1 = json_decode($info['values']); | ||
| 89 | + foreach ($arr1 as $k1=>$v1){ | ||
| 90 | + $v1 = (array)$v1; | ||
| 91 | + if(isset($v1['url'])){ | ||
| 92 | + $v1['url'] = getFileUrl($v1['url'],$this->user['storage_type'],$this->user['project_location'],$this->user['file_cdn'] ?? 0); | ||
| 93 | + }else{ | ||
| 94 | + $v1 = getFileUrl($v1,$this->user['storage_type'],$this->user['project_location'],$this->user['file_cdn'] ?? 0); | ||
| 95 | + } | ||
| 96 | + $arr1[$k1] = $v1; | ||
| 97 | + } | ||
| 98 | + $v['values'] = $arr1; | ||
| 99 | + }else{ | ||
| 100 | + $v['values'] = $info['values']; | ||
| 101 | + } | ||
| 102 | + return $v; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + /** | ||
| 106 | + * @remark :保存扩展字段 | ||
| 107 | + * @name :saveExtend | ||
| 108 | + * @author :lyh | ||
| 109 | + * @method :post | ||
| 110 | + * @time :2023/11/9 15:02 | ||
| 111 | + */ | ||
| 112 | + public function saveExtendInfo($news_id,$extend){ | ||
| 113 | + //先删除以前的数据 | ||
| 114 | + $extendInfoModel = new NewsExtendInfo(); | ||
| 115 | + $extendInfoModel->del(['news_id'=>$news_id]); | ||
| 116 | + if(empty($extend)) { | ||
| 117 | + return true; | ||
| 118 | + } | ||
| 119 | + foreach ($extend as $k => $v){ | ||
| 120 | + if(empty($v['values'])){ | ||
| 121 | + continue; | ||
| 122 | + } | ||
| 123 | + $v = $this->saveHandleExtend($v,$news_id); | ||
| 124 | + $extendInfoModel->add($v); | ||
| 125 | + } | ||
| 126 | + return true; | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + /** | ||
| 130 | + * @remark :保存扩展字段时处理数据 | ||
| 131 | + * @name :saveHandleExtend | ||
| 132 | + * @author :lyh | ||
| 133 | + * @method :post | ||
| 134 | + * @time :2023/12/6 15:11 | ||
| 135 | + */ | ||
| 136 | + public function saveHandleExtend(&$v,$news_id){ | ||
| 137 | + unset($v['title']); | ||
| 138 | + if($v['type'] == 3){ | ||
| 139 | + foreach ($v['values'] as $k1=>$v1){ | ||
| 140 | + $v1['url'] = str_replace_url($v1['url']); | ||
| 141 | + $v['values'][$k1] = $v1; | ||
| 142 | + } | ||
| 143 | + $v['values'] = json_encode($v['values']); | ||
| 144 | + }elseif ($v['type'] == 4){ | ||
| 145 | + foreach ($v['values'] as $k1=>$v1){ | ||
| 146 | + $v1['url'] = str_replace_url($v1['url']); | ||
| 147 | + $v['values'][$k1] = $v1; | ||
| 148 | + } | ||
| 149 | + $v['values'] = json_encode($v['values']); | ||
| 150 | + } | ||
| 151 | + $v['project_id'] = $this->user['project_id']; | ||
| 152 | + $v['news_id'] = $news_id; | ||
| 153 | + return $v; | ||
| 154 | + } | ||
| 35 | } | 155 | } |
| @@ -26,7 +26,7 @@ class NewsExtend extends Base | @@ -26,7 +26,7 @@ class NewsExtend extends Base | ||
| 26 | * @time :2025/5/26 15:39 | 26 | * @time :2025/5/26 15:39 |
| 27 | */ | 27 | */ |
| 28 | public function getKey($key = self::EXTEND_KEY,$i = 1){ | 28 | public function getKey($key = self::EXTEND_KEY,$i = 1){ |
| 29 | - $info = $this->model->read(['key'=>$key.$i]); | 29 | + $info = $this->read(['key'=>$key.$i]); |
| 30 | if($info !== false){ | 30 | if($info !== false){ |
| 31 | return $this->getKey($key,$i+1); | 31 | return $this->getKey($key,$i+1); |
| 32 | }else{ | 32 | }else{ |
app/Models/Project/AggregateKeywordAffix.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :AggregateKeywordAffix.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2025/5/27 14:16 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Models\Project; | ||
| 11 | + | ||
| 12 | +use App\Models\Base; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * @remark :聚合页关键字前后缀 | ||
| 16 | + * @name :AggregateKeywordAffix | ||
| 17 | + * @author :lyh | ||
| 18 | + * @method :post | ||
| 19 | + * @time :2025/5/27 14:16 | ||
| 20 | + */ | ||
| 21 | +class AggregateKeywordAffix extends Base | ||
| 22 | +{ | ||
| 23 | + protected $table = 'gl_aggregate_keyword_affix'; | ||
| 24 | +} |
| @@ -220,6 +220,7 @@ Route::middleware(['aloginauth'])->group(function () { | @@ -220,6 +220,7 @@ Route::middleware(['aloginauth'])->group(function () { | ||
| 220 | Route::any('/', [Aside\Project\MinorLanguagesController::class, 'getMinorLanguageList'])->name('admin.getMinorLanguageList'); | 220 | Route::any('/', [Aside\Project\MinorLanguagesController::class, 'getMinorLanguageList'])->name('admin.getMinorLanguageList'); |
| 221 | Route::any('/getLanguages', [Aside\Project\MinorLanguagesController::class, 'getLanguages'])->name('admin.getLanguages'); | 221 | Route::any('/getLanguages', [Aside\Project\MinorLanguagesController::class, 'getLanguages'])->name('admin.getLanguages'); |
| 222 | }); | 222 | }); |
| 223 | + | ||
| 223 | //更新项目tdk | 224 | //更新项目tdk |
| 224 | Route::any('/updateSeoTdk', [Aside\Com\UpdateController::class, 'updateSeoTdk'])->name('admin.project_updateSeoTdk'); | 225 | Route::any('/updateSeoTdk', [Aside\Com\UpdateController::class, 'updateSeoTdk'])->name('admin.project_updateSeoTdk'); |
| 225 | //项目内容采集 | 226 | //项目内容采集 |
| @@ -562,6 +563,11 @@ Route::middleware(['aloginauth'])->group(function () { | @@ -562,6 +563,11 @@ Route::middleware(['aloginauth'])->group(function () { | ||
| 562 | Route::any('/info', [Aside\Project\AggregateKeywordController::class, 'info'])->name('admin.aggregateKeyword_info'); | 563 | Route::any('/info', [Aside\Project\AggregateKeywordController::class, 'info'])->name('admin.aggregateKeyword_info'); |
| 563 | Route::any('/save', [Aside\Project\AggregateKeywordController::class, 'save'])->name('admin.aggregateKeyword_save'); | 564 | Route::any('/save', [Aside\Project\AggregateKeywordController::class, 'save'])->name('admin.aggregateKeyword_save'); |
| 564 | Route::any('/del', [Aside\Project\AggregateKeywordController::class, 'del'])->name('admin.aggregateKeyword_del'); | 565 | Route::any('/del', [Aside\Project\AggregateKeywordController::class, 'del'])->name('admin.aggregateKeyword_del'); |
| 566 | + //聚合页关键词前后缀 | ||
| 567 | + Route::prefix('affix')->group(function () { | ||
| 568 | + Route::any('/getAffix', [Aside\Project\AggregateKeywordAffixController::class, 'getAffix'])->name('admin.affix_getAffix'); | ||
| 569 | + Route::any('/saveAffix', [Aside\Project\AggregateKeywordAffixController::class, 'saveAffix'])->name('admin.affix_saveAffix'); | ||
| 570 | + }); | ||
| 565 | }); | 571 | }); |
| 566 | 572 | ||
| 567 | }); | 573 | }); |
| @@ -104,6 +104,11 @@ Route::middleware(['bloginauth'])->group(function () { | @@ -104,6 +104,11 @@ Route::middleware(['bloginauth'])->group(function () { | ||
| 104 | Route::any('/category/status', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'status'])->name('news_category_status'); | 104 | Route::any('/category/status', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'status'])->name('news_category_status'); |
| 105 | Route::any('/category/sort', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'sort'])->name('news_category_sort'); | 105 | Route::any('/category/sort', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'sort'])->name('news_category_sort'); |
| 106 | Route::any('/category/categoryTopList', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'categoryTopList'])->name('news_category_categoryTopList'); | 106 | Route::any('/category/categoryTopList', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'categoryTopList'])->name('news_category_categoryTopList'); |
| 107 | + //新闻扩展模块 | ||
| 108 | + Route::any('/extend/', [\App\Http\Controllers\Bside\News\NewsExtendController::class, 'lists'])->name('news_extend_lists'); | ||
| 109 | + Route::any('/extend/save', [\App\Http\Controllers\Bside\News\NewsExtendController::class, 'save'])->name('news_extend_save'); | ||
| 110 | + Route::any('/extend/status', [\App\Http\Controllers\Bside\News\NewsExtendController::class, 'status'])->name('news_extend_status'); | ||
| 111 | + Route::any('/extend/del', [\App\Http\Controllers\Bside\News\NewsExtendController::class, 'del'])->name('news_extend_del'); | ||
| 107 | }); | 112 | }); |
| 108 | 113 | ||
| 109 | //博客相关路由 | 114 | //博客相关路由 |
-
请 注册 或 登录 后发表评论