From 8ac3a2c8f23edcb36135ea61d849d9330ea656e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=AA=E5=AD=90=E5=B0=8F=E6=96=B0?= Date: Fri, 10 Apr 2020 21:29:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BF=AE=E5=A4=8Dgithub=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BB=93=E5=82=A8=E5=9C=B0=E5=9D=80=E5=AF=BC=E8=87=B4=E6=9C=80?= =?UTF-8?q?=E5=90=8Etar=E5=8C=85=E5=8F=AA=E6=9C=8910k=E7=9A=84bug)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GatewayWorker/Applications/githubT/start_sync.php | 11 ++++++++++- staticweb/index.html | 2 +- staticweb/js/index.js | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/GatewayWorker/Applications/githubT/start_sync.php b/GatewayWorker/Applications/githubT/start_sync.php index 08fa475..fda500a 100644 --- a/GatewayWorker/Applications/githubT/start_sync.php +++ b/GatewayWorker/Applications/githubT/start_sync.php @@ -42,7 +42,7 @@ $task_worker->onMessage = function ($connection, $task_data) use ($webDir,$datat break; } } - if (!preg_match("/^((https|http):\/\/)?([\w\.\/\-\_^]+?)\.(tar\.gz|gz|tar\.bz2|bz2|tar|zip|tar\.xz|tar\.z|rpm|deb|rar)$/iu",$dataArr['url'],$ext) && !preg_match("/^https:\/\/github.com\/([\w\/\-\.\_]+)$/iu", $dataArr['url']) + if (!preg_match("/^((https|http):\/\/)?([\w\.\/\-\_^]+?)\.(tar\.gz|gz|tar\.bz2|exe|apk|bz2|tar|zip|tar\.xz|tar\.z|rpm|deb|rar)$/iu",$dataArr['url'],$ext) && !preg_match("/^https:\/\/github.com\/([\w\/\-\.\_]+)$/iu", $dataArr['url']) ) { $connection->send(json_encode(["status" => 1, "msg" => "请输入正确的github地址:仅支持https协议 或
(gz|tar.gz|bz2|tar|tar.bz2|zip|tar.xz|tar.z|rpm|deb|rar)格式的压缩包下载链接"]) . "\r\n"); $connection->send("true"); @@ -72,6 +72,15 @@ $task_worker->onMessage = function ($connection, $task_data) use ($webDir,$datat ] ], JSON_UNESCAPED_UNICODE) . "\r\n"); if (!is_file($webDir . "/{$git_dir_path}.tar")) { + if(!is_dir($webDir."/".$git_dir_path)){ + $connection->send(json_encode([ + 'status' => 1, + 'msg' => "您输入的链接可能是不支持的后缀,如果是git仓储,请确认链接正确", + 'data' => [] + ], JSON_UNESCAPED_UNICODE) . "\r\n"); + $connection->send("true"); + return; + } system('cd ' . $webDir . ";tar -cvf {$git_dir_path}.tar {$git_dir_path} "); system("rm -rf " . $webDir . "/" . $git_dir_path); } diff --git a/staticweb/index.html b/staticweb/index.html index 2296c92..a0d7bbd 100644 --- a/staticweb/index.html +++ b/staticweb/index.html @@ -36,6 +36,6 @@

Copyright © 2019- 歪朵拉  |  Designed by xiaoxin  | 获取source |  免责声明  |  更新日志

- + diff --git a/staticweb/js/index.js b/staticweb/js/index.js index eba9bbd..a5b5917 100644 --- a/staticweb/js/index.js +++ b/staticweb/js/index.js @@ -47,6 +47,7 @@ var webSocketClick = { var data = JSON.parse(event.data) if (data.status == 1) { layer.msg(data.msg); + setTimeout(function(){window.location.reload();},3000) return false; } switch (data.data.sta) { @@ -95,7 +96,7 @@ var webSocketClick = { var __this = this; var githubUrl = __this.app_block.find(".text"); var githubUrlReg = new RegExp('^https:\\/\\/github.com\\/([\\w\\/\\d\\-\\_\\.]+)$','ig'); - var githubUrlReg1 = new RegExp('^((https|http):\\/\\/)?([\\w\\.\\/\\-\\_^]+?)\\.([tar\\.gz|gz|tar\\.bz2|bz2|tar|zip|tar\\.xz|tar\\.z|rpm|deb|rar]+?)$','ig'); + var githubUrlReg1 = new RegExp('^((https|http):\\/\\/)?([\\w\\.\\/\\-\\_^]+?)\\.([tar\\.gz|gz|tar\\.bz2|bz2|tar|zip|tar\\.xz|tar\\.z|rpm|deb|rar|apk|exe]+?)$','ig'); if(!githubUrl.val()){ layer.msg("请输入github地址"); githubUrl.select();