添加一个下载远程文件的脚本

This commit is contained in:
leo
2019-05-13 10:45:33 +08:00
parent e44177a1a5
commit c251d5c45c
6 changed files with 2286 additions and 0 deletions

82
CreatorUtils/remoteDowload/.gitignore vendored Normal file
View File

@@ -0,0 +1,82 @@
#/////////////////////////////////////////////////////////////////////////////
# Fireball Projects
#/////////////////////////////////////////////////////////////////////////////
library/
temp/
local/
build/
/node_modules
/assets/project.manifest
/assets/version.manifest
#/assets/project.manifest.meta
/assets/version.manifest.meta
#/build-templates/jsb-default/main.js
#/build-templates/jsb-link/main.js
/tools/resign/
/tools/Package/
/tools/buglySymbolAndroid2.6.8/
/tools/x86-symbol.zip/
#/////////////////////////////////////////////////////////////////////////////
# Logs and databases
#/////////////////////////////////////////////////////////////////////////////
*.log
*.sql
*.sqlite
#/////////////////////////////////////////////////////////////////////////////
# files for debugger
#/////////////////////////////////////////////////////////////////////////////
*.sln
*.csproj
*.pidb
*.unityproj
*.suo
#/////////////////////////////////////////////////////////////////////////////
# OS generated files
#/////////////////////////////////////////////////////////////////////////////
.DS_Store
ehthumbs.db
Thumbs.db
#/////////////////////////////////////////////////////////////////////////////
# exvim files
#/////////////////////////////////////////////////////////////////////////////
*UnityVS.meta
*.err
*.err.meta
*.exvim
*.exvim.meta
*.vimentry
*.vimentry.meta
*.vimproject
*.vimproject.meta
.vimfiles.*/
.exvim.*/
quick_gen_project_*_autogen.bat
quick_gen_project_*_autogen.bat.meta
quick_gen_project_*_autogen.sh
quick_gen_project_*_autogen.sh.meta
.exvim.app
#/////////////////////////////////////////////////////////////////////////////
# webstorm files
#/////////////////////////////////////////////////////////////////////////////
.idea/
#//////////////////////////
# VS Code
#//////////////////////////
.vscode/

View File

@@ -0,0 +1,15 @@
# 下载远程文件
### npm install
~~~
npm install fs-jetpack
npm install download
~~~

View File

@@ -0,0 +1,71 @@
'use strict';
const download = require('lei-download');
const jetpack = require("fs-jetpack");
const path = require('path');
const download = require('download');
const rootDir = "./resoure"
const target = false;
const source = 'https://update.ssgxmj.com/client/common_mahjong_hunan/update/2928/';
function lownloadFiles(url, target) {
const progress = (size, total) => console.log(`进度:${size}/${total}`);
download(url, target, progress, (err, filename) => {
if (err) console.log(`出错:${err}`);
else console.log(`已保存到:${filename}`);
});
}
function checkDir(dir, isCloar) {
if (jetpack.exists(dir) && isCloar) {
console.log('remoe path');
jetpack.remove(dir);
}
console.log('create path');
jetpack.dir(dir);
}
function parseUrl(url) {
let args = url.split("/");
let fileName = args.pop();
let dir = url.replace("/" + fileName, "");
let realPath = path.join(rootDir, dir);
return {
fileName,
realPath,
curPaths: args
}
}
function getResArr() {
let assets = jetpack.read("./project.json");
assets = JSON.parse(assets);
return assets.newassets;
}
function main() {
checkDir(rootDir, true);
let resArr = getResArr();
let paths = [];
for (let res in resArr) {
console.log('res=', res);
paths.push(res);
let args = parseUrl(res);
}
Promise.all(paths.map((res) => {
download(source + res, rootDir)
})).then(() => {
console.log('files downloaded!');
});
}
main();

View File

@@ -0,0 +1,62 @@
const jetpack = require("fs-jetpack");
const download = require('download');
const path = require('path');
let rootDir = "dist";
function checkDir(dir, isCloar) {
if (jetpack.exists(dir) && isCloar) {
console.log('remoe path');
jetpack.remove(dir);
}
console.log('create path');
jetpack.dir(dir);
}
function getResArr() {
let assets = jetpack.read("./project.json");
assets = JSON.parse(assets);
return assets.newassets;
}
function parseUrl(url) {
let args = url.split("/");
let fileName = args.pop();
let dir = url.replace("/" + fileName, "");
let realPath = path.join(rootDir, dir);
let type = fileName.split(".").pop();
return {
fileName,
realPath,
curPaths: args,
type
}
}
const source = 'https://update.ssgxmj.com/client/common_mahjong_hunan/update/2928/';
function main() {
checkDir(rootDir, true);
let resArr = getResArr();
let paths = [];
for (let res in resArr) {
console.log('res=', res);
let args = parseUrl(res);
if (args.type == "png" || args.type == "jpg") {
paths.push(res);
}
}
Promise.all(paths.map((res) => {
let args = parseUrl(res);
download(source + res, args.realPath);
})).then(() => {
console.log('files downloaded!');
});
}
main();

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
{
"name": "httpdowload",
"version": "1.0.0",
"description": "",
"main": "dowload.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"download": "^7.1.0",
"fs-jetpack": "^2.2.2",
"lei-download": "^1.0.2",
"request": "^2.88.0"
}
}