合并分支 'zhl' 到 'master'
修改视频文案疮毒 查看合并请求 !434
正在显示
1 个修改的文件
包含
42 行增加
和
23 行删除
| @@ -55,7 +55,7 @@ class VideoTask extends Command | @@ -55,7 +55,7 @@ class VideoTask extends Command | ||
| 55 | /** | 55 | /** |
| 56 | * @var int 最大子任务 | 56 | * @var int 最大子任务 |
| 57 | */ | 57 | */ |
| 58 | - public $max_sub_task = 800; | 58 | + public $max_sub_task = 200; |
| 59 | 59 | ||
| 60 | /** | 60 | /** |
| 61 | * @return bool | 61 | * @return bool |
| @@ -189,23 +189,39 @@ class VideoTask extends Command | @@ -189,23 +189,39 @@ class VideoTask extends Command | ||
| 189 | } | 189 | } |
| 190 | 190 | ||
| 191 | /** | 191 | /** |
| 192 | - * @remark :根据关键字获取产品主图 | ||
| 193 | - * @name :getKeywordList | ||
| 194 | - * @author :lyh | ||
| 195 | - * @method :post | ||
| 196 | - * @time :2024/2/23 16:28 | 192 | + * 根据关键字获取产品主图 |
| 193 | + * @param $keyword_id | ||
| 194 | + * @param $project_id | ||
| 195 | + * @param $domain | ||
| 196 | + * @return array | ||
| 197 | */ | 197 | */ |
| 198 | public function getKeywordImage($keyword_id,$project_id,$domain){ | 198 | public function getKeywordImage($keyword_id,$project_id,$domain){ |
| 199 | $keywordModel = new Keyword(); | 199 | $keywordModel = new Keyword(); |
| 200 | $keywordInfo = $keywordModel->read(['id'=>$keyword_id]); | 200 | $keywordInfo = $keywordModel->read(['id'=>$keyword_id]); |
| 201 | + // TODO 当内容太多时,生成视频过长, 尽量保证生成视频30秒左右, 所以需要控制文案内容长度 | ||
| 202 | + $content = $keywordInfo['keyword_content']; | ||
| 203 | + $content_array = explode(" ", $content); | ||
| 204 | + if (count($content_array) > 80) { | ||
| 205 | + $content_array = preg_split("/[,,。]/u", $content); | ||
| 206 | + $tmp = ''; | ||
| 207 | + foreach ($content_array as $val) { | ||
| 208 | + $tmp .= $val . '.'; | ||
| 209 | + $tmp_array = explode(' ', $tmp); | ||
| 210 | + if (count($tmp_array) > 60) { | ||
| 211 | + $content = $tmp; | ||
| 212 | + break; | ||
| 213 | + } | ||
| 214 | + } | ||
| 215 | + } | ||
| 216 | + | ||
| 201 | //TODO::所有产品 | 217 | //TODO::所有产品 |
| 202 | $thumb = $this->getRecommendAndHotProducts($keywordInfo['route'],$project_id); | 218 | $thumb = $this->getRecommendAndHotProducts($keywordInfo['route'],$project_id); |
| 203 | - $keyword_arr = Keyword::where("project_id",$project_id)->where("status",1)->inRandomOrder()->take(10)->pluck('title')->toArray();; | 219 | + $keyword_arr = Keyword::where("project_id",$project_id)->where("status",1)->inRandomOrder()->take(10)->pluck('title')->toArray(); |
| 204 | $data = [ | 220 | $data = [ |
| 205 | 'url'=>$domain.'/'.$keywordInfo['route'], | 221 | 'url'=>$domain.'/'.$keywordInfo['route'], |
| 206 | 'title'=>$keywordInfo['title'], | 222 | 'title'=>$keywordInfo['title'], |
| 207 | 'keyword_title'=>$keywordInfo['keyword_title'], | 223 | 'keyword_title'=>$keywordInfo['keyword_title'], |
| 208 | - 'keyword_content'=>$keywordInfo['keyword_content'], | 224 | + 'keyword_content'=>$content, |
| 209 | 'product_list'=>$thumb ?? [], | 225 | 'product_list'=>$thumb ?? [], |
| 210 | 'keyword_list'=>$keyword_arr ?? [] | 226 | 'keyword_list'=>$keyword_arr ?? [] |
| 211 | ]; | 227 | ]; |
| @@ -271,23 +287,26 @@ class VideoTask extends Command | @@ -271,23 +287,26 @@ class VideoTask extends Command | ||
| 271 | } | 287 | } |
| 272 | 288 | ||
| 273 | /** | 289 | /** |
| 274 | - * @remark :获取图片 | ||
| 275 | - * @name :getImage | ||
| 276 | - * @author :lyh | ||
| 277 | - * @method :post | ||
| 278 | - * @time :2024/3/12 15:29 | 290 | + * 获取图片 |
| 291 | + * @param $domainInfo | ||
| 292 | + * @return array | ||
| 279 | */ | 293 | */ |
| 280 | public function getImage($domainInfo){ | 294 | public function getImage($domainInfo){ |
| 281 | - $dom = file_get_html('https://'.$domainInfo['domain'].'/'); | ||
| 282 | - $logoDom = $dom->find('.logo', 0)->find("img",0); | ||
| 283 | - if($logoDom != null){ | ||
| 284 | - $logo = $logoDom->src; | ||
| 285 | - } | ||
| 286 | - $bgDom = $dom->find('.section-banner-wrap-block',0)->find('img', 0); | ||
| 287 | - if($bgDom != null){ | ||
| 288 | - $bg = $bgDom->src; | 295 | + $logo = $bg = ''; |
| 296 | + try { | ||
| 297 | + $dom = file_get_html('https://'.$domainInfo['domain'].'/'); | ||
| 298 | + $logoDom = $dom->find('.logo', 0)->find("img",0); | ||
| 299 | + if($logoDom != null){ | ||
| 300 | + $logo = $logoDom->src; | ||
| 301 | + } | ||
| 302 | + $bgDom = $dom->find('.section-banner-wrap-block',0)->find('img', 0); | ||
| 303 | + if($bgDom != null){ | ||
| 304 | + $bg = $bgDom->src; | ||
| 305 | + } | ||
| 306 | + $dom->clear(); | ||
| 307 | + } catch (\Exception $e) { | ||
| 308 | + Log::error('file_get_html: ' . $domainInfo['domain'] . ', error message: ' . $e->getMessage()); | ||
| 289 | } | 309 | } |
| 290 | - $dom->clear(); | ||
| 291 | - return ['logo'=>$logo ?? '','bg'=>$bg ?? '']; | 310 | + return ['logo' => $logo, 'bg' => $bg]; |
| 292 | } | 311 | } |
| 293 | } | 312 | } |
-
请 注册 或 登录 后发表评论