正在显示
3 个修改的文件
包含
130 行增加
和
0 行删除
| 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 | + | ||
| 10 | +class AutoPullController extends BaseController | ||
| 11 | +{ | ||
| 12 | + /** | ||
| 13 | + * 获取自动拉取代码任务列表 | ||
| 14 | + * @author Akun | ||
| 15 | + * @date 2024/08/26 15:49 | ||
| 16 | + */ | ||
| 17 | + public function getTaskLists() | ||
| 18 | + { | ||
| 19 | + $autoModule = new AutoPullNotify(); | ||
| 20 | + $lists = $autoModule->lists($this->map, $this->page, $this->row); | ||
| 21 | + if (!empty($lists)) { | ||
| 22 | + foreach ($lists['list'] as $k => $v) { | ||
| 23 | + $lists['list'][$k]['server_name'] = AutoPullNotify::serversMap()[$v['server_id']]; | ||
| 24 | + | ||
| 25 | + $process = Arr::s2a($v['process']); | ||
| 26 | + $process_name = []; | ||
| 27 | + if ($process) { | ||
| 28 | + foreach ($process as $kp => $vp) { | ||
| 29 | + $process_name[$kp] = AutoPullNotify::processMap()[$vp]; | ||
| 30 | + } | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + $lists['list'][$k]['process_name'] = $process_name; | ||
| 34 | + } | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + $this->response('success', Code::SUCCESS, $lists); | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + /** | ||
| 41 | + * 添加自动拉取代码任务 | ||
| 42 | + * @author Akun | ||
| 43 | + * @date 2024/08/26 16:31 | ||
| 44 | + */ | ||
| 45 | + public function saveTask() | ||
| 46 | + { | ||
| 47 | + $this->request->validate([ | ||
| 48 | + 'server_id' => 'required', | ||
| 49 | + ], [ | ||
| 50 | + 'server_id.required' => '服务器不能为空' | ||
| 51 | + ]); | ||
| 52 | + | ||
| 53 | + $model = new AutoPullNotify(); | ||
| 54 | + | ||
| 55 | + foreach ($this->param['server_id'] as $v) { | ||
| 56 | + $model->add([ | ||
| 57 | + 'user_id' => $this->uid, | ||
| 58 | + 'server_id' => $v, | ||
| 59 | + 'process' => Arr::a2s($this->param['process'] ?? []), | ||
| 60 | + 'status' => 0 | ||
| 61 | + ]); | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + $this->response('success'); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + /** | ||
| 68 | + * 获取服务器及进程配置 | ||
| 69 | + * @author Akun | ||
| 70 | + * @date 2024/08/26 16:07 | ||
| 71 | + */ | ||
| 72 | + public function taskMap() | ||
| 73 | + { | ||
| 74 | + $servers = AutoPullNotify::serversMap(); | ||
| 75 | + $process = AutoPullNotify::processMap(); | ||
| 76 | + | ||
| 77 | + $lists = [ | ||
| 78 | + 'servers' => $servers, | ||
| 79 | + 'process' => $process | ||
| 80 | + ]; | ||
| 81 | + | ||
| 82 | + $this->response('success', Code::SUCCESS, $lists); | ||
| 83 | + } | ||
| 84 | +} |
app/Models/AutoPull/AutoPullNotify.php
0 → 100644
| 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 | //无需登录验证的路由组 |
-
请 注册 或 登录 后发表评论