作者 李美松

Merge branch 'master' into lms

@@ -243,10 +243,12 @@ class HtmlCollect extends Command @@ -243,10 +243,12 @@ class HtmlCollect extends Command
243 $path = $arr['path'] ?? ''; 243 $path = $arr['path'] ?? '';
244 $query = $arr['query'] ?? ''; 244 $query = $arr['query'] ?? '';
245 245
  246 + $path_arr = explode('.', $path);
246 if ( 247 if (
247 (empty($host) || $host == $web_url_domain || $host == $home_url) 248 (empty($host) || $host == $web_url_domain || $host == $home_url)
248 && $path 249 && $path
249 && (strpos($path, '.') !== false) 250 && (strpos($path, '.') !== false)
  251 + && (end($path_arr) != 'html')
250 ) { 252 ) {
251 $source = CollectSource::where('project_id', $project_id)->where('origin', $url)->first(); 253 $source = CollectSource::where('project_id', $project_id)->where('origin', $url)->first();
252 if (!$source) { 254 if (!$source) {
@@ -250,10 +250,12 @@ class HtmlLanguageCollect extends Command @@ -250,10 +250,12 @@ class HtmlLanguageCollect extends Command
250 $path = $arr['path'] ?? ''; 250 $path = $arr['path'] ?? '';
251 $query = $arr['query'] ?? ''; 251 $query = $arr['query'] ?? '';
252 252
  253 + $path_arr = explode('.', $path);
253 if ( 254 if (
254 (empty($host) || $host == $web_url_domain || $host == $home_url) 255 (empty($host) || $host == $web_url_domain || $host == $home_url)
255 && $path 256 && $path
256 && (strpos($path, '.') !== false) 257 && (strpos($path, '.') !== false)
  258 + && (end($path_arr) != 'html')
257 ) { 259 ) {
258 $source = CollectSource::where('project_id', $project_id)->where('origin', $url)->first(); 260 $source = CollectSource::where('project_id', $project_id)->where('origin', $url)->first();
259 if (!$source) { 261 if (!$source) {
@@ -11,6 +11,7 @@ namespace App\Http\Controllers\Aside\Com; @@ -11,6 +11,7 @@ namespace App\Http\Controllers\Aside\Com;
11 11
12 use App\Helper\Common; 12 use App\Helper\Common;
13 use App\Http\Controllers\Bside\BaseController; 13 use App\Http\Controllers\Bside\BaseController;
  14 +use App\Models\Com\UpdateLog;
14 use App\Models\Project\ProjectUpdateTdk; 15 use App\Models\Project\ProjectUpdateTdk;
15 use App\Services\ProjectServer; 16 use App\Services\ProjectServer;
16 use Illuminate\Support\Facades\DB; 17 use Illuminate\Support\Facades\DB;
@@ -41,4 +42,20 @@ class UpdateController extends BaseController @@ -41,4 +42,20 @@ class UpdateController extends BaseController
41 ProjectUpdateTdk::add_task($this->param['project_id']); 42 ProjectUpdateTdk::add_task($this->param['project_id']);
42 $this->response('任务添加成功'); 43 $this->response('任务添加成功');
43 } 44 }
  45 +
  46 + /**
  47 + * 采集项目所有内容
  48 + * @author Akun
  49 + * @date 2023/11/24 11:33
  50 + */
  51 + public function dataCollect(){
  52 + $this->request->validate([
  53 + 'project_id'=>'required',
  54 + ],[
  55 + 'project_id.required' => 'project_id不能为空',
  56 + ]);
  57 +
  58 + UpdateLog::updateLog($this->param['project_id']);
  59 + $this->response('任务添加成功');
  60 + }
44 } 61 }
@@ -33,10 +33,32 @@ class UpdateLog extends Model @@ -33,10 +33,32 @@ class UpdateLog extends Model
33 $log->project_id = $project_id; 33 $log->project_id = $project_id;
34 $log->api_type = $type; 34 $log->api_type = $type;
35 $log->api_url = $url; 35 $log->api_url = $url;
36 - $log->sort = $type == 'category' ? 0 :1; 36 + $log->sort = $type == 'category' ? 0 : 1;
37 $log->collect_status = ($type == 'category' || $type == 'website_info') ? 1 : 0; 37 $log->collect_status = ($type == 'category' || $type == 'website_info') ? 1 : 0;
38 return $log->save(); 38 return $log->save();
39 } 39 }
40 return true; 40 return true;
41 } 41 }
  42 +
  43 + /**
  44 + * 重置更新日志
  45 + * @param $project_id
  46 + * @return bool
  47 + * @author Akun
  48 + * @date 2023/11/24 11:43
  49 + */
  50 + public static function updateLog($project_id)
  51 + {
  52 + $logs = self::where('project_id', $project_id)->get();
  53 +
  54 + foreach ($logs as $log) {
  55 + $log->status = 0;
  56 + if (!in_array($log->api_type, ['website_info', 'category'])) {
  57 + $log->collect_status = 0;
  58 + }
  59 + $log->save();
  60 + }
  61 +
  62 + return true;
  63 + }
42 } 64 }
@@ -182,6 +182,8 @@ Route::middleware(['aloginauth'])->group(function () { @@ -182,6 +182,8 @@ Route::middleware(['aloginauth'])->group(function () {
182 }); 182 });
183 //更新项目tdk 183 //更新项目tdk
184 Route::any('/updateSeoTdk', [Aside\Com\UpdateController::class, 'updateSeoTdk'])->name('admin.project_updateSeoTdk'); 184 Route::any('/updateSeoTdk', [Aside\Com\UpdateController::class, 'updateSeoTdk'])->name('admin.project_updateSeoTdk');
  185 + //项目内容采集
  186 + Route::any('/dataCollect', [Aside\Com\UpdateController::class, 'dataCollect'])->name('admin.project_dataCollect');
185 }); 187 });
186 188
187 //续费 189 //续费