合并分支 'lyh-server' 到 'master'
Lyh server 查看合并请求 !2819
正在显示
5 个修改的文件
包含
102 行增加
和
12 行删除
| @@ -230,14 +230,12 @@ class AiBlogController extends BaseController | @@ -230,14 +230,12 @@ class AiBlogController extends BaseController | ||
| 230 | 'author_id'=>['required'], | 230 | 'author_id'=>['required'], |
| 231 | 'text'=>['required'], | 231 | 'text'=>['required'], |
| 232 | 'description'=>['required'], | 232 | 'description'=>['required'], |
| 233 | - 'route'=>['required'], | ||
| 234 | ],[ | 233 | ],[ |
| 235 | 'new_title.required' => '标题不能为空', | 234 | 'new_title.required' => '标题不能为空', |
| 236 | 'image.required' => '缩略图不能为空', | 235 | 'image.required' => '缩略图不能为空', |
| 237 | 'author_id.required' => '作者id不能为空', | 236 | 'author_id.required' => '作者id不能为空', |
| 238 | 'text.required' => '作者id不能为空', | 237 | 'text.required' => '作者id不能为空', |
| 239 | 'description.required' => '短描述不能为空', | 238 | 'description.required' => '短描述不能为空', |
| 240 | - 'route.required' => '路由不能为空', | ||
| 241 | ]); | 239 | ]); |
| 242 | $data = $aiBlogLogic->customSaveBlog($this->param); | 240 | $data = $aiBlogLogic->customSaveBlog($this->param); |
| 243 | $this->response('success',Code::SUCCESS,$data); | 241 | $this->response('success',Code::SUCCESS,$data); |
| @@ -171,9 +171,7 @@ class AiBlogLogic extends BaseLogic | @@ -171,9 +171,7 @@ class AiBlogLogic extends BaseLogic | ||
| 171 | { | 171 | { |
| 172 | try { | 172 | try { |
| 173 | //处理路由 | 173 | //处理路由 |
| 174 | - if(empty($param['route'])){ | ||
| 175 | - $param['route'] = generateRoute(Translate::tran($param['new_title'], 'en')); | ||
| 176 | - } | 174 | + $param['route'] = generateRoute(Translate::tran($param['route'] ?? $param['new_title'], 'en')); |
| 177 | //推送到ai的数据结构 | 175 | //推送到ai的数据结构 |
| 178 | $data = [ | 176 | $data = [ |
| 179 | 'title'=>$param['new_title'], 'thumb'=>$param['image'], 'foreword'=>$param['description'], | 177 | 'title'=>$param['new_title'], 'thumb'=>$param['image'], 'foreword'=>$param['description'], |
| @@ -4,6 +4,7 @@ namespace App\Http\Logic\Bside\Blog; | @@ -4,6 +4,7 @@ namespace App\Http\Logic\Bside\Blog; | ||
| 4 | 4 | ||
| 5 | use App\Http\Logic\Bside\BaseLogic; | 5 | use App\Http\Logic\Bside\BaseLogic; |
| 6 | use App\Models\Blog\Blog; | 6 | use App\Models\Blog\Blog; |
| 7 | +use App\Models\Blog\BlogExtendInfo; | ||
| 7 | use App\Models\RouteMap\RouteMap; | 8 | use App\Models\RouteMap\RouteMap; |
| 8 | use App\Models\Template\BTemplate; | 9 | use App\Models\Template\BTemplate; |
| 9 | use Illuminate\Support\Facades\DB; | 10 | use Illuminate\Support\Facades\DB; |
| @@ -47,6 +48,7 @@ class BlogLogic extends BaseLogic | @@ -47,6 +48,7 @@ class BlogLogic extends BaseLogic | ||
| 47 | $this->edit(['url'=>$route],['id'=>$id]); | 48 | $this->edit(['url'=>$route],['id'=>$id]); |
| 48 | $this->curlDelRoute(['new_route'=>$route]); | 49 | $this->curlDelRoute(['new_route'=>$route]); |
| 49 | } | 50 | } |
| 51 | + $this->model->saveExtendInfo($id,$this->param['extend'] ?? [],$this->user['project_id']); | ||
| 50 | $this->addUpdateNotify(RouteMap::SOURCE_BLOG,$route); | 52 | $this->addUpdateNotify(RouteMap::SOURCE_BLOG,$route); |
| 51 | return $this->success(['id'=>$id]); | 53 | return $this->success(['id'=>$id]); |
| 52 | } | 54 | } |
| @@ -101,6 +103,7 @@ class BlogLogic extends BaseLogic | @@ -101,6 +103,7 @@ class BlogLogic extends BaseLogic | ||
| 101 | $info['label_name'] = $blogLabelLogic->getLabelName($info['label_id']); | 103 | $info['label_name'] = $blogLabelLogic->getLabelName($info['label_id']); |
| 102 | $info['image_link'] = getImageUrl($info['image'],$this->user['storage_type'],$this->user['project_location']); | 104 | $info['image_link'] = getImageUrl($info['image'],$this->user['storage_type'],$this->user['project_location']); |
| 103 | $info['og_image'] = getImageUrl(empty($info['og_image']) ? $info['image'] : $info['og_image'],$this->user['storage_type'],$this->user['project_location']); | 105 | $info['og_image'] = getImageUrl(empty($info['og_image']) ? $info['image'] : $info['og_image'],$this->user['storage_type'],$this->user['project_location']); |
| 106 | + $info['extend'] = $this->model->getExtendInfo($info['id']); | ||
| 104 | return $this->success($info); | 107 | return $this->success($info); |
| 105 | } | 108 | } |
| 106 | 109 | ||
| @@ -141,6 +144,9 @@ class BlogLogic extends BaseLogic | @@ -141,6 +144,9 @@ class BlogLogic extends BaseLogic | ||
| 141 | $this->delRoute($id); | 144 | $this->delRoute($id); |
| 142 | RouteMap::delRoute(RouteMap::SOURCE_BLOG, $id, $this->user['project_id']); | 145 | RouteMap::delRoute(RouteMap::SOURCE_BLOG, $id, $this->user['project_id']); |
| 143 | $this->model->del(['id' => $id]); | 146 | $this->model->del(['id' => $id]); |
| 147 | + //删除扩展字段 | ||
| 148 | + $extendInfoModel = new BlogExtendInfo(); | ||
| 149 | + $extendInfoModel->del(['blog_id'=>$id]); | ||
| 144 | } | 150 | } |
| 145 | } | 151 | } |
| 146 | DB::commit(); | 152 | DB::commit(); |
| @@ -22,6 +22,89 @@ class Blog extends Base | @@ -22,6 +22,89 @@ class Blog extends Base | ||
| 22 | } | 22 | } |
| 23 | return $value; | 23 | return $value; |
| 24 | } | 24 | } |
| 25 | + /** | ||
| 26 | + * @remark :扩展字段根据type返回类型 | ||
| 27 | + * @name :setTypValues | ||
| 28 | + * @author :lyh | ||
| 29 | + * @method :post | ||
| 30 | + * @time :2023/12/6 14:43 | ||
| 31 | + */ | ||
| 32 | + public function getExtendInfo($news_id){ | ||
| 33 | + $extendModel = new BlogExtend(); | ||
| 34 | + $list = $extendModel->list(['status'=>1],'id',['id','type','key','title']); | ||
| 35 | + if(empty($list)){ | ||
| 36 | + return []; | ||
| 37 | + } | ||
| 38 | + $extendInfoModel = new BlogExtendInfo(); | ||
| 39 | + $infoList = $extendInfoModel->list(['news_id'=>$news_id],'created_at'); | ||
| 40 | + foreach ($list as $k=>$v){ | ||
| 41 | + if($v['type'] == 3 || $v['type'] == 4){ | ||
| 42 | + $v['values'] = []; | ||
| 43 | + }else{ | ||
| 44 | + $v['values'] = ''; | ||
| 45 | + } | ||
| 46 | + if(!empty($infoList)){ | ||
| 47 | + foreach ($infoList as $values){ | ||
| 48 | + if($v['key'] == $values['key']){ | ||
| 49 | + $v = $this->setTypValues($v,$values); | ||
| 50 | + break; | ||
| 51 | + } | ||
| 52 | + } | ||
| 53 | + } | ||
| 54 | + $list[$k] = $v; | ||
| 55 | + } | ||
| 56 | + return $list; | ||
| 57 | + } | ||
| 58 | + /** | ||
| 59 | + * @remark :保存扩展字段 | ||
| 60 | + * @name :saveExtend | ||
| 61 | + * @author :lyh | ||
| 62 | + * @method :post | ||
| 63 | + * @time :2023/11/9 15:02 | ||
| 64 | + */ | ||
| 65 | + public function saveExtendInfo($blog_id,$extend,$project_id){ | ||
| 66 | + //先删除以前的数据 | ||
| 67 | + $extendInfoModel = new BlogExtendInfo(); | ||
| 68 | + $extendInfoModel->del(['blog_id'=>$blog_id]); | ||
| 69 | + if(empty($extend)) { | ||
| 70 | + return true; | ||
| 71 | + } | ||
| 72 | + foreach ($extend as $k => $v){ | ||
| 73 | + if(empty($v['values'])){ | ||
| 74 | + continue; | ||
| 75 | + } | ||
| 76 | + $v = $this->saveHandleExtend($v,$blog_id,$project_id); | ||
| 77 | + $extendInfoModel->add($v); | ||
| 78 | + } | ||
| 79 | + return true; | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + /** | ||
| 83 | + * @remark :保存扩展字段时处理数据 | ||
| 84 | + * @name :saveHandleExtend | ||
| 85 | + * @author :lyh | ||
| 86 | + * @method :post | ||
| 87 | + * @time :2023/12/6 15:11 | ||
| 88 | + */ | ||
| 89 | + public function saveHandleExtend(&$v,$blog_id,$project_id){ | ||
| 90 | + unset($v['title']); | ||
| 91 | + if($v['type'] == 3){ | ||
| 92 | + foreach ($v['values'] as $k1=>$v1){ | ||
| 93 | + $v1['url'] = str_replace_url($v1['url']); | ||
| 94 | + $v['values'][$k1] = $v1; | ||
| 95 | + } | ||
| 96 | + $v['values'] = json_encode($v['values']); | ||
| 97 | + }elseif ($v['type'] == 4){ | ||
| 98 | + foreach ($v['values'] as $k1=>$v1){ | ||
| 99 | + $v1['url'] = str_replace_url($v1['url']); | ||
| 100 | + $v['values'][$k1] = $v1; | ||
| 101 | + } | ||
| 102 | + $v['values'] = json_encode($v['values']); | ||
| 103 | + } | ||
| 104 | + $v['project_id'] = $project_id; | ||
| 105 | + $v['news_id'] = $blog_id; | ||
| 106 | + return $v; | ||
| 107 | + } | ||
| 25 | } | 108 | } |
| 26 | 109 | ||
| 27 | 110 |
| @@ -141,13 +141,18 @@ Route::middleware(['bloginauth'])->group(function () { | @@ -141,13 +141,18 @@ Route::middleware(['bloginauth'])->group(function () { | ||
| 141 | Route::any('/category/sort', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'sort'])->name('blog_category_sort'); | 141 | Route::any('/category/sort', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'sort'])->name('blog_category_sort'); |
| 142 | Route::any('/category/categoryTopList', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'categoryTopList'])->name('blog_category_categoryTopList'); | 142 | Route::any('/category/categoryTopList', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'categoryTopList'])->name('blog_category_categoryTopList'); |
| 143 | //博客标签 | 143 | //博客标签 |
| 144 | - Route::any('/label/', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'lists'])->name('blog_lists'); | ||
| 145 | - Route::any('/label/add', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'add'])->name('blog_add'); | ||
| 146 | - Route::any('/label/info', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'info'])->name('blog_info'); | ||
| 147 | - Route::any('/label/edit', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'edit'])->name('blog_edit'); | ||
| 148 | - Route::any('/label/del', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'del'])->name('blog_del'); | ||
| 149 | - Route::any('/label/batchAdd', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'batchAdd'])->name('blog_batchAdd'); | ||
| 150 | - Route::any('/label/status', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'status'])->name('blog_status'); | 144 | + Route::any('/label/', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'lists'])->name('blog_label_lists'); |
| 145 | + Route::any('/label/add', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'add'])->name('blog_label_add'); | ||
| 146 | + Route::any('/label/info', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'info'])->name('blog_label_info'); | ||
| 147 | + Route::any('/label/edit', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'edit'])->name('blog_label_edit'); | ||
| 148 | + Route::any('/label/del', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'del'])->name('blog_label_del'); | ||
| 149 | + Route::any('/label/batchAdd', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'batchAdd'])->name('blog_label_batchAdd'); | ||
| 150 | + Route::any('/label/status', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'status'])->name('blog_label_status'); | ||
| 151 | + //扩展字段 | ||
| 152 | + Route::any('/extend/', [\App\Http\Controllers\Bside\Blog\BlogExtendController::class, 'lists'])->name('blog_extend_lists'); | ||
| 153 | + Route::any('/extend/save', [\App\Http\Controllers\Bside\Blog\BlogExtendController::class, 'save'])->name('blog_extend_save'); | ||
| 154 | + Route::any('/extend/status', [\App\Http\Controllers\Bside\Blog\BlogExtendController::class, 'status'])->name('blog_extend_status'); | ||
| 155 | + Route::any('/extend/del', [\App\Http\Controllers\Bside\Blog\BlogExtendController::class, 'del'])->name('blog_extend_del'); | ||
| 151 | }); | 156 | }); |
| 152 | //ai指令 | 157 | //ai指令 |
| 153 | Route::prefix('command')->group(function () { | 158 | Route::prefix('command')->group(function () { |
-
请 注册 或 登录 后发表评论