Commit ef9d90b4 by lixinming

no message

parent 683df2dd
...@@ -289,6 +289,19 @@ ...@@ -289,6 +289,19 @@
} }
} }
}, },
"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",
...@@ -379,6 +392,11 @@ ...@@ -379,6 +392,11 @@
"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",
...@@ -529,6 +547,11 @@ ...@@ -529,6 +547,11 @@
"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",
...@@ -564,6 +587,16 @@ ...@@ -564,6 +587,16 @@
"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",
...@@ -572,6 +605,11 @@ ...@@ -572,6 +605,11 @@
"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",
...@@ -703,6 +741,19 @@ ...@@ -703,6 +741,19 @@
"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",
...@@ -724,6 +775,38 @@ ...@@ -724,6 +775,38 @@
"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",
...@@ -782,6 +865,11 @@ ...@@ -782,6 +865,11 @@
"mime-db": "1.46.0" "mime-db": "1.46.0"
} }
}, },
"mkdirp": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
"integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc="
},
"moment": { "moment": {
"version": "2.29.1", "version": "2.29.1",
"resolved": "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz?cache=0&sync_timestamp=1601983320283&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.29.1.tgz", "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz?cache=0&sync_timestamp=1601983320283&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.29.1.tgz",
...@@ -891,6 +979,21 @@ ...@@ -891,6 +979,21 @@
"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",
...@@ -932,6 +1035,14 @@ ...@@ -932,6 +1035,14 @@
"tiny-inflate": "^1.0.2" "tiny-inflate": "^1.0.2"
} }
}, },
"parse-engine-data": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/parse-engine-data/-/parse-engine-data-0.1.2.tgz",
"integrity": "sha1-UWH2EzyYiPUhVezO1CcWV13+oFI=",
"requires": {
"iconv-lite": "^0.4.4"
}
},
"parseurl": { "parseurl": {
"version": "1.3.3", "version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
...@@ -947,6 +1058,11 @@ ...@@ -947,6 +1058,11 @@
"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",
...@@ -1074,6 +1190,16 @@ ...@@ -1074,6 +1190,16 @@
"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",
...@@ -1199,6 +1325,36 @@ ...@@ -1199,6 +1325,36 @@
"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": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
"integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==",
"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",
"resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
...@@ -1256,6 +1412,11 @@ ...@@ -1256,6 +1412,11 @@
"mime-types": "~2.1.24" "mime-types": "~2.1.24"
} }
}, },
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
},
"unpipe": { "unpipe": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
......
...@@ -10,11 +10,13 @@ ...@@ -10,11 +10,13 @@
"express": "^4.17.1", "express": "^4.17.1",
"express-async-handler": "^1.1.4", "express-async-handler": "^1.1.4",
"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",
"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",
"request": "^2.88.0", "request": "^2.88.0",
......
File added
//关于图片的操作
export async function up() {
}
export async function dow() {
}
\ No newline at end of file
...@@ -2,26 +2,15 @@ import { mongoServerConstVal } from "../../serverConfig"; ...@@ -2,26 +2,15 @@ import { mongoServerConstVal } from "../../serverConfig";
import { createDbConnect } from "./db_connect"; import { createDbConnect } from "./db_connect";
import { tableInit } from "./table_init"; import { tableInit } from "./table_init";
let userDB; let picDB;
let pictureDB;
let logDB;
export async function initDB() { export async function initDB() {
if (mongoServerConstVal.userUrl) { mongoServerConstVal.picDBUrl
userDB = await createDbConnect(mongoServerConstVal.userUrl).catch(err => {throw err}); picDB = await createDbConnect(mongoServerConstVal.picDBUrl() ).catch(err => {throw err});
process.stdin.emit('userdbinit success'); process.stdin.emit(`picDB success url => ${mongoServerConstVal.picDBUrl()} ;`);
}
if (mongoServerConstVal.userUrl) {
pictureDB = await createDbConnect(mongoServerConstVal.pictureUrl).catch(err => {throw err});
process.stdin.emit('picturedbinit success');
}
if (mongoServerConstVal.userUrl) {
logDB = await createDbConnect(mongoServerConstVal.logUrl).catch(err => {throw err});
process.stdin.emit('logdbinit success');
}
tableInit(); tableInit();
} }
export {userDB, pictureDB, logDB}; export {picDB};
\ No newline at end of file \ No newline at end of file
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());
psdForPng("1212.psd");
} }
......
import { Schema } from "mongoose"; import { Schema } from "mongoose";
import { logDB } from "../../db/mongo/db_init"; import { picDB } from "../../db/mongo/db_init";
const logSchema = new Schema({ const logSchema = new Schema({
createTime: {type:Number, index: true}, createTime: {type:Number, index: true},
aId: {type: Number} uId: {type: Number, index:true},
logType: Number,
info:String
}); });
let logModel; let logModel;
export function getModel() { export function getModel() {
logModel = logDB.model('log', logSchema); logModel = picDB.model('log', logSchema);
} }
export async function getLogAll() { export async function getAllLog() {
return await logModel.find({}).exec(); return await logModel.find({}).exec();
} }
export async function addLog() {//todo
}
export async function selectLogByParamater(paramater) { //todo
}
export function getParamater() {//todo
}
import { Schema } from "mongoose"; import { Schema } from "mongoose";
import { pictureDB } from "../db/mongo/db_init"; 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}, pName: {type: String},
path: {type: String} path: {type: String},
chartType:{type:Number, index:true},// 按图表类型分 后续有新的标签类型,就往后加
createTime:{type:Date, index:true}
}); });
let pictureModel; let pictureModel;
export function initModel() { export function initModel() {
pictureModel = pictureDB.model('picture', pictureSchema) pictureModel = picDB.model('picture', pictureSchema)
} }
export async function getPictureAll() { export async function selectAllPicture() {
return await pictureModel.find({}).exec(); return await pictureModel.find({}).exec();
} }
export async function insertPic(picList) { export async function addManyPic(picList) {
return await pictureModel.insertMany(picList); await pictureModel.insertMany(picList);
return true;
}
export async function addOncePic(pId, pName, path, chartType) {
let addInfo = {
pId,
pName,
path,
chartType,
createTIme:new Date()
};
await pictureModel.insert();
return true;
} }
export async function update() {//todo
}
import { Schema } from "mongoose"; import { Schema } from "mongoose";
import { userDB } from "../db/mongo/db_init"; import { picDB } from "../db/mongo/db_init";
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}, //管理员密码
lastOperationTime: {type: Date} //最近操作时间
}); });
let usersModel; let usersModel;
export function initModel() { export function initModel() {
usersModel = userDB.model('users', usersSchema); usersModel = picDB.model('users', usersSchema);
} }
export async function getAdminAll() { export async function selectAllUser() {
return await usersModel.find({}).exec(); return await usersModel.find({}).exec();
} }
export async function update() { //todo
}
export async function selectUserById() {//todo
}
\ No newline at end of file
...@@ -6,7 +6,6 @@ import compression = require('compression'); ...@@ -6,7 +6,6 @@ import compression = require('compression');
import { encryptionReturn } from '../middleware/encryptionReturn'; import { encryptionReturn } from '../middleware/encryptionReturn';
import { getEnv } from '../serverConfig'; import { getEnv } from '../serverConfig';
export class httpServer { export class httpServer {
static createServer(port:number) { static createServer(port:number) {
var httpServer = express(); var httpServer = express();
...@@ -40,6 +39,8 @@ export class httpServer { ...@@ -40,6 +39,8 @@ export class httpServer {
httpServer.listen(port); httpServer.listen(port);
console.log('server listen on port:'+port); console.log('server listen on port:'+port);
return httpServer; return httpServer;
} }
} }
...@@ -10,10 +10,7 @@ export function getEnv() : string { ...@@ -10,10 +10,7 @@ export function getEnv() : string {
//mongo数据库连接字符 //mongo数据库连接字符
export const mongoServerConstVal = { export const mongoServerConstVal = {
dbUrl:'', picDBUrl:getPicDBUrl,
userUrl: getUserUrl(),
pictureUrl: getPictureUrl(),
logUrl: getLogUrl()
} }
//mysql数据库连接对象 //mysql数据库连接对象
...@@ -24,18 +21,22 @@ export const mySqlConfig = { ...@@ -24,18 +21,22 @@ export const mySqlConfig = {
mysqlPwd: '', mysqlPwd: '',
}; };
export function getPlatform() { //png路径
return process.argv[3] || "guanfang"; export const upImgPathConfig = {
} png:"res/up/png",
jpg:"res/up/jpg",
psd:"res/up/psd",
};
function getUserUrl() { //log路径
return (getEnv(), getPlatform()); export const systemLogPath = {
errorLogFile:"error",
errorLogDir:"error",
handleLogFile:"handle",
handleLogDir:"handle"
} }
function getPictureUrl() { function getPicDBUrl() {
return (getEnv(), getPlatform()); return '';
} }
function getLogUrl() {
return (getEnv(), getPlatform());
}
\ No newline at end of file
export class BizError extends Error { export class BizError extends Error {
//接入日志
} }
\ No newline at end of file
import { systemLogPath } from "../serverConfig";
let log4js = require('log4js');
let path = require('path');
//日志根目录
let baseLogPath = path.resolve(__dirname.substring(0, __dirname.indexOf("out")), 'logs');
let errFile = path.resolve(baseLogPath, systemLogPath.errorLogDir, systemLogPath.errorLogFile);
let handFile =path.resolve(baseLogPath, systemLogPath.handleLogDir, systemLogPath.handleLogFile);
let config = {
appenders:
{
"rule-console": {"type": "console"},
"errorLogger": {
"type": "dateFile", // 日志类型
"filename": errFile, // 输出文件名
"pattern": "-yyyy-MM-dd.log", // 后缀
"alwaysIncludePattern": true, // 上面两个参数是否合并
"encoding": "utf-8", // 编码格式
"maxLogSize": 1000, // 最大存储内容
"numBackups": 3, // 当文件内容超过文件存储空间时,备份文件的数量
"path": `/${systemLogPath.errorLogDir}`
},
"handleLogger": {
"type": "dateFile",
"filename": handFile,
"pattern": "-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"encoding": "utf-8",
"maxLogSize": 1000,
"numBackups": 3,
"path": `/${systemLogPath.handleLogDir}`
}
},
categories: {
"default": {"appenders": ["rule-console"], "level": "all"}, //这个配置一定要有
"errorLogger": {"appenders": ["errorLogger"], "level": "error"},
"handleLogger": {"appenders": ["handleLogger"], "level": "all"}
},
"baseLogPath": path.resolve(baseLogPath, systemLogPath.handleLogDir, systemLogPath.handleLogFile)
};
log4js.configure(config); //加载配置文件
//调用预先定义的日志名称
let errorLogger = log4js.getLogger("errorLogger");
let handleLogger = log4js.getLogger("handleLogger");
let consoleLogger = log4js.getLogger("rule-console");
//错误日志
export function logError(...errStrs) {
let str = "";
errStrs.forEach(item => {
str += item + " | ";
});
errorLogger.error(`errorInfo => ${str}`);
}
//普通日志
export function logHandle(msgStr:string) {
handleLogger.info(`logInfo => ${msgStr}`);
}
//输出日志
export function logConsole(logStr:string) {
consoleLogger.info(`logInfo => ${logStr}`);
}
import { upImgPathConfig } from "../serverConfig";
import { logError } from "./log";
var PSD = require('node-psd');
const path = require('path');
/**
* psdForPng psd转png
* @param fileName psd文件名称,记得不带.psd
*/
export async function psdForPng(fileName:string) {
const psdName = fileName+".psd";
const pngName = fileName+".png";
let filePath = path.join(__dirname.substring(0,__dirname.indexOf("out")), upImgPathConfig.psd, psdName);
let pngFilePath = path.join(__dirname.substring(0,__dirname.indexOf("out")), upImgPathConfig.png, pngName);
try {
let thisPsd = PSD.fromFile(filePath);
thisPsd.parse()
thisPsd.image.toPng();
PSD.open(filePath).then(function (psd) {
psd.image.saveAsPng(pngFilePath);
});
} catch(err) {
logError( psdName, "转png失败", err.message || err.msg);
}
}
\ 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