diff --git a/ElectronJS/.gitignore b/ElectronJS/.gitignore index 6e34c96..a95c2eb 100644 --- a/ElectronJS/.gitignore +++ b/ElectronJS/.gitignore @@ -14,3 +14,4 @@ execution_instances/* .DS_Store info.log npminstall-debug.log +mysql_config.json diff --git a/ElectronJS/clean_and_release_win32.cmd b/ElectronJS/clean_and_release_win32.cmd index e29bc85..548c1b3 100644 --- a/ElectronJS/clean_and_release_win32.cmd +++ b/ElectronJS/clean_and_release_win32.cmd @@ -9,7 +9,9 @@ rmdir /s /q out\EasySpider\resources\app\user_data rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x86\EasySpider del out\EasySpider\resources\app\vs_BuildTools.exe move out\EasySpider ..\.temp_to_pub\EasySpider_windows_x86\EasySpider -copy ..\ExecuteStage\easyspider_executestage.py ..\.temp_to_pub\EasySpider_windows_x86 +copy ..\ExecuteStage\easyspider_executestage.py ..\.temp_to_pub\EasySpider_windows_x86\Code +copy ..\ExecuteStage\myChrome.py ..\.temp_to_pub\EasySpider_windows_x86\Code +copy ..\ExecuteStage\utils.py ..\.temp_to_pub\EasySpider_windows_x86\Code rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x86\user_data rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x86\execution_instances mkdir ..\.temp_to_pub\EasySpider_windows_x86\execution_instances diff --git a/ElectronJS/clean_and_release_win64.cmd b/ElectronJS/clean_and_release_win64.cmd index 998d0cc..1ad1bae 100644 --- a/ElectronJS/clean_and_release_win64.cmd +++ b/ElectronJS/clean_and_release_win64.cmd @@ -9,7 +9,9 @@ rmdir /s /q out\EasySpider\resources\app\execution_instances rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x64\EasySpider del out\EasySpider\resources\app\vs_BuildTools.exe move out\EasySpider ..\.temp_to_pub\EasySpider_windows_x64\EasySpider -copy ..\ExecuteStage\easyspider_executestage.py ..\.temp_to_pub\EasySpider_windows_x64 +copy ..\ExecuteStage\easyspider_executestage.py ..\.temp_to_pub\EasySpider_windows_x64\Code +copy ..\ExecuteStage\myChrome.py ..\.temp_to_pub\EasySpider_windows_x64\Code +copy ..\ExecuteStage\utils.py ..\.temp_to_pub\EasySpider_windows_x64\Code rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x64\user_data rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x64\execution_instances mkdir ..\.temp_to_pub\EasySpider_windows_x64\execution_instances diff --git a/ElectronJS/config.json b/ElectronJS/config.json index e5e0d2d..cf29ca4 100644 --- a/ElectronJS/config.json +++ b/ElectronJS/config.json @@ -1,8 +1 @@ -{ - "webserver_address": "http://localhost", - "webserver_port": 8074, - "user_data_folder": "./user_data", - "debug": false, - "mysql_config_path": "./mysql_config.json", - "absolute_user_data_folder": "D:\\Document\\Projects\\EasySpider\\ElectronJS\\user_data" -} +{"webserver_address":"http://localhost","webserver_port":8074,"user_data_folder":"./user_data","debug":false,"mysql_config_path":"./mysql_config.json","absolute_user_data_folder":"D:\\Document\\Projects\\EasySpider\\ElectronJS\\user_data"} \ No newline at end of file diff --git a/ElectronJS/main.js b/ElectronJS/main.js index b6b7fba..4fb3298 100644 --- a/ElectronJS/main.js +++ b/ElectronJS/main.js @@ -316,6 +316,8 @@ async function beginInvoke(msg, ws) { config.absolute_user_data_folder = user_data_folder_path; fs.writeFileSync(path.join(task_server.getDir(), "config.json"), JSON.stringify(config)); } + config.mysql_config_path = msg.message.mysql_config_path; + fs.writeFileSync(path.join(task_server.getDir(), "config.json"), JSON.stringify(config)); // child('Chrome/easyspider_executestage.exe', parameters, function(err,stdout, stderr) { // console.log(stdout); // }); diff --git a/ElectronJS/package_linux64.sh b/ElectronJS/package_linux64.sh index eb3a1c9..64032f1 100755 --- a/ElectronJS/package_linux64.sh +++ b/ElectronJS/package_linux64.sh @@ -14,7 +14,9 @@ rm -r out/EasySpider/resources/app/user_data rm -r ../.temp_to_pub/EasySpider_Linux_x64/EasySpider rm out/EasySpider/resources/app/vs_BuildTools.exe mv out/EasySpider ../.temp_to_pub/EasySpider_Linux_x64/EasySpider -cp ../ExecuteStage/easyspider_executestage.py ../.temp_to_pub/EasySpider_Linux_x64 +cp ../ExecuteStage/easyspider_executestage.py ../.temp_to_pub/EasySpider_Linux_x64/Code +cp ../ExecuteStage/myChrome.py ../.temp_to_pub/EasySpider_Linux_x64/Code +cp ../ExecuteStage/utils.py ../.temp_to_pub/EasySpider_Linux_x64/Code chmod 777 ../.temp_to_pub/EasySpider_Linux_x64/easy-spider.sh rm -r ..\.temp_to_pub\EasySpider_Linux_x64\user_data diff --git a/ElectronJS/package_macos.sh b/ElectronJS/package_macos.sh index 4348040..d9f047b 100755 --- a/ElectronJS/package_macos.sh +++ b/ElectronJS/package_macos.sh @@ -14,4 +14,6 @@ rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resource rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/tasks rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/execution_instances rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/user_data -cp ../ExecuteStage/easyspider_executestage.py ../.temp_to_pub/EasySpider_MacOS_all_arch +cp ../ExecuteStage/easyspider_executestage.py ../.temp_to_pub/EasySpider_MacOS_all_arch/Code +cp ../ExecuteStage/myChrome.py ../.temp_to_pub/EasySpider_MacOS_all_arch/Code +cp ../ExecuteStage/utils.py ../.temp_to_pub/EasySpider_MacOS_all_arch/Code diff --git a/ElectronJS/server.js b/ElectronJS/server.js index b929294..cca5dd1 100644 --- a/ElectronJS/server.js +++ b/ElectronJS/server.js @@ -284,9 +284,33 @@ exports.start = function(port = 8074) { data["id"] = id; // write JSON string to a fil } + if(data["outputFormat"] == "mysql"){ + let mysql_config_path = path.join(getDir(), 'mysql_config.json'); + // 检测文件是否存在 + fs.access(mysql_config_path, fs.F_OK, (err) => { + if (err) { + console.log("File does not exist. Creating..."); + // 文件不存在,创建文件 + const config = { + host: "localhost", + port: 3306, + user: "your_username", + password: "your_password", + database: "your_database" + }; + fs.writeFile(mysql_config_path, JSON.stringify(config, null, 4), (err) => { + if (err) throw err; + console.log('File is created successfully.'); + }); + } else { + console.log("File exists."); + } + }); + } data = JSON.stringify(data); // write JSON string to a file fs.writeFile(path.join(getDir(), `tasks/${id}.json`), data, (err) => {}); + res.write(id.toString(), 'utf8'); res.end(); } else if(pathName == "/invokeTask"){ diff --git a/ElectronJS/src/taskGrid/FlowChart.css b/ElectronJS/src/taskGrid/FlowChart.css index 77f9d26..52f02c6 100644 --- a/ElectronJS/src/taskGrid/FlowChart.css +++ b/ElectronJS/src/taskGrid/FlowChart.css @@ -83,7 +83,7 @@ border: skyblue solid; text-align: center; padding: 5px; - width: 200px; + width: 300px; min-width: 150px; margin: 10px; border-radius: 7px; diff --git a/ElectronJS/src/taskGrid/FlowChart_CN.html b/ElectronJS/src/taskGrid/FlowChart_CN.html index 3ba120c..7d17ba7 100644 --- a/ElectronJS/src/taskGrid/FlowChart_CN.html +++ b/ElectronJS/src/taskGrid/FlowChart_CN.html @@ -18,9 +18,10 @@ - + + @@ -341,7 +355,14 @@

+ + + +

@@ -520,24 +541,25 @@ - + - - + + diff --git a/ElectronJS/src/taskGrid/invokeTask.html b/ElectronJS/src/taskGrid/invokeTask.html index 7d6fb34..9305bf4 100644 --- a/ElectronJS/src/taskGrid/invokeTask.html +++ b/ElectronJS/src/taskGrid/invokeTask.html @@ -208,6 +208,10 @@ +
+ + +