正在显示
2 个修改的文件
包含
44 行增加
和
38 行删除
| @@ -91,6 +91,13 @@ class ProjectUpdate extends Command | @@ -91,6 +91,13 @@ class ProjectUpdate extends Command | ||
| 91 | if ($data_language) { | 91 | if ($data_language) { |
| 92 | $language_list = array_column($data_language, 'short'); | 92 | $language_list = array_column($data_language, 'short'); |
| 93 | } | 93 | } |
| 94 | + //获取所有页面 | ||
| 95 | + $page_list = []; | ||
| 96 | + $url_page = 'https://' . $domain_arr['host'] . '/wp-content/cache/pages_list.json'; | ||
| 97 | + $data_page = http_get($url_page, ['charset' => 'UTF-8']); | ||
| 98 | + if ($data_page) { | ||
| 99 | + $page_list = array_column($data_page, 'path'); | ||
| 100 | + } | ||
| 94 | 101 | ||
| 95 | //设置数据库 | 102 | //设置数据库 |
| 96 | $project = ProjectServer::useProject($project_id); | 103 | $project = ProjectServer::useProject($project_id); |
| @@ -142,7 +149,7 @@ class ProjectUpdate extends Command | @@ -142,7 +149,7 @@ class ProjectUpdate extends Command | ||
| 142 | $id = $keyword['id']; | 149 | $id = $keyword['id']; |
| 143 | } | 150 | } |
| 144 | 151 | ||
| 145 | - CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT_KEYWORD, $id, $link_type, $language_list); | 152 | + CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT_KEYWORD, $id, $link_type, $language_list, $page_list); |
| 146 | } | 153 | } |
| 147 | } | 154 | } |
| 148 | } | 155 | } |
| @@ -274,7 +281,7 @@ class ProjectUpdate extends Command | @@ -274,7 +281,7 @@ class ProjectUpdate extends Command | ||
| 274 | $id = $product['id']; | 281 | $id = $product['id']; |
| 275 | } | 282 | } |
| 276 | 283 | ||
| 277 | - CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list); | 284 | + CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list); |
| 278 | } | 285 | } |
| 279 | } | 286 | } |
| 280 | } | 287 | } |
| @@ -328,7 +335,7 @@ class ProjectUpdate extends Command | @@ -328,7 +335,7 @@ class ProjectUpdate extends Command | ||
| 328 | $id = $news['id']; | 335 | $id = $news['id']; |
| 329 | } | 336 | } |
| 330 | 337 | ||
| 331 | - CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list); | 338 | + CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list, $page_list); |
| 332 | } | 339 | } |
| 333 | } | 340 | } |
| 334 | } | 341 | } |
| @@ -376,7 +383,7 @@ class ProjectUpdate extends Command | @@ -376,7 +383,7 @@ class ProjectUpdate extends Command | ||
| 376 | $id = $custom['id']; | 383 | $id = $custom['id']; |
| 377 | } | 384 | } |
| 378 | 385 | ||
| 379 | - CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list); | 386 | + CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list, $page_list); |
| 380 | } | 387 | } |
| 381 | } | 388 | } |
| 382 | } | 389 | } |
| @@ -17,7 +17,7 @@ class CollectTask extends Base | @@ -17,7 +17,7 @@ class CollectTask extends Base | ||
| 17 | const STATUS_COM = 2; | 17 | const STATUS_COM = 2; |
| 18 | const STATUS_FAIL = 3; | 18 | const STATUS_FAIL = 3; |
| 19 | 19 | ||
| 20 | - public static function _insert($url, $project_id, $source, $source_id, $link_type = 0, $language_list = []) | 20 | + public static function _insert($url, $project_id, $source, $source_id, $link_type = 0, $language_list = [], $page_list = []) |
| 21 | { | 21 | { |
| 22 | if (!$url) { | 22 | if (!$url) { |
| 23 | return; | 23 | return; |
| @@ -35,47 +35,46 @@ class CollectTask extends Base | @@ -35,47 +35,46 @@ class CollectTask extends Base | ||
| 35 | ]; | 35 | ]; |
| 36 | 36 | ||
| 37 | $task = self::where($where)->first(); | 37 | $task = self::where($where)->first(); |
| 38 | + $data = []; | ||
| 39 | + $now = date('Y-m-d H:i:s'); | ||
| 38 | if (!$task) { | 40 | if (!$task) { |
| 39 | - $now = date('Y-m-d H:i:s'); | ||
| 40 | - $data = [ | ||
| 41 | - [ | 41 | + $data[] = [ |
| 42 | + 'project_id' => $project_id, | ||
| 43 | + 'source' => $source, | ||
| 44 | + 'source_id' => $source_id, | ||
| 45 | + 'domain' => $url_arr['host'], | ||
| 46 | + 'route' => $url_arr['path'], | ||
| 47 | + 'language' => '', | ||
| 48 | + 'created_at' => $now, | ||
| 49 | + 'updated_at' => $now, | ||
| 50 | + ]; | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + if ($link_type > 0 && $language_list && in_array($url_arr['path'], $page_list)) { | ||
| 54 | + $domain_arr = explode('.', $url_arr['host']); | ||
| 55 | + foreach ($language_list as $v_lan) { | ||
| 56 | + if ($link_type == 1) { | ||
| 57 | + //二级域名 | ||
| 58 | + $domain_arr[0] = $v_lan; | ||
| 59 | + $new_domain = implode('.', $domain_arr); | ||
| 60 | + } else { | ||
| 61 | + //二级目录 | ||
| 62 | + $new_domain = $url_arr['host'] . '/' . $v_lan; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + $data[] = [ | ||
| 42 | 'project_id' => $project_id, | 66 | 'project_id' => $project_id, |
| 43 | 'source' => $source, | 67 | 'source' => $source, |
| 44 | 'source_id' => $source_id, | 68 | 'source_id' => $source_id, |
| 45 | - 'domain' => $url_arr['host'], | 69 | + 'domain' => $new_domain, |
| 46 | 'route' => $url_arr['path'], | 70 | 'route' => $url_arr['path'], |
| 47 | - 'language' => '', | 71 | + 'language' => $v_lan, |
| 48 | 'created_at' => $now, | 72 | 'created_at' => $now, |
| 49 | 'updated_at' => $now, | 73 | 'updated_at' => $now, |
| 50 | - ] | ||
| 51 | - ]; | ||
| 52 | - | ||
| 53 | - if ($link_type > 0 && $language_list) { | ||
| 54 | - $domain_arr = explode('.', $url_arr['host']); | ||
| 55 | - foreach ($language_list as $v_lan) { | ||
| 56 | - if ($link_type == 1) { | ||
| 57 | - //二级域名 | ||
| 58 | - $domain_arr[0] = $v_lan; | ||
| 59 | - $new_domain = implode('.', $domain_arr); | ||
| 60 | - } else { | ||
| 61 | - //二级目录 | ||
| 62 | - $new_domain = $url_arr['host'] . '/' . $v_lan; | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - $data[] = [ | ||
| 66 | - 'project_id' => $project_id, | ||
| 67 | - 'source' => $source, | ||
| 68 | - 'source_id' => $source_id, | ||
| 69 | - 'domain' => $new_domain, | ||
| 70 | - 'route' => $url_arr['path'], | ||
| 71 | - 'language' => $v_lan, | ||
| 72 | - 'created_at' => $now, | ||
| 73 | - 'updated_at' => $now, | ||
| 74 | - ]; | ||
| 75 | - } | 74 | + ]; |
| 76 | } | 75 | } |
| 77 | - | ||
| 78 | - self::insert($data); | ||
| 79 | } | 76 | } |
| 77 | + | ||
| 78 | + self::insert($data); | ||
| 80 | } | 79 | } |
| 81 | } | 80 | } |
-
请 注册 或 登录 后发表评论