Commit fe848d37 by chenjinjing

no message

parent 15a997e9
...@@ -4,87 +4,88 @@ ...@@ -4,87 +4,88 @@
* Module dependencies. * Module dependencies.
*/ */
var app = require('../app'); var app = require('../app');
var debug = require('debug')('data-server:server'); var debug = require('debug')('data-server:server');
var http = require('http'); var http = require('http');
/** /**
* Get port from environment and store in Express. * Get port from environment and store in Express.
*/ */
var port = normalizePort(process.env.PORT || '3000'); var port = normalizePort(process.env.PORT || '3000');
app.set('port', port); app.set('port', port);
/** /**
* Create HTTP server. * Create HTTP server.
*/ */
var server = http.createServer(app); var server = http.createServer(app);
/** /**
* Listen on provided port, on all network interfaces. * Listen on provided port, on all network interfaces.
*/ */
server.listen(port); server.listen(port);
server.on('error', onError); server.on('error', onError);
server.on('listening', onListening); server.on('listening', onListening);
/** /**
* Normalize a port into a number, string, or false. * Normalize a port into a number, string, or false.
*/ */
function normalizePort(val) { function normalizePort(val) {
var port = parseInt(val, 10); var port = parseInt(val, 10);
if (isNaN(port)) { if (isNaN(port)) {
// named pipe // named pipe
return val; return val;
} }
if (port >= 0) { if (port >= 0) {
// port number // port number
return port; return port;
} }
return false; return false;
} }
/** /**
* Event listener for HTTP server "error" event. * Event listener for HTTP server "error" event.
*/ */
function onError(error) { function onError(error) {
if (error.syscall !== 'listen') { if (error.syscall !== 'listen') {
throw error; throw error;
} }
var bind = typeof port === 'string' var bind = typeof port === 'string'
? 'Pipe ' + port ? 'Pipe ' + port
: 'Port ' + port; : 'Port ' + port;
// handle specific listen errors with friendly messages // handle specific listen errors with friendly messages
switch (error.code) { switch (error.code) {
case 'EACCES': case 'EACCES':
console.error(bind + ' requires elevated privileges'); console.error(bind + ' requires elevated privileges');
process.exit(1); process.exit(1);
break; break;
case 'EADDRINUSE': case 'EADDRINUSE':
console.error(bind + ' is already in use'); console.error(bind + ' is already in use');
process.exit(1); process.exit(1);
break; break;
default: default:
throw error; throw error;
} }
} }
/** /**
* Event listener for HTTP server "listening" event. * Event listener for HTTP server "listening" event.
*/ */
function onListening() { function onListening() {
var addr = server.address(); var addr = server.address();
var bind = typeof addr === 'string' var bind = typeof addr === 'string'
? 'pipe ' + addr ? 'pipe ' + addr
: 'port ' + addr.port; : 'port ' + addr.port;
debug('Listening on ' + bind); debug('Listening on ' + bind);
} }
\ No newline at end of file
...@@ -135,6 +135,11 @@ ...@@ -135,6 +135,11 @@
"uri-js": "^4.2.2" "uri-js": "^4.2.2"
} }
}, },
"append-field": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
"integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY="
},
"array-flatten": { "array-flatten": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
...@@ -248,6 +253,38 @@ ...@@ -248,6 +253,38 @@
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
}, },
"busboy": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz",
"integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=",
"requires": {
"dicer": "0.2.5",
"readable-stream": "1.1.x"
},
"dependencies": {
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
},
"bytes": { "bytes": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz",
...@@ -289,19 +326,6 @@ ...@@ -289,19 +326,6 @@
} }
} }
}, },
"coffee-script": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz",
"integrity": "sha1-YplqhheAx15tUGnROCJyO3NAS/w=",
"requires": {
"mkdirp": "~0.3.5"
}
},
"coffeescript-module": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/coffeescript-module/-/coffeescript-module-0.2.1.tgz",
"integrity": "sha1-LGGqhpg8rNImcZ+fHdqSPLCuZ7A="
},
"combined-stream": { "combined-stream": {
"version": "1.0.8", "version": "1.0.8",
"resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz",
...@@ -337,6 +361,17 @@ ...@@ -337,6 +361,17 @@
"vary": "~1.1.2" "vary": "~1.1.2"
} }
}, },
"concat-stream": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"requires": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^2.2.2",
"typedarray": "^0.0.6"
}
},
"content-disposition": { "content-disposition": {
"version": "0.5.3", "version": "0.5.3",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
...@@ -392,11 +427,6 @@ ...@@ -392,11 +427,6 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"date-format": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
"integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w=="
},
"debug": { "debug": {
"version": "2.6.9", "version": "2.6.9",
"resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
...@@ -425,6 +455,38 @@ ...@@ -425,6 +455,38 @@
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
}, },
"dicer": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz",
"integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=",
"requires": {
"readable-stream": "1.1.x",
"streamsearch": "0.1.2"
},
"dependencies": {
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
},
"ecc-jsbn": { "ecc-jsbn": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
...@@ -508,6 +570,11 @@ ...@@ -508,6 +570,11 @@
"resolved": "https://registry.npm.taobao.org/express-async-handler/download/express-async-handler-1.1.4.tgz", "resolved": "https://registry.npm.taobao.org/express-async-handler/download/express-async-handler-1.1.4.tgz",
"integrity": "sha1-IlqEkI32OzWunflLbw8a8GEmZCY=" "integrity": "sha1-IlqEkI32OzWunflLbw8a8GEmZCY="
}, },
"express-history-api-fallback": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/express-history-api-fallback/-/express-history-api-fallback-2.2.1.tgz",
"integrity": "sha1-OirSf3vryQ/FM9EQ18bYMJe80Fc="
},
"extend": { "extend": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
...@@ -547,11 +614,6 @@ ...@@ -547,11 +614,6 @@
"unpipe": "~1.0.0" "unpipe": "~1.0.0"
} }
}, },
"flatted": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA=="
},
"forever-agent": { "forever-agent": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
...@@ -587,16 +649,6 @@ ...@@ -587,16 +649,6 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
}, },
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
"getpass": { "getpass": {
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
...@@ -605,11 +657,6 @@ ...@@ -605,11 +657,6 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"graceful-fs": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
},
"har-schema": { "har-schema": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
...@@ -741,19 +788,6 @@ ...@@ -741,19 +788,6 @@
"resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
}, },
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "^4.1.6"
}
},
"jspack": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/jspack/-/jspack-0.0.4.tgz",
"integrity": "sha1-Mt01x/3LPjRWwY+7fvntC8YjgXc="
},
"jsprim": { "jsprim": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
...@@ -775,38 +809,6 @@ ...@@ -775,38 +809,6 @@
"resolved": "https://registry.npm.taobao.org/kitx/download/kitx-1.3.0.tgz", "resolved": "https://registry.npm.taobao.org/kitx/download/kitx-1.3.0.tgz",
"integrity": "sha1-qz7nxZjSsdYp/VVWj4aMREDCAOo=" "integrity": "sha1-qz7nxZjSsdYp/VVWj4aMREDCAOo="
}, },
"lodash": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4="
},
"log4js": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz",
"integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==",
"requires": {
"date-format": "^3.0.0",
"debug": "^4.1.1",
"flatted": "^2.0.1",
"rfdc": "^1.1.4",
"streamroller": "^2.2.4"
},
"dependencies": {
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"lru-cache": { "lru-cache": {
"version": "4.1.5", "version": "4.1.5",
"resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz", "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz",
...@@ -865,10 +867,18 @@ ...@@ -865,10 +867,18 @@
"mime-db": "1.46.0" "mime-db": "1.46.0"
} }
}, },
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"mkdirp": { "mkdirp": {
"version": "0.3.5", "version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=" "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"requires": {
"minimist": "^1.2.5"
}
}, },
"moment": { "moment": {
"version": "2.29.1", "version": "2.29.1",
...@@ -956,6 +966,21 @@ ...@@ -956,6 +966,21 @@
"resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}, },
"multer": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/multer/-/multer-1.4.3.tgz",
"integrity": "sha512-np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==",
"requires": {
"append-field": "^1.0.0",
"busboy": "^0.2.11",
"concat-stream": "^1.5.2",
"mkdirp": "^0.5.4",
"object-assign": "^4.1.1",
"on-finished": "^2.3.0",
"type-is": "^1.6.4",
"xtend": "^4.0.0"
}
},
"mysql": { "mysql": {
"version": "2.18.1", "version": "2.18.1",
"resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz",
...@@ -979,21 +1004,6 @@ ...@@ -979,21 +1004,6 @@
"resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz",
"integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=" "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs="
}, },
"node-psd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/node-psd/-/node-psd-1.0.1.tgz",
"integrity": "sha1-wNh/QP3oh/YaGv8FxvdpZbJLasM=",
"requires": {
"coffee-script": "~ 1.7.1",
"coffeescript-module": "~ 0.2.1",
"iconv-lite": "~ 0.4.4",
"jspack": "~ 0.0.3",
"lodash": "~ 2.4",
"parse-engine-data": "~ 0.1",
"pngjs": "~ 0.4.0",
"rsvp": "~ 3.0.6"
}
},
"node-xlsx": { "node-xlsx": {
"version": "0.16.1", "version": "0.16.1",
"resolved": "https://registry.npmjs.org/node-xlsx/-/node-xlsx-0.16.1.tgz", "resolved": "https://registry.npmjs.org/node-xlsx/-/node-xlsx-0.16.1.tgz",
...@@ -1014,6 +1024,11 @@ ...@@ -1014,6 +1024,11 @@
"resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=" "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU="
}, },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"on-finished": { "on-finished": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
...@@ -1035,13 +1050,10 @@ ...@@ -1035,13 +1050,10 @@
"tiny-inflate": "^1.0.2" "tiny-inflate": "^1.0.2"
} }
}, },
"parse-engine-data": { "oracledb": {
"version": "0.1.2", "version": "5.3.0",
"resolved": "https://registry.npmjs.org/parse-engine-data/-/parse-engine-data-0.1.2.tgz", "resolved": "https://registry.npmjs.org/oracledb/-/oracledb-5.3.0.tgz",
"integrity": "sha1-UWH2EzyYiPUhVezO1CcWV13+oFI=", "integrity": "sha512-HMJzQ6lCf287ztvvehTEmjCWA21FQ3RMvM+mgoqd4i8pkREuqFWO+y3ovsGR9moJUg4T0xjcwS8rl4mggWPxmg=="
"requires": {
"iconv-lite": "^0.4.4"
}
}, },
"parseurl": { "parseurl": {
"version": "1.3.3", "version": "1.3.3",
...@@ -1058,11 +1070,6 @@ ...@@ -1058,11 +1070,6 @@
"resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
}, },
"pngjs": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-0.4.0.tgz",
"integrity": "sha1-KUBxrcGytgv9SspNvkdZvM7m/Xc="
},
"printj": { "printj": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
...@@ -1097,6 +1104,11 @@ ...@@ -1097,6 +1104,11 @@
"resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
"integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
}, },
"pyfl": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/pyfl/-/pyfl-1.1.4.tgz",
"integrity": "sha512-tEwj+SYfOk7zMStPrcDvadkUYomRIX6URQA/dl+YDqaEZlP9gEXM501FUsorz5HozCkfIeFOoT7U2jTElQ+zYg=="
},
"qs": { "qs": {
"version": "6.5.2", "version": "6.5.2",
"resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
...@@ -1190,16 +1202,6 @@ ...@@ -1190,16 +1202,6 @@
"resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-2.0.0.tgz", "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-2.0.0.tgz",
"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
}, },
"rfdc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
"integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA=="
},
"rsvp": {
"version": "3.0.21",
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.0.21.tgz",
"integrity": "sha1-ScWI/hjvKTvNCrn05nVuasQzNZ8="
},
"safe-buffer": { "safe-buffer": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
...@@ -1325,35 +1327,10 @@ ...@@ -1325,35 +1327,10 @@
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
}, },
"streamroller": { "streamsearch": {
"version": "2.2.4", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
"integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo="
"requires": {
"date-format": "^2.1.0",
"debug": "^4.1.1",
"fs-extra": "^8.1.0"
},
"dependencies": {
"date-format": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
"integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA=="
},
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
}, },
"string_decoder": { "string_decoder": {
"version": "1.1.1", "version": "1.1.1",
...@@ -1412,10 +1389,10 @@ ...@@ -1412,10 +1389,10 @@
"mime-types": "~2.1.24" "mime-types": "~2.1.24"
} }
}, },
"universalify": { "typedarray": {
"version": "0.1.2", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
}, },
"unpipe": { "unpipe": {
"version": "1.0.0", "version": "1.0.0",
...@@ -1509,6 +1486,11 @@ ...@@ -1509,6 +1486,11 @@
"resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz?cache=0&sync_timestamp=1600349105009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlbuilder%2Fdownload%2Fxmlbuilder-11.0.1.tgz", "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz?cache=0&sync_timestamp=1600349105009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlbuilder%2Fdownload%2Fxmlbuilder-11.0.1.tgz",
"integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=" "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM="
}, },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
},
"yallist": { "yallist": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
......
...@@ -6,19 +6,22 @@ ...@@ -6,19 +6,22 @@
"dependencies": { "dependencies": {
"@alicloud/sms-sdk": "^1.1.6", "@alicloud/sms-sdk": "^1.1.6",
"@types/node": "^10.12.18", "@types/node": "^10.12.18",
"body-parser": "^1.19.0",
"compression": "^1.7.4", "compression": "^1.7.4",
"express": "^4.17.1", "express": "^4.17.1",
"express-async-handler": "^1.1.4", "express-async-handler": "^1.1.4",
"express-history-api-fallback": "^2.2.1",
"formidable": "^1.2.1", "formidable": "^1.2.1",
"log4js": "^6.3.0",
"lru-cache": "^4.1.5", "lru-cache": "^4.1.5",
"md5": "^2.2.1", "md5": "^2.2.1",
"moment": "^2.24.0", "moment": "^2.24.0",
"mongoose": "^5.4.0", "mongoose": "^5.4.0",
"multer": "^1.4.3",
"mysql": "^2.18.1", "mysql": "^2.18.1",
"node-psd": "^1.0.1",
"node-xlsx": "^0.16.1", "node-xlsx": "^0.16.1",
"nodemailer": "^6.1.1", "nodemailer": "^6.1.1",
"oracledb": "^5.3.0",
"pyfl": "^1.1.4",
"request": "^2.88.0", "request": "^2.88.0",
"svg-captcha": "^1.3.12", "svg-captcha": "^1.3.12",
"ws": "^5.2.2" "ws": "^5.2.2"
......
//关于图片的操作 import { addOncePic, selectAllPicture, selectPicById, selectPicList, update } from "../model/picture";
import { selectUserByLogin } from "../model/users";
import { upImgPathConfig } from "../serverConfig";
import { isDirExists } from "../util/filesService";
import { psdForPng } from "../util/psd";
const multer = require('multer');
const bodyParser = require('body-parser');
const express = require('express');
const app = express();
export async function up() { // const dir = upImgPathConfig.psd;
// let files = fs.readdirSync(dir);
let ret:any = {};
export async function up(req, res) {
let picList = [];
let pngName = psdForPng(req.query.pName);
picList.push({
pId: parseInt(req.query.pId),
uId: req.query.uId,
uName: req.query.uName,
psdName: req.query.pName,
pngName,
path: req.query.path,
chartType: req.query.chartType,
createTime: new Date()
});
ret["up"] = await addOncePic(picList);
res.send(ret);
}
export async function down(req, res) {
let pId = req.query.pId;
ret["down"] = await selectPicById(pId);
res.send(ret);
} }
export async function dow() { export async function changePic(req, res) {
let pId = parseInt(req.query.pId);
let picList = [];
picList.push({
psdName: req.query.pName,
path: req.query.path,
chartType: req.query.chartType,
createTime: new Date()
});
} ret["changePic"] = await update(pId, picList);
\ No newline at end of file res.send(ret);
}
export async function picLict(req, res) {
ret["picLict"] = await selectPicList();
res.send(ret);
}
export async function uploadImg(fileFilter, storage) {
let imageUploader = multer({
fileFilter,
storage,
}).single("file");
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json())
app.post("/upload", imageUploader, (req, res) => {
res.send("上传成功");
});
}
import { Query } from "mongoose";
import { addOnceUser, selectUserById, selectUserByLogin, update } from "../model/users";
let ret:any = {};
export async function login(req, res) {
let uName = req.query.uName;
let uPwd = req.query.uPwd;
ret["login"] = await selectUserByLogin(uName, uPwd);
res.send(ret);
}
export async function changePwd(req, res) {
let uId = req.query.uId;
let userInfo = {
uName : req.query.uName,
uPwd : req.query.uPwd
}
ret["changePwd"] = await update(uId, userInfo);
res.send(ret);
}
export async function register(req, res) {
let addInfo = {
uName: req.query.uName,
uPwd: req.query.uPwd,
uImg: req.query.uImg
}
ret["registerUser"] = await addOnceUser(addInfo);
res.send(ret);
}
import { getAllLog } from "../../model/log/log";
import { addOncePic, selectAllPicture, selectPicById } from "../../model/picture";
const mongoose = require('mongoose');
const pictures = require('../../model/picture').pictures;
export async function up(req, res) {
let pId = req.query.pId;
await selectPicById(pId);
return;
}
import { now } from "mongoose";
import { initDB } from "./db/mongo/db_init";
import { httpServer } from "./net/http_server"; import { httpServer } from "./net/http_server";
import { getPort } from "./serverConfig"; import { getPort } from "./serverConfig";
import { psdForPng } from "./util/psd";
async function lanuch() { async function lanuch() {
httpServer.createServer(getPort()); httpServer.createServer(getPort());
} }
lanuch(); lanuch();
...@@ -19,13 +19,14 @@ export async function getAllLog() { ...@@ -19,13 +19,14 @@ export async function getAllLog() {
return await logModel.find({}).exec(); return await logModel.find({}).exec();
} }
export async function addLog() {//todo export async function addLog(addInfo) {//todo
await logModel.insert(addInfo);
return true;
} }
export async function selectLogByParamater(paramater) { //todo export async function selectLogByParamater(paramater) { //todo
let query = {paramater}
return await logModel.find(query).exec();
} }
export function getParamater() {//todo export function getParamater() {//todo
......
...@@ -3,11 +3,14 @@ import { picDB } from "../db/mongo/db_init"; ...@@ -3,11 +3,14 @@ import { picDB } from "../db/mongo/db_init";
const pictureSchema = new Schema({ const pictureSchema = new Schema({
pId: {type:Number, index:true}, pId: {type: Number, index:true},
pName: {type: String}, uId: {type: Number},
uName: {type: String},
psdName: {type: String},
pngName: {type: String},
path: {type: String}, path: {type: String},
chartType:{type:Number, index:true},// 按图表类型分 后续有新的标签类型,就往后加 chartType:{type:Number, index:true},// 按图表类型分 后续有新的标签类型,就往后加
createTime:{type:Date, index:true} createTime:{type:Date, index:true},
}); });
let pictureModel; let pictureModel;
...@@ -16,29 +19,57 @@ export function initModel() { ...@@ -16,29 +19,57 @@ export function initModel() {
pictureModel = picDB.model('picture', pictureSchema) pictureModel = picDB.model('picture', pictureSchema)
} }
export async function selectPicList() {
let userModel = require('../model/users');
return await pictureModel.find((err, doc) => {
let picItem = JSON.parse(JSON.stringify(doc));
let uId = picItem[0].uId;
userModel.find({"uId":uId}, (err, doc) => {
picItem[0].picInfo = doc[0];
})
})
}
export async function selectAllPicture() { export async function selectAllPicture() {
return await pictureModel.find({}).exec(); return await pictureModel.find({}).exec();
} }
export async function addManyPic(picList) { export async function selectPicById(pId) {
await pictureModel.insertMany(picList); let query = {pId: pId};
return true; return await pictureModel.find(query).exec();
} }
export async function addOncePic(pId, pName, path, chartType) { export async function addOncePic(addInfo) {
let addInfo = { // await pictureModel.inseraddInfot(addInfo);
pId, // return true;
pName,
path,
chartType,
createTIme:new Date()
};
await pictureModel.insert();
return true;
}
export async function update() {//todo await pictureModel.save((err, doc) => {
doc = addInfo;
if (!err) {
console.log('保存成功');
return true;
} else {
console.log('Error:' + err);
}
})
return false;
} }
export async function update(pId, reviseInfo) {//todo
// await pictureModel.update(reviseInfo);
// return true;
await pictureModel.findById(pId, (err, doc) => {
doc = reviseInfo;
doc.save((err) => {
if (!err) {
console.log('修改成功');
return true;
} else {
console.log('Error:' + err);
}
})
})
return false;
}
\ No newline at end of file
import { rejects } from "assert";
import { resolve } from "dns";
import { Schema } from "mongoose"; import { Schema } from "mongoose";
import { picDB } from "../db/mongo/db_init"; import { picDB } from "../db/mongo/db_init";
const bcrypt = require('bcrypt');
const usersSchema = new Schema({ const usersSchema = new Schema({
uId: {type:Number, index: true}, //id uId: {type:Number, index: true}, //id
uName: {type: String}, //管理员账号 uName: {type: String}, //管理员账号
uPwd: {type: String}, //管理员密码 uPwd: {type: String}, //管理员密码
uImg: {type: String}, //头像
}); });
let usersModel; let usersModel;
...@@ -14,15 +17,54 @@ export function initModel() { ...@@ -14,15 +17,54 @@ export function initModel() {
usersModel = picDB.model('users', usersSchema); usersModel = picDB.model('users', usersSchema);
} }
export async function selectAllUser() { export async function selectAllUser() {
return await usersModel.find({}).exec(); return await usersModel.find({}).exec();
} }
export async function update() { //todo export async function update(uId, userInfo) { //todo
// await usersModel.findById(uId, paramater);
// return true;
await usersModel.findById(uId, (err, doc) => {
doc = userInfo;
doc.save((err) => {
if(!err) {
console.log('修改成功');
return true;
} else {
console.log('Error:' + err);
}
})
})
return false;
}
export async function selectUserById(uId) {//todo
let query = {uId: uId};
return await usersModel.find(query).exec();
} }
export async function selectUserById() {//todo export async function selectUserByLogin(uName, uPwd) {//todo
let query = {uName: uName, uPwd: uPwd};
} return await usersModel.find(query).exec();
\ No newline at end of file }
export async function addOnceUser(addInfo) {
// addInfo = {
// uId : 1,
// uName : '陈某',
// uPwd : '123456'
// }
// await usersModel.insert(addInfo);
// return true;
await usersModel.save((err, doc) => {
doc = addInfo;
if (!err) {
console.log('保存成功');
return true;
} else {
console.log('Error:' + err);
}
})
return false;
}
import * as asyncHandler from 'express-async-handler' import * as asyncHandler from 'express-async-handler'
import * as dataListBiz from '../biz/dataList' import * as dataListBiz from '../biz/dataList'
import * as userBiz from '../biz/user'
import * as picBiz from '../biz/pic'
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.get('/datalist', asyncHandler(dataListBiz.getData)); httpServer.get('/datalist', asyncHandler(dataListBiz.getData));
httpServer.get('/up', asyncHandler(picBiz.up));
httpServer.post('/up', asyncHandler(picBiz.up));
httpServer.get('/down', asyncHandler(picBiz.down));
httpServer.post('/down', asyncHandler(picBiz.down));
httpServer.get('/picLict', asyncHandler(picBiz.picLict));
httpServer.post('/picLict', asyncHandler(picBiz.picLict));
httpServer.get('/uploadImg', asyncHandler(picBiz.uploadImg));
httpServer.post('/uploadImg', asyncHandler(picBiz.uploadImg));
httpServer.get('/registerUser', asyncHandler(userBiz.register));
httpServer.post('/registerUser', asyncHandler(userBiz.register));
httpServer.get('/changePwd', asyncHandler(userBiz.changePwd));
httpServer.post('/changePwd', asyncHandler(userBiz.changePwd));
httpServer.get('/login', asyncHandler(userBiz.login));
httpServer.post('/login', asyncHandler(userBiz.login));
} }
\ No newline at end of file
...@@ -37,6 +37,6 @@ export const systemLogPath = { ...@@ -37,6 +37,6 @@ export const systemLogPath = {
} }
function getPicDBUrl() { function getPicDBUrl() {
return ''; return 'mongodb://127.0.0.1:27017/picDB';
} }
const fs = require('fs');
const multer = require('multer');
const path = require('path');
///过滤
let fileFilter = function (req, file, cb) {
let acceptableMime = ["image/jpeg", "image/png", "image/jpg", "image/gif"];
//限制类型
if (acceptableMime.indexOf(file.mimetype) !== -1) {
cb(null, true); //通过上传
} else {
cb(null, false); //禁止上传
}
}
let storage = multer.diskStorage({
//图片上传位置
destination: path.resolve(__dirname, "/res/up"),
//上传文件保存的文件名
filename: function (req, file, cb) {
//获取后缀
let extName = file.originalname.slice(file.originalname.lastIndexOf(".")); //.jpg
//获取名称
let fileName = Date.now();
cb(null, fileName + extName); //15132464156.jpg
}
})
export async function isDirExists(dirpath, isCreateDir) {
return async (resolve, reject) => {
if (!fs.existsSync(dirpath)) { //判断文件夹是否存在
if (isCreateDir) { //如果不存在就创建
const res = await createDir(dirpath);
if (res) {
resolve(res);
} else {
reject(res);
}
} else {
resolve(true);
}
} else {
resolve(true);
}
}
}
export async function createDir(filepath) {
return async (resolve, reject) => {
fs.mkdir(filepath, (err) => {
if (err) {
console.log(`创建文件夹:${filepath}失败!`);
reject(err);
} else {
console.log(`创建文件夹:${filepath}成功!`);
resolve(true);
}
})
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment