作者 lyh

Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6 into master-server

@@ -386,6 +386,18 @@ class HtmlCollect extends Command @@ -386,6 +386,18 @@ class HtmlCollect extends Command
386 } 386 }
387 } 387 }
388 388
  389 + //特殊项目
  390 + if ($project_id == 2226) {
  391 + preg_match_all('/data-parallax-image=[\'"](.*?)[\'"]>/i', $html, $result_s);
  392 + $special = $result_s[1] ?? [];
  393 + foreach ($special as $v_s) {
  394 + $check_v_s = $this->url_check($v_s, $project_id, $domain, $web_url_domain, $home_url);
  395 + if ($check_v_s && (!in_array($check_v_s, $source))) {
  396 + $source[] = $check_v_s;
  397 + }
  398 + }
  399 + }
  400 +
389 return $source; 401 return $source;
390 } 402 }
391 403
  1 +<?php
  2 +
  3 +namespace App\Http\Controllers\Aside\AutoPull;
  4 +
  5 +use App\Enums\Common\Code;
  6 +use App\Helper\Arr;
  7 +use App\Http\Controllers\Aside\BaseController;
  8 +use App\Models\AutoPull\AutoPullNotify;
  9 +use App\Models\Manage\Manage;
  10 +
  11 +class AutoPullController extends BaseController
  12 +{
  13 + /**
  14 + * 获取自动拉取代码任务列表
  15 + * @author Akun
  16 + * @date 2024/08/26 15:49
  17 + */
  18 + public function getTaskLists()
  19 + {
  20 + $autoModule = new AutoPullNotify();
  21 + $lists = $autoModule->lists($this->map, $this->page, $this->row);
  22 + if (!empty($lists)) {
  23 + $manage_model = new Manage();
  24 + foreach ($lists['list'] as $k => $v) {
  25 + $lists['list'][$k]['operator_name'] = $manage_model->getName($v['user_id']);
  26 + $lists['list'][$k]['server_name'] = AutoPullNotify::serversMap()[$v['server_id']];
  27 +
  28 + $process = Arr::s2a($v['process']);
  29 + $process_name = [];
  30 + if ($process) {
  31 + foreach ($process as $kp => $vp) {
  32 + $process_name[$kp] = AutoPullNotify::processMap()[$vp];
  33 + }
  34 + }
  35 +
  36 + $lists['list'][$k]['process_name'] = $process_name;
  37 + }
  38 + }
  39 +
  40 + $this->response('success', Code::SUCCESS, $lists);
  41 + }
  42 +
  43 + /**
  44 + * 添加自动拉取代码任务
  45 + * @author Akun
  46 + * @date 2024/08/26 16:31
  47 + */
  48 + public function saveTask()
  49 + {
  50 + $this->request->validate([
  51 + 'server_id' => 'required',
  52 + ], [
  53 + 'server_id.required' => '服务器不能为空'
  54 + ]);
  55 +
  56 + $model = new AutoPullNotify();
  57 +
  58 + foreach ($this->param['server_id'] as $v) {
  59 + $model->add([
  60 + 'user_id' => $this->uid,
  61 + 'server_id' => $v,
  62 + 'process' => Arr::a2s($this->param['process'] ?? []),
  63 + 'status' => 0
  64 + ]);
  65 + }
  66 +
  67 + $this->response('success');
  68 + }
  69 +
  70 + /**
  71 + * 获取服务器及进程配置
  72 + * @author Akun
  73 + * @date 2024/08/26 16:07
  74 + */
  75 + public function taskMap()
  76 + {
  77 + $servers = AutoPullNotify::serversMap();
  78 + $process = AutoPullNotify::processMap();
  79 +
  80 + $lists = [
  81 + 'servers' => $servers,
  82 + 'process' => $process
  83 + ];
  84 +
  85 + $this->response('success', Code::SUCCESS, $lists);
  86 + }
  87 +}
  1 +<?php
  2 +
  3 +namespace App\Models\AutoPull;
  4 +
  5 +use App\Models\Base;
  6 +
  7 +class AutoPullNotify extends Base
  8 +{
  9 + protected $table = 'gl_auto_pull_notify';
  10 +
  11 + public static function serversMap()
  12 + {
  13 + return [
  14 + 1 => '硅谷云服务器',
  15 + 9 => '硅谷IDC服务器01(6.0美服1)',
  16 + 3 => '硅谷IDC服务器02(6.0美服2)',
  17 + 2 => '俄罗斯服务器',
  18 + 4 => '阿里云深圳服务器',
  19 + 5 => '日本服务器',
  20 + 8 => '香港服务器',
  21 + ];
  22 + }
  23 +
  24 + public static function processMap()
  25 + {
  26 + return [
  27 + 'php artisan handle_html' => '拉取页面zip文件并解压',
  28 + 'php artisan create_update_page_route' => '创建主站路由',
  29 + 'php artisan create_update_page_master' => '生成主站页面',
  30 + 'php artisan create_update_page_minor' => '生成小语种页面',
  31 + 'php artisan create_update_page_now' => '实时生成主站页面',
  32 + 'php artisan create_update_page_sitemap' => '生成主站sitemap,robots',
  33 + 'php artisan create_update_amp_route' => '创建amp站路由',
  34 + 'php artisan create_update_page_amp' => '生成amp站页面',
  35 + 'php artisan create_update_amp_sitemap' => '生成amp站sitemap,robots',
  36 + ];
  37 + }
  38 +}
@@ -465,6 +465,14 @@ Route::middleware(['aloginauth'])->group(function () { @@ -465,6 +465,14 @@ Route::middleware(['aloginauth'])->group(function () {
465 Route::any('/saveModule', [Aside\ExtentModule\ExtensionModuleController::class, 'saveModule'])->name('admin.extension_module_saveModule'); 465 Route::any('/saveModule', [Aside\ExtentModule\ExtensionModuleController::class, 'saveModule'])->name('admin.extension_module_saveModule');
466 Route::any('/delModule', [Aside\ExtentModule\ExtensionModuleController::class, 'delModule'])->name('admin.extension_module_delModule'); 466 Route::any('/delModule', [Aside\ExtentModule\ExtensionModuleController::class, 'delModule'])->name('admin.extension_module_delModule');
467 }); 467 });
  468 + /**
  469 + * C端代码自动拉取模块
  470 + */
  471 + Route::prefix('auto_pull')->group(function () {
  472 + Route::any('/', [Aside\AutoPull\AutoPullController::class, 'getTaskLists'])->name('admin.auto_pull_getTaskLists');
  473 + Route::any('/saveTask', [Aside\AutoPull\AutoPullController::class, 'saveTask'])->name('admin.auto_pull_saveTask');
  474 + Route::any('/taskMap', [Aside\AutoPull\AutoPullController::class, 'taskMap'])->name('admin.auto_pull_taskMap');
  475 + });
468 }); 476 });
469 477
470 //无需登录验证的路由组 478 //无需登录验证的路由组