作者 刘锟

update

@@ -5,6 +5,7 @@ namespace App\Console\Commands\Update; @@ -5,6 +5,7 @@ namespace App\Console\Commands\Update;
5 use App\Models\Collect\CollectSource; 5 use App\Models\Collect\CollectSource;
6 use App\Models\Collect\CollectTask; 6 use App\Models\Collect\CollectTask;
7 use App\Models\Com\UpdateLog; 7 use App\Models\Com\UpdateLog;
  8 +use App\Models\Com\UpdateOldInfo;
8 use App\Models\RouteMap\RouteMap; 9 use App\Models\RouteMap\RouteMap;
9 use App\Services\CosService; 10 use App\Services\CosService;
10 use App\Services\ProjectServer; 11 use App\Services\ProjectServer;
@@ -77,7 +78,7 @@ class HtmlCollect extends Command @@ -77,7 +78,7 @@ class HtmlCollect extends Command
77 $collect_info->save(); 78 $collect_info->save();
78 79
79 //获取站点原始域名信息 80 //获取站点原始域名信息
80 - $old_info = getOldDomain($project_id, $collect_info->domain); 81 + $old_info = UpdateOldInfo::getOldDomain($project_id, $collect_info->domain);
81 82
82 //采集html页面,下载资源到本地并替换 83 //采集html页面,下载资源到本地并替换
83 try { 84 try {
@@ -5,6 +5,7 @@ namespace App\Console\Commands\Update; @@ -5,6 +5,7 @@ namespace App\Console\Commands\Update;
5 use App\Models\Collect\CollectSource; 5 use App\Models\Collect\CollectSource;
6 use App\Models\Collect\CollectTask; 6 use App\Models\Collect\CollectTask;
7 use App\Models\Com\UpdateLog; 7 use App\Models\Com\UpdateLog;
  8 +use App\Models\Com\UpdateOldInfo;
8 use App\Models\RouteMap\RouteMap; 9 use App\Models\RouteMap\RouteMap;
9 use App\Services\CosService; 10 use App\Services\CosService;
10 use App\Services\ProjectServer; 11 use App\Services\ProjectServer;
@@ -143,7 +144,7 @@ class HtmlCustomCollect extends Command @@ -143,7 +144,7 @@ class HtmlCustomCollect extends Command
143 echo 'date:' . date('Y-m-d H:i:s') . ', project_id: ' . $project_id . ', page: ' . $page . ', collect start' . PHP_EOL; 144 echo 'date:' . date('Y-m-d H:i:s') . ', project_id: ' . $project_id . ', page: ' . $page . ', collect start' . PHP_EOL;
144 145
145 //获取站点原始域名信息 146 //获取站点原始域名信息
146 - $old_info = getOldDomain($project_id, $domain); 147 + $old_info = UpdateOldInfo::getOldDomain($project_id, $domain);
147 148
148 //采集html页面,下载资源到本地并替换 149 //采集html页面,下载资源到本地并替换
149 try { 150 try {
@@ -5,6 +5,7 @@ namespace App\Console\Commands\Update; @@ -5,6 +5,7 @@ namespace App\Console\Commands\Update;
5 use App\Models\Collect\CollectSource; 5 use App\Models\Collect\CollectSource;
6 use App\Models\Collect\CollectTask; 6 use App\Models\Collect\CollectTask;
7 use App\Models\Com\UpdateLog; 7 use App\Models\Com\UpdateLog;
  8 +use App\Models\Com\UpdateOldInfo;
8 use App\Models\RouteMap\RouteMap; 9 use App\Models\RouteMap\RouteMap;
9 use App\Services\CosService; 10 use App\Services\CosService;
10 use App\Services\ProjectServer; 11 use App\Services\ProjectServer;
@@ -77,7 +78,7 @@ class HtmlLanguageCollect extends Command @@ -77,7 +78,7 @@ class HtmlLanguageCollect extends Command
77 $collect_info->save(); 78 $collect_info->save();
78 79
79 //获取站点正式和测试域名 80 //获取站点正式和测试域名
80 - $old_info = getOldDomain($project_id, $collect_info->domain); 81 + $old_info = UpdateOldInfo::getOldDomain($project_id, $collect_info->domain);
81 82
82 //采集html页面,下载资源到本地并替换 83 //采集html页面,下载资源到本地并替换
83 try { 84 try {
@@ -258,7 +259,7 @@ class HtmlLanguageCollect extends Command @@ -258,7 +259,7 @@ class HtmlLanguageCollect extends Command
258 (empty($scheme) || $scheme == 'https' || $scheme == 'http') 259 (empty($scheme) || $scheme == 'https' || $scheme == 'http')
259 && (empty($host) || (strpos($web_url_domain, $host) !== false) || (strpos($home_url, $host) !== false)) 260 && (empty($host) || (strpos($web_url_domain, $host) !== false) || (strpos($home_url, $host) !== false))
260 && $path 261 && $path
261 - && (substr($path,0,1) == '/') 262 + && (substr($path, 0, 1) == '/')
262 && (strpos($path, '.') !== false) 263 && (strpos($path, '.') !== false)
263 && (!in_array(end($path_arr), ['html', 'php', 'com', 'xml'])) 264 && (!in_array(end($path_arr), ['html', 'php', 'com', 'xml']))
264 ) { 265 ) {
@@ -9,6 +9,7 @@ use App\Models\Blog\Blog; @@ -9,6 +9,7 @@ use App\Models\Blog\Blog;
9 use App\Models\Collect\CollectSource; 9 use App\Models\Collect\CollectSource;
10 use App\Models\Collect\CollectTask; 10 use App\Models\Collect\CollectTask;
11 use App\Models\Com\UpdateLog; 11 use App\Models\Com\UpdateLog;
  12 +use App\Models\Com\UpdateOldInfo;
12 use App\Models\News\News; 13 use App\Models\News\News;
13 use App\Models\News\NewsCategory; 14 use App\Models\News\NewsCategory;
14 use App\Models\Product\Category; 15 use App\Models\Product\Category;
@@ -83,7 +84,7 @@ class ProjectUpdate extends Command @@ -83,7 +84,7 @@ class ProjectUpdate extends Command
83 $task->save(); 84 $task->save();
84 85
85 //获取站点原始域名信息 86 //获取站点原始域名信息
86 - $old_info = getOldDomain($project_id, $domain_arr['host']); 87 + $old_info = UpdateOldInfo::getOldDomain($project_id, $domain_arr['host']);
87 $link_type = $old_info['link_type']; 88 $link_type = $old_info['link_type'];
88 $web_url_domain = $old_info['web_url_domain']; 89 $web_url_domain = $old_info['web_url_domain'];
89 $home_url = $old_info['home_url']; 90 $home_url = $old_info['home_url'];
@@ -691,50 +691,3 @@ function check_remote_url_down($url){ @@ -691,50 +691,3 @@ function check_remote_url_down($url){
691 691
692 return true; 692 return true;
693 } 693 }
694 -  
695 -/**  
696 - * 获取升级项目原始域名  
697 - * @param $project_id  
698 - * @param $domain  
699 - * @return array  
700 - * @author Akun  
701 - * @date 2023/12/12 10:52  
702 - */  
703 -function getOldDomain($project_id, $domain)  
704 -{  
705 - $key = 'project_collect_domain_' . $project_id;  
706 -  
707 - $data = Cache::get($key);  
708 -  
709 - if (!$data) {  
710 - $link_type = 0;  
711 - $web_url_domain = $domain;  
712 - $home_url = $domain;  
713 -  
714 - $url_web_config = 'https://' . $domain . '/wp-content/cache/user_config.text';  
715 - $data_config = curl_c($url_web_config);  
716 - if ($data_config) {  
717 - $link_type = $data_config['link_type'] ?? 0;  
718 -  
719 - $web_url_arr = parse_url($data_config['web_url_domain'] ?? '');  
720 - if (isset($web_url_arr['host'])) {  
721 - $web_url_domain = $web_url_arr['host'];  
722 - }  
723 -  
724 - $home_url_arr = parse_url($data_config['home_url'] ?? '');  
725 - if (isset($home_url_arr['host'])) {  
726 - $home_url = $home_url_arr['host'];  
727 - }  
728 - }  
729 -  
730 - $data = [  
731 - 'link_type' => $link_type,  
732 - 'web_url_domain' => $web_url_domain,  
733 - 'home_url' => $home_url,  
734 - ];  
735 -  
736 - Cache::add($key, $data, 3600);//缓存1小时  
737 - }  
738 -  
739 - return $data;  
740 -}  
  1 +<?php
  2 +
  3 +namespace App\Models\Com;
  4 +
  5 +use Illuminate\Database\Eloquent\Model;
  6 +
  7 +class UpdateOldInfo extends Model
  8 +{
  9 + //设置关联表名
  10 + protected $table = 'gl_update_old_info';
  11 +
  12 + public static function getOldDomain($project_id, $domain)
  13 + {
  14 + $return = [
  15 + 'link_type' => 0,
  16 + 'home_url' => $domain,
  17 + 'web_url_domain' => $domain
  18 + ];
  19 +
  20 + $info = self::where('project_id', $project_id)->first();
  21 + if (!$info) {
  22 + $url_web_config = 'https://' . $domain . '/wp-content/cache/user_config.text';
  23 + $data_config = curl_c($url_web_config);
  24 + if ($data_config) {
  25 + $link_type = $data_config['link_type'] ?? 0;
  26 +
  27 + $home_url_arr = parse_url($data_config['home_url'] ?? '');
  28 + $old_domain_test = $home_url_arr['host'] ?? '';
  29 +
  30 + $web_url_arr = parse_url($data_config['web_url_domain'] ?? '');
  31 + $old_domain_online = $web_url_arr['host'] ?? '';
  32 +
  33 + if ($link_type && $old_domain_test && $old_domain_online) {
  34 + $info = new self();
  35 + $info->project_id = $project_id;
  36 + $info->link_type = $link_type;
  37 + $info->old_domain_test = $old_domain_test;
  38 + $info->old_domain_online = $old_domain_online;
  39 + $info->save();
  40 +
  41 + $return['link_type'] = $link_type;
  42 + $return['home_url'] = $old_domain_test;
  43 + $return['web_url_domain'] = $old_domain_online;
  44 + }
  45 + }
  46 + }else{
  47 + $return['link_type'] = $info['link_type'];
  48 + $return['home_url'] = $info['old_domain_test'];
  49 + $return['web_url_domain'] = $info['old_domain_online'];
  50 + }
  51 +
  52 + return $return;
  53 + }
  54 +}