Commit b2fab29d by lixinming

no message

parent 2896c2cd
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.getData = void 0; exports.getJHJD = exports.getData = void 0;
const jhjdData_1 = require("../data/table/jhjdData"); const jhjdData_1 = require("../data/table/jhjdData");
const inFrontOut_1 = require("../dataPackage/inFrontOut"); const inFrontOut_1 = require("../dataPackage/inFrontOut");
const out_1 = require("../dataPackage/out"); const out_1 = require("../dataPackage/out");
...@@ -23,4 +23,8 @@ function getData(req, res) { ...@@ -23,4 +23,8 @@ function getData(req, res) {
res.send(ret); res.send(ret);
} }
exports.getData = getData; exports.getData = getData;
function getJHJD(req, res) {
let {} = req;
}
exports.getJHJD = getJHJD;
//# sourceMappingURL=jhjd.js.map //# sourceMappingURL=jhjd.js.map
\ No newline at end of file
{"version":3,"file":"jhjd.js","sourceRoot":"","sources":["../../src/biz/jhjd.ts"],"names":[],"mappings":";;;AACA,qDAAuD;AACvD,0DAAoI;AACpI,4CAA6G;AAE7G,wDAAwD;AAExD,SAAgB,OAAO,CAAC,GAAG,EAAE,GAAG;IAC5B,IAAI,SAAS,GAAG,wBAAa,EAAE,CAAC;IAEhC,IAAI,GAAG,GAAO,EAAE,CAAC;IAEjB,IAAI,eAAe,GAAG,4BAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,GAAG,CAAC,MAAM,CAAC,GAAG,oBAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEtD,IAAI,mBAAmB,GAAG,4BAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,GAAG,CAAC,UAAU,CAAC,GAAG,oBAAc,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAElE,IAAI,aAAa,GAAG,4BAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEhD,IAAI,iBAAiB,GAAG,4BAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtE,GAAG,CAAC,QAAQ,CAAC,GAAG,oBAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAE5D,IAAI,aAAa,GAAG,4BAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEhD,IAAI,iBAAiB,GAAG,4BAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtE,GAAG,CAAC,QAAQ,CAAC,GAAG,oBAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAE5D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAxBD,0BAwBC"} {"version":3,"file":"jhjd.js","sourceRoot":"","sources":["../../src/biz/jhjd.ts"],"names":[],"mappings":";;;AACA,qDAAuD;AACvD,0DAAoI;AACpI,4CAA6G;AAE7G,wDAAwD;AAExD,SAAgB,OAAO,CAAC,GAAG,EAAE,GAAG;IAC5B,IAAI,SAAS,GAAG,wBAAa,EAAE,CAAC;IAEhC,IAAI,GAAG,GAAO,EAAE,CAAC;IAEjB,IAAI,eAAe,GAAG,4BAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,GAAG,CAAC,MAAM,CAAC,GAAG,oBAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEtD,IAAI,mBAAmB,GAAG,4BAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,GAAG,CAAC,UAAU,CAAC,GAAG,oBAAc,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAElE,IAAI,aAAa,GAAG,4BAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEhD,IAAI,iBAAiB,GAAG,4BAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtE,GAAG,CAAC,QAAQ,CAAC,GAAG,oBAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAE5D,IAAI,aAAa,GAAG,4BAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEhD,IAAI,iBAAiB,GAAG,4BAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtE,GAAG,CAAC,QAAQ,CAAC,GAAG,oBAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAE5D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAxBD,0BAwBC;AAED,SAAgB,OAAO,CAAC,GAAG,EAAE,GAAG;IAC5B,IAAI,EAAE,GAAG,GAAG,CAAC;AACjB,CAAC;AAFD,0BAEC"}
\ No newline at end of file \ No newline at end of file
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.INTERFACErEQUESTTYPEENUM = void 0; exports.INTERFACEREQUESTTYPEENUM = void 0;
var INTERFACErEQUESTTYPEENUM; var INTERFACEREQUESTTYPEENUM;
(function (INTERFACErEQUESTTYPEENUM) { (function (INTERFACEREQUESTTYPEENUM) {
INTERFACErEQUESTTYPEENUM[INTERFACErEQUESTTYPEENUM["\u5373\u65F6\u66F4\u65B0"] = 1] = "\u5373\u65F6\u66F4\u65B0"; INTERFACEREQUESTTYPEENUM[INTERFACEREQUESTTYPEENUM["\u5373\u65F6\u66F4\u65B0"] = 1] = "\u5373\u65F6\u66F4\u65B0";
INTERFACErEQUESTTYPEENUM[INTERFACErEQUESTTYPEENUM["\u5B9A\u65F6\u66F4\u65B0"] = 2] = "\u5B9A\u65F6\u66F4\u65B0"; INTERFACEREQUESTTYPEENUM[INTERFACEREQUESTTYPEENUM["\u5B9A\u65F6\u66F4\u65B0"] = 2] = "\u5B9A\u65F6\u66F4\u65B0";
})(INTERFACErEQUESTTYPEENUM = exports.INTERFACErEQUESTTYPEENUM || (exports.INTERFACErEQUESTTYPEENUM = {})); })(INTERFACEREQUESTTYPEENUM = exports.INTERFACEREQUESTTYPEENUM || (exports.INTERFACEREQUESTTYPEENUM = {}));
//# sourceMappingURL=enum.js.map //# sourceMappingURL=enum.js.map
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSysMsg = exports.getBizMsg = exports.SYSTEMERRORENUM = exports.ERRORENUM = void 0;
var ERRORENUM;
(function (ERRORENUM) {
ERRORENUM[ERRORENUM["\u672A\u627E\u5230\u6570\u636E"] = 0] = "\u672A\u627E\u5230\u6570\u636E";
})(ERRORENUM = exports.ERRORENUM || (exports.ERRORENUM = {}));
var SYSTEMERRORENUM;
(function (SYSTEMERRORENUM) {
SYSTEMERRORENUM[SYSTEMERRORENUM["\u521D\u59CB\u5316\u914D\u7F6E\u5931\u8D25"] = 1] = "\u521D\u59CB\u5316\u914D\u7F6E\u5931\u8D25";
SYSTEMERRORENUM[SYSTEMERRORENUM["\u83B7\u53D6\u7B2C\u4E09\u65B9\u63A5\u53E3\u6570\u636E\u5931\u8D25"] = 2] = "\u83B7\u53D6\u7B2C\u4E09\u65B9\u63A5\u53E3\u6570\u636E\u5931\u8D25";
SYSTEMERRORENUM[SYSTEMERRORENUM["\u672A\u6309\u63A5\u53E3\u534F\u8BAE\u8FD4\u56DE"] = 3] = "\u672A\u6309\u63A5\u53E3\u534F\u8BAE\u8FD4\u56DE";
SYSTEMERRORENUM[SYSTEMERRORENUM["\u8BF7\u6C42\u672A\u9274\u6743"] = 401] = "\u8BF7\u6C42\u672A\u9274\u6743";
SYSTEMERRORENUM[SYSTEMERRORENUM["\u8BF7\u6C42\u8DEF\u5F84\u4E0D\u5B58\u5728"] = 404] = "\u8BF7\u6C42\u8DEF\u5F84\u4E0D\u5B58\u5728";
SYSTEMERRORENUM[SYSTEMERRORENUM["\u8BF7\u6C42\u9891\u7387\u8FC7\u9AD8"] = 503] = "\u8BF7\u6C42\u9891\u7387\u8FC7\u9AD8";
})(SYSTEMERRORENUM = exports.SYSTEMERRORENUM || (exports.SYSTEMERRORENUM = {}));
let bizErrorMsgMap = {};
for (let key in ERRORENUM) {
bizErrorMsgMap[ERRORENUM[key]] = key;
}
let systemErrorMsgMap = {};
for (let key in SYSTEMERRORENUM) {
systemErrorMsgMap[SYSTEMERRORENUM[key]] = key;
}
function getBizMsg(param) {
return bizErrorMsgMap[param];
}
exports.getBizMsg = getBizMsg;
function getSysMsg(param) {
return systemErrorMsgMap[param];
}
exports.getSysMsg = getSysMsg;
//# sourceMappingURL=errorEnum.js.map
\ No newline at end of file
{"version":3,"file":"errorEnum.js","sourceRoot":"","sources":["../../src/config/errorEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAEX;AAFD,WAAY,SAAS;IACjB,6FAAK,CAAA;AACT,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AACD,IAAY,eAOX;AAPD,WAAY,eAAe;IACvB,iIAAW,CAAA;IACX,iLAAW,CAAA;IACX,6IAAQ,CAAA;IACR,2GAAW,CAAA;IACX,mIAAa,CAAA;IACb,uHAAY,CAAA;AAChB,CAAC,EAPW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAO1B;AAED,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;IACvB,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;CACxC;AAED,IAAI,iBAAiB,GAAG,EAAE,CAAC;AAC3B,KAAK,IAAI,GAAG,IAAI,eAAe,EAAE;IAC7B,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;CACjD;AAED,SAAgB,SAAS,CAAC,KAAK;IAC3B,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAC,KAAK;IAC3B,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAFD,8BAEC"}
\ No newline at end of file
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Config = void 0; exports.Config = void 0;
// 请把 "INTERFACErEQUESTTYPEENUM.即时更新" 改成 INTERFACErEQUESTTYPEENUM.即时更新 把引号去掉 【定时更新同理 】 // 请把 "INTERFACEREQUESTTYPEENUM.即时更新" 改成 INTERFACEREQUESTTYPEENUM.即时更新 把引号去掉 【定时更新同理 】
exports.Config = { "计划进度": { "type": "INTERFACErEQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "形象进度": { "type": "INTERFACErEQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "里程碑节点完成情况": { "type": "INTERFACErEQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "致命性风险分布": { "type": "INTERFACErEQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "当前风险节点": { "type": "INTERFACErEQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "工程 安全状态": { "type": "INTERFACErEQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} } }; exports.Config = { "计划进度": { "type": "INTERFACEREQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "形象进度": { "type": "INTERFACEREQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "里程碑节点完成情况": { "type": "INTERFACEREQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "致命性风险分布": { "type": "INTERFACEREQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "当前风险节点": { "type": "INTERFACEREQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} }, "工程 安全状态": { "type": "INTERFACEREQUESTTYPEENUM.即时更新", "time": 3600000, "url": "url地址", "reqType": "post", "header": {}, "body": {} } };
//# sourceMappingURL=interfaceConfig.js.map //# sourceMappingURL=interfaceConfig.js.map
\ No newline at end of file
...@@ -40,7 +40,7 @@ async function taskUpdate() { ...@@ -40,7 +40,7 @@ async function taskUpdate() {
continue; continue;
} }
const ThisConfig = interfaceConfig_1.Config[interfaceName]; const ThisConfig = interfaceConfig_1.Config[interfaceName];
if (ThisConfig.type == enum_1.INTERFACErEQUESTTYPEENUM.即时更新) if (ThisConfig.type == enum_1.INTERFACEREQUESTTYPEENUM.即时更新)
continue; continue;
let lastTaskInfo = updateInfo[interfaceName]; let lastTaskInfo = updateInfo[interfaceName];
if (!lastTaskInfo) if (!lastTaskInfo)
...@@ -99,7 +99,7 @@ async function initRealTime() { ...@@ -99,7 +99,7 @@ async function initRealTime() {
let initSuccess = true; let initSuccess = true;
for (let interfaceName in interfaceConfig_1.Config) { for (let interfaceName in interfaceConfig_1.Config) {
const ThisConfig = interfaceConfig_1.Config[interfaceName]; const ThisConfig = interfaceConfig_1.Config[interfaceName];
if (ThisConfig.type == enum_1.INTERFACErEQUESTTYPEENUM.定时更新) if (ThisConfig.type == enum_1.INTERFACEREQUESTTYPEENUM.定时更新)
continue; continue;
let reqRes; let reqRes;
switch (ThisConfig.reqType) { switch (ThisConfig.reqType) {
...@@ -125,7 +125,7 @@ exports.initRealTime = initRealTime; ...@@ -125,7 +125,7 @@ exports.initRealTime = initRealTime;
async function getInterfaceByInterfaceName(name) { async function getInterfaceByInterfaceName(name) {
const ThisConfig = interfaceConfig_1.Config[name]; const ThisConfig = interfaceConfig_1.Config[name];
let data; let data;
if (ThisConfig.type == enum_1.INTERFACErEQUESTTYPEENUM.即时更新) { if (ThisConfig.type == enum_1.INTERFACEREQUESTTYPEENUM.即时更新) {
let reqRes; let reqRes;
switch (ThisConfig.reqType) { switch (ThisConfig.reqType) {
case "get": case "get":
......
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
var os = require("os");
const http_server_1 = require("./net/http_server"); const http_server_1 = require("./net/http_server");
const serverConfig_1 = require("./config/serverConfig"); const serverConfig_1 = require("./config/serverConfig");
async function lanuch() { async function lanuch() {
test(); // test();
// return
await serverConfig_1.initConfig(); await serverConfig_1.initConfig();
// initInterfaceData(); // initInterfaceData();
http_server_1.httpServer.createServer(serverConfig_1.port); http_server_1.httpServer.createServer(serverConfig_1.port);
console.log('This indicates that the server is started successfully.'); console.log('This indicates that the server is started successfully.');
} }
function test() { function test() {
console.log(os.platform());
console.log(os.networkInterfaces());
} }
lanuch(); lanuch();
//# sourceMappingURL=main.js.map //# sourceMappingURL=main.js.map
\ No newline at end of file
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAEA,mDAA+C;AAC/C,wDAAyD;AAEzD,KAAK,UAAU,MAAM;IACjB,IAAI,EAAE,CAAC;IACP,MAAM,yBAAU,EAAE,CAAC;IACnB,uBAAuB;IACvB,wBAAU,CAAC,YAAY,CAAE,mBAAI,CAAE,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,IAAI;AACb,CAAC;AAED,MAAM,EAAE,CAAC"} {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAEA,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,mDAA+C;AAC/C,wDAAyD;AAEzD,KAAK,UAAU,MAAM;IACjB,UAAU;IACV,UAAU;IACV,MAAM,yBAAU,EAAE,CAAC;IACnB,uBAAuB;IACvB,wBAAU,CAAC,YAAY,CAAE,mBAAI,CAAE,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,IAAI;IACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,EAAE,CAAC"}
\ No newline at end of file \ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkToken = void 0;
async function checkToken(req, res, next) {
next();
}
exports.checkToken = checkToken;
//# sourceMappingURL=checkToken.js.map
\ No newline at end of file
{"version":3,"file":"checkToken.js","sourceRoot":"","sources":["../../src/middleware/checkToken.ts"],"names":[],"mappings":";;;AACO,KAAK,UAAU,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;IAC3C,IAAI,EAAE,CAAC;AACX,CAAC;AAFD,gCAEC"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encryptionReturn = void 0;
async function encryptionReturn(req, res, next) {
res.on('end', function () {
console.log(res.body);
});
let resSend = res.send;
res.send = (obj) => {
changeNumber(obj);
//递归修改number型
resSend.call(res, obj);
};
next();
}
exports.encryptionReturn = encryptionReturn;
function changeNumber(obj) {
if (Array.isArray(obj)) {
for (let i = 0; i < obj.length; i++) {
let arrItem = obj[i];
if (typeof arrItem == "number") {
obj[i] = getSameLenNumber(arrItem);
}
else if (typeof arrItem == "object") {
changeNumber(arrItem);
}
}
}
else {
for (let key in obj) {
let objItem = obj[key];
if (typeof objItem == "number") {
if (key == "x" || key == "y")
continue;
obj[key] = getSameLenNumber(objItem);
}
else if (typeof objItem == "object") {
changeNumber(objItem);
}
}
}
}
function getSameLenNumber(num) {
let numStr = String(num);
//疑似年份的不做加密
if (numStr.length == 4 && (numStr.indexOf("19") == 0 || numStr.indexOf("20") == 0))
return num;
let str = "";
for (let i = 0; i < numStr.length; i++) {
if (numStr[i] == '.')
str += numStr[i];
else
str += "6";
}
return Number(str);
}
//# sourceMappingURL=encryptionReturn.js.map
\ No newline at end of file
{"version":3,"file":"encryptionReturn.js","sourceRoot":"","sources":["../../src/middleware/encryptionReturn.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;IACjD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IACvB,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,EAAC,EAAE;QACd,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,aAAa;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,IAAI,EAAE,CAAC;AACX,CAAC;AAbD,4CAaC;AAED,SAAS,YAAY,CAAC,GAAG;IACrB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;gBAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;aACtC;iBACI,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;gBACjC,YAAY,CAAC,OAAO,CAAC,CAAC;aACzB;SACJ;KACJ;SACI;QACD,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;YACjB,IAAI,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG;oBAAE,SAAS;gBAEvC,GAAG,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;aACxC;iBACI,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;gBACjC,YAAY,CAAC,OAAO,CAAC,CAAC;aACzB;SACJ;KACJ;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG;IACzB,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW;IACX,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAC/F,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG;YAAE,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;;YAClC,GAAG,IAAI,GAAG,CAAC;KACnB;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.httpErrorHandler = void 0;
function httpErrorHandler(err, req, res, next) {
console.log("in httpErrorHandler");
console.log(err);
//todo 自定义错误编码
if (err) {
if (err.message == "您的登录已失效") {
res.success({ success: false, msg: err.message, code: 501 });
next();
}
else if (err.message == "您的账户没有访问权限") {
res.success({ success: false, msg: "非常抱歉,您没有权限,请联系工作人员!", code: 502 });
next();
}
else if (err.message == "token已过期") {
res.success({ success: false, msg: "token失效", code: 503 });
next();
}
else {
res.success({ success: false, msg: err.message, code: 500 });
next();
}
}
}
exports.httpErrorHandler = httpErrorHandler;
//# sourceMappingURL=httpErrorHandler.js.map
\ No newline at end of file
{"version":3,"file":"httpErrorHandler.js","sourceRoot":"","sources":["../../src/middleware/httpErrorHandler.ts"],"names":[],"mappings":";;;AAAA,SAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;IAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,cAAc;IACd,IAAI,GAAG,EAAE;QACL,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS,EAAG;YAC3B,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;SACV;aACI,IAAI,GAAG,CAAC,OAAO,IAAI,YAAY,EAAE;YAClC,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,qBAAqB,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;YAClE,IAAI,EAAE,CAAC;SACV;aAAM,IAAK,GAAG,CAAC,OAAO,IAAI,UAAU,EAAE;YACnC,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,SAAS,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC;SACV;aACK;YACF,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;SACV;KACJ;AACL,CAAC;AArBD,4CAqBC"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.m = exports.checkSign = void 0;
const bizError_1 = require("../util/bizError");
const LRU = require("lru-cache"), cacheOptions = { max: 500000,
maxAge: 1000 * 60 * 10 }, cache = LRU(cacheOptions);
async function checkSign(req, res, next) {
let signKey = "12345678asd!@#%DFFGa";
let userId = req.headers.userid;
let playerId = req.headers.playerid;
let token = req.headers.token;
let timeStamp = req.headers.timestamp;
let platform = req.headers.platform;
if (req.path != '/api/system/servertime' && req.path.indexOf('admin') < 0 && req.headers.sign != 'xxakdfwosaddf!@3sadfhDAse') {
let now = Date.now();
if (Math.abs(now - timeStamp) > 120000) {
console.log(req.path, new Date(now), "timeStamp", timeStamp);
return next(new bizError_1.BizError('timeStamp error time difference error'));
}
let sign = getSign([signKey, userId, playerId, token, timeStamp, platform, req.path, signKey]);
let cacheSign = cache.get(sign);
if (cacheSign) {
if (cacheSign > 5)
return next(new bizError_1.BizError("sign error repetitive sign"));
else {
cacheSign++;
cache.set(sign, cacheSign);
}
}
else {
cache.set(sign, 1);
}
if (sign != req.headers.sign) {
console.log(req.path, JSON.stringify(req.headers));
next(new bizError_1.BizError("sign error"));
}
}
next();
}
exports.checkSign = checkSign;
function getSign(...params) {
let s = "";
for (let i = 0; i < params.length; i++) {
if (!params[i])
continue;
s += params[i];
}
return new m().hex_md5(s);
}
class m {
constructor() {
this.hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
this.b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
}
/*
* These are the privates you'll usually want to call
* They take string arguments and return either hex or base-64 encoded strings
*/
hex_md5(s) { return this.rstr2hex(this.rstr_md5(this.str2rstr_utf8(s))); } //这个函数就行了,
b64_md5(s) { return this.rstr2b64(this.rstr_md5(this.str2rstr_utf8(s))); }
any_md5(s, e) { return this.rstr2any(this.rstr_md5(this.str2rstr_utf8(s)), e); }
hex_hmac_md5(k, d) { return this.rstr2hex(this.rstr_hmac_md5(this.str2rstr_utf8(k), this.str2rstr_utf8(d))); }
b64_hmac_md5(k, d) { return this.rstr2b64(this.rstr_hmac_md5(this.str2rstr_utf8(k), this.str2rstr_utf8(d))); }
any_hmac_md5(k, d, e) { return this.rstr2any(this.rstr_hmac_md5(this.str2rstr_utf8(k), this.str2rstr_utf8(d)), e); }
/*
* Perform a simple self-test to see if the VM is working
*/
md5_vm_test() {
return this.hex_md5("abc").toLowerCase() == "900150983cd24fb0d6963f7d28e17f72";
}
/*
* Calculate the MD5 of a raw string
*/
rstr_md5(s) {
return this.binl2rstr(this.binl_md5(this.rstr2binl(s), s.length * 8));
}
/*
* Calculate the HMAC-MD5, of a key and some data (raw strings)
*/
rstr_hmac_md5(key, data) {
var bkey = this.rstr2binl(key);
if (bkey.length > 16)
bkey = this.binl_md5(bkey, key.length * 8);
var ipad = Array(16), opad = Array(16);
for (var i = 0; i < 16; i++) {
ipad[i] = bkey[i] ^ 0x36363636;
opad[i] = bkey[i] ^ 0x5C5C5C5C;
}
var hash = this.binl_md5(ipad.concat(this.rstr2binl(data)), 512 + data.length * 8);
return this.binl2rstr(this.binl_md5(opad.concat(hash), 512 + 128));
}
/*
* Convert a raw string to a hex string
*/
rstr2hex(input) {
try {
this.hexcase;
}
catch (e) {
this.hexcase = 0;
}
var hex_tab = this.hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var output = "";
var x;
for (var i = 0; i < input.length; i++) {
x = input.charCodeAt(i);
output += hex_tab.charAt((x >>> 4) & 0x0F)
+ hex_tab.charAt(x & 0x0F);
}
return output;
}
/*
* Convert a raw string to a base-64 string
*/
rstr2b64(input) {
try {
this.b64pad;
}
catch (e) {
this.b64pad = '';
}
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var output = "";
var len = input.length;
for (var i = 0; i < len; i += 3) {
var triplet = (input.charCodeAt(i) << 16)
| (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0)
| (i + 2 < len ? input.charCodeAt(i + 2) : 0);
for (var j = 0; j < 4; j++) {
if (i * 8 + j * 6 > input.length * 8)
output += this.b64pad;
else
output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F);
}
}
return output;
}
/*
* Convert a raw string to an arbitrary string encoding
*/
rstr2any(input, encoding) {
var divisor = encoding.length;
var i, j, q, x, quotient;
/* Convert to an array of 16-bit big-endian values, forming the dividend */
var dividend = Array(Math.ceil(input.length / 2));
for (i = 0; i < dividend.length; i++) {
dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);
}
/*
* Repeatedly perform a long division. The binary array forms the dividend,
* the length of the encoding is the divisor. Once computed, the quotient
* forms the dividend for the next step. All remainders are stored for later
* use.
*/
var full_length = Math.ceil(input.length * 8 /
(Math.log(encoding.length) / Math.log(2)));
var remainders = Array(full_length);
for (j = 0; j < full_length; j++) {
quotient = Array();
x = 0;
for (i = 0; i < dividend.length; i++) {
x = (x << 16) + dividend[i];
q = Math.floor(x / divisor);
x -= q * divisor;
if (quotient.length > 0 || q > 0)
quotient[quotient.length] = q;
}
remainders[j] = x;
dividend = quotient;
}
/* Convert the remainders to the output string */
var output = "";
for (i = remainders.length - 1; i >= 0; i--)
output += encoding.charAt(remainders[i]);
return output;
}
/*
* Encode a string as utf-8.
* For efficiency, this assumes the input is valid utf-16.
*/
str2rstr_utf8(input) {
var output = "";
var i = -1;
var x, y;
while (++i < input.length) {
/* Decode utf-16 surrogate pairs */
x = input.charCodeAt(i);
y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0;
if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {
x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);
i++;
}
/* Encode output as utf-8 */
if (x <= 0x7F)
output += String.fromCharCode(x);
else if (x <= 0x7FF)
output += String.fromCharCode(0xC0 | ((x >>> 6) & 0x1F), 0x80 | (x & 0x3F));
else if (x <= 0xFFFF)
output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F), 0x80 | ((x >>> 6) & 0x3F), 0x80 | (x & 0x3F));
else if (x <= 0x1FFFFF)
output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07), 0x80 | ((x >>> 12) & 0x3F), 0x80 | ((x >>> 6) & 0x3F), 0x80 | (x & 0x3F));
}
return output;
}
/*
* Encode a string as utf-16
*/
str2rstr_utf16le(input) {
var output = "";
for (var i = 0; i < input.length; i++)
output += String.fromCharCode(input.charCodeAt(i) & 0xFF, (input.charCodeAt(i) >>> 8) & 0xFF);
return output;
}
str2rstr_utf16be(input) {
var output = "";
for (var i = 0; i < input.length; i++)
output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, input.charCodeAt(i) & 0xFF);
return output;
}
/*
* Convert a raw string to an array of little-endian words
* Characters >255 have their high-byte silently ignored.
*/
rstr2binl(input) {
var output = Array(input.length >> 2);
for (var i = 0; i < output.length; i++)
output[i] = 0;
for (var i = 0; i < input.length * 8; i += 8)
output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32);
return output;
}
/*
* Convert an array of little-endian words to a string
*/
binl2rstr(input) {
var output = "";
for (var i = 0; i < input.length * 32; i += 8)
output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);
return output;
}
/*
* Calculate the MD5 of an array of little-endian words, and a bit length.
*/
binl_md5(x, len) {
/* append padding */
x[len >> 5] |= 0x80 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for (var i = 0; i < x.length; i += 16) {
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = this.md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
d = this.md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
c = this.md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
b = this.md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
a = this.md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
d = this.md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
c = this.md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
b = this.md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
a = this.md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
d = this.md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
c = this.md5_ff(c, d, a, b, x[i + 10], 17, -42063);
b = this.md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
a = this.md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
d = this.md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
c = this.md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
b = this.md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
a = this.md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
d = this.md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
c = this.md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
b = this.md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
a = this.md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
d = this.md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
c = this.md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
b = this.md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
a = this.md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
d = this.md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
c = this.md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
b = this.md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
a = this.md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
d = this.md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
c = this.md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
b = this.md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
a = this.md5_hh(a, b, c, d, x[i + 5], 4, -378558);
d = this.md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
c = this.md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
b = this.md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
a = this.md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
d = this.md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
c = this.md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
b = this.md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
a = this.md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
d = this.md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
c = this.md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
b = this.md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
a = this.md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
d = this.md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
c = this.md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
b = this.md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
a = this.md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
d = this.md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
c = this.md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
b = this.md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
a = this.md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
d = this.md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
c = this.md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
b = this.md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
a = this.md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
d = this.md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
c = this.md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
b = this.md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
a = this.md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
d = this.md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
c = this.md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
b = this.md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
a = this.safe_add(a, olda);
b = this.safe_add(b, oldb);
c = this.safe_add(c, oldc);
d = this.safe_add(d, oldd);
}
return [a, b, c, d];
}
/*
* These privates implement the four basic operations the algorithm uses.
*/
md5_cmn(q, a, b, x, s, t) {
return this.safe_add(this.bit_rol(this.safe_add(this.safe_add(a, q), this.safe_add(x, t)), s), b);
}
md5_ff(a, b, c, d, x, s, t) {
return this.md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
md5_gg(a, b, c, d, x, s, t) {
return this.md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
md5_hh(a, b, c, d, x, s, t) {
return this.md5_cmn(b ^ c ^ d, a, b, x, s, t);
}
md5_ii(a, b, c, d, x, s, t) {
return this.md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
}
/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
safe_add(x, y) {
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
/*
* Bitwise rotate a 32-bit number to the left.
*/
bit_rol(num, cnt) {
return (num << cnt) | (num >>> (32 - cnt));
}
}
exports.m = m;
//# sourceMappingURL=sign.js.map
\ No newline at end of file
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/middleware/sign.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.watch = void 0;
function watch(req, res, next) {
res.success = success.bind({ res: res, req: req });
return next();
}
exports.watch = watch;
function success(data) {
let resultPack;
if (data) {
if (data.success === undefined || data.success === true) {
resultPack = { data, success: true, code: 200 };
}
else {
resultPack = data;
}
}
else {
resultPack = { code: 500, success: false, msg: 'result is null' };
}
this.res.send(resultPack);
}
//# sourceMappingURL=watch.js.map
\ No newline at end of file
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/middleware/watch.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;IAChC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,EAAC,GAAG,EAAC,GAAG,EAAE,GAAG,EAAC,GAAG,EAAC,CAAC,CAAC;IAE/C,OAAO,IAAI,EAAE,CAAC;AAClB,CAAC;AAJD,sBAIC;AAED,SAAS,OAAO,CAAC,IAAI;IACjB,IAAI,UAAU,CAAC;IACf,IAAI,IAAI,EAAG;QACP,IAAK,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAG;YACvD,UAAU,GAAG,EAAC,IAAI,EAAE,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC;SAC/C;aACI;YACD,UAAU,GAAG,IAAI,CAAC;SACrB;KACJ;SAAK;QACF,UAAU,GAAG,EAAC,IAAI,EAAC,GAAG,EAAE,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,gBAAgB,EAAC,CAAC;KAChE;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.httpErrorHandler = void 0;
function httpErrorHandler(err, req, res, next) {
console.log("in httpErrorHandler");
console.log(err);
//todo 自定义错误编码
if (err) {
if (err.message == "您的登录已失效") {
res.success({ success: false, msg: err.message, code: 501 });
next();
}
else if (err.message == "您的账户没有访问权限") {
res.success({ success: false, msg: "非常抱歉,您没有权限,请联系工作人员!", code: 502 });
next();
}
else if (err.message == "token已过期") {
res.success({ success: false, msg: "token失效", code: 503 });
next();
}
else {
res.success({ success: false, msg: err.message, code: 500 });
next();
}
}
}
exports.httpErrorHandler = httpErrorHandler;
//# sourceMappingURL=httpErrorHandler.js.map
\ No newline at end of file
{"version":3,"file":"httpErrorHandler.js","sourceRoot":"","sources":["../../src/net/httpErrorHandler.ts"],"names":[],"mappings":";;;AAAA,SAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;IAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,cAAc;IACd,IAAI,GAAG,EAAE;QACL,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS,EAAG;YAC3B,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;SACV;aACI,IAAI,GAAG,CAAC,OAAO,IAAI,YAAY,EAAE;YAClC,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,qBAAqB,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;YAClE,IAAI,EAAE,CAAC;SACV;aAAM,IAAK,GAAG,CAAC,OAAO,IAAI,UAAU,EAAE;YACnC,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,SAAS,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC;SACV;aACK;YACF,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;SACV;KACJ;AACL,CAAC;AArBD,4CAqBC"}
\ No newline at end of file
...@@ -7,6 +7,8 @@ const routers = require("../routers/router"); ...@@ -7,6 +7,8 @@ const routers = require("../routers/router");
const compression = require("compression"); const compression = require("compression");
const fallback = require("express-history-api-fallback"); const fallback = require("express-history-api-fallback");
const path = require("path"); const path = require("path");
const watch_1 = require("../middleware/watch");
const httpErrorHandler_1 = require("../middleware/httpErrorHandler");
class httpServer { class httpServer {
static createServer(port) { static createServer(port) {
var httpServer = express(); var httpServer = express();
...@@ -25,10 +27,11 @@ class httpServer { ...@@ -25,10 +27,11 @@ class httpServer {
next(); next();
} }
}); });
httpServer.use(express.static('public'));
httpServer.use(bodyParser.json({ limit: "10kb" })); httpServer.use(bodyParser.json({ limit: "10kb" }));
httpServer.use(compression()); httpServer.use(compression());
httpServer.use(watch_1.watch);
routers.setRouter(httpServer); routers.setRouter(httpServer);
httpServer.use(httpErrorHandler_1.httpErrorHandler);
const root = path.join(__dirname, "../../public/"); const root = path.join(__dirname, "../../public/");
httpServer.use(express.static(root)); httpServer.use(express.static(root));
httpServer.use(fallback('index.html', { root })); httpServer.use(fallback('index.html', { root }));
......
{"version":3,"file":"http_server.js","sourceRoot":"","sources":["../../src/net/http_server.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,0CAA2C;AAE3C,6CAA8C;AAC9C,2CAA4C;AAC5C,yDAAyD;AACzD,6BAA6B;AAG7B,MAAa,UAAU;IACpB,MAAM,CAAC,YAAY,CAAC,IAAW;QAC9B,IAAI,UAAU,GAAG,OAAO,EAAE,CAAC;QAE3B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAC,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI;YACzC,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;YAC1E,GAAG,CAAC,MAAM,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACrC,IAAG,GAAG,CAAC,MAAM,KAAK,SAAS,EAAC;gBACxB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;aACX;iBAAI;gBACD,IAAI,EAAE,CAAC;aACV;QACL,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAE,CAAC;QAE1C,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;QAChD,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QAC7B,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;QAClD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACpC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAC,IAAI,CAAC,CAAC;QAGxC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AApCD,gCAoCC"} {"version":3,"file":"http_server.js","sourceRoot":"","sources":["../../src/net/http_server.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,0CAA2C;AAC3C,6CAA8C;AAC9C,2CAA4C;AAC5C,yDAAyD;AACzD,6BAA6B;AAC7B,+CAA4C;AAC5C,qEAAkE;AAGlE,MAAa,UAAU;IACpB,MAAM,CAAC,YAAY,CAAC,IAAW;QAC9B,IAAI,UAAU,GAAG,OAAO,EAAE,CAAC;QAE3B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAC,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI;YACzC,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;YAC1E,GAAG,CAAC,MAAM,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACrC,IAAG,GAAG,CAAC,MAAM,KAAK,SAAS,EAAC;gBACxB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;aACX;iBAAI;gBACD,IAAI,EAAE,CAAC;aACV;QACL,CAAC,CAAC,CAAC;QAGH,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;QAChD,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QAE7B,UAAU,CAAC,GAAG,CAAC,aAAK,CAAC,CAAC;QACtB,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9B,UAAU,CAAC,GAAG,CAAC,mCAAgB,CAAC,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;QAClD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACpC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAC,IAAI,CAAC,CAAC;QAGxC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAtCD,gCAsCC"}
\ No newline at end of file \ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.watch = void 0;
function watch(req, res, next) {
res.success = success.bind({ res: res, req: req });
return next();
}
exports.watch = watch;
function success(data) {
let resultPack;
if (data) {
if (data.success === undefined || data.success === true) {
resultPack = { data, success: true, code: 200 };
}
else {
resultPack = data;
}
}
else {
resultPack = { code: 500, success: false, msg: 'result is null' };
}
this.res.send(resultPack);
}
//# sourceMappingURL=watch.js.map
\ No newline at end of file
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/net/watch.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;IAChC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,EAAC,GAAG,EAAC,GAAG,EAAE,GAAG,EAAC,GAAG,EAAC,CAAC,CAAC;IAE/C,OAAO,IAAI,EAAE,CAAC;AAClB,CAAC;AAJD,sBAIC;AAED,SAAS,OAAO,CAAC,IAAI;IACjB,IAAI,UAAU,CAAC;IACf,IAAI,IAAI,EAAG;QACP,IAAK,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAG;YACvD,UAAU,GAAG,EAAC,IAAI,EAAE,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,EAAC,CAAC;SAC/C;aACI;YACD,UAAU,GAAG,IAAI,CAAC;SACrB;KACJ;SAAK;QACF,UAAU,GAAG,EAAC,IAAI,EAAC,GAAG,EAAE,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,gBAAgB,EAAC,CAAC;KAChE;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC"}
\ No newline at end of file
...@@ -9,20 +9,13 @@ const zmxfxfbBiz = require("../biz/zmxfxfb"); ...@@ -9,20 +9,13 @@ const zmxfxfbBiz = require("../biz/zmxfxfb");
const dqfxjdBiz = require("../biz/dqfxjd"); const dqfxjdBiz = require("../biz/dqfxjd");
const gcaqztBiz = require("../biz/gcaqzt"); const gcaqztBiz = require("../biz/gcaqzt");
function setRouter(httpServer) { function setRouter(httpServer) {
//======post
httpServer.post('/jhjd', asyncHandler(jhjdBiz.getData));
httpServer.post('/xxjd', asyncHandler(xxjdBiz.getData));
httpServer.post('/lcbjdwcqk', asyncHandler(lcbjdwcqkBiz.getData));
httpServer.post('/zmxfxfb', asyncHandler(zmxfxfbBiz.getData));
httpServer.post('/dqfxjd', asyncHandler(dqfxjdBiz.getData));
httpServer.post('/gcaqzt', asyncHandler(gcaqztBiz.getData));
//======get
httpServer.get('/jhjd', asyncHandler(jhjdBiz.getData)); httpServer.get('/jhjd', asyncHandler(jhjdBiz.getData));
httpServer.get('/xxjd', asyncHandler(xxjdBiz.getData)); httpServer.get('/xxjd', asyncHandler(xxjdBiz.getData));
httpServer.get('/lcbjdwcqk', asyncHandler(lcbjdwcqkBiz.getData)); httpServer.get('/lcbjdwcqk', asyncHandler(lcbjdwcqkBiz.getData));
httpServer.get('/zmxfxfb', asyncHandler(zmxfxfbBiz.getData)); httpServer.get('/zmxfxfb', asyncHandler(zmxfxfbBiz.getData));
httpServer.get('/dqfxjd', asyncHandler(dqfxjdBiz.getData)); httpServer.get('/dqfxjd', asyncHandler(dqfxjdBiz.getData));
httpServer.get('/gcaqzt', asyncHandler(gcaqztBiz.getData)); httpServer.get('/gcaqzt', asyncHandler(gcaqztBiz.getData));
httpServer.get('/aaa', asyncHandler(jhjdBiz.getJHJD));
} }
exports.setRouter = setRouter; exports.setRouter = setRouter;
//# sourceMappingURL=router.js.map //# sourceMappingURL=router.js.map
\ No newline at end of file
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/routers/router.ts"],"names":[],"mappings":";;;AACA,sDAAqD;AAErD,uCAAuC;AAEvC,uCAAuC;AAEvC,iDAAiD;AAEjD,6CAA6C;AAE7C,2CAA2C;AAE3C,2CAA2C;AAE3C,SAAgB,SAAS,CAAC,UAAU;IAEhC,YAAY;IAEZ,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAExD,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAExD,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAElE,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAE9D,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5D,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAG5D,WAAW;IAEX,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvD,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvD,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjE,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7D,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3D,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/D,CAAC;AA/BD,8BA+BC"} {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/routers/router.ts"],"names":[],"mappings":";;;AACA,sDAAqD;AAErD,uCAAuC;AAEvC,uCAAuC;AAEvC,iDAAiD;AAEjD,6CAA6C;AAE7C,2CAA2C;AAE3C,2CAA2C;AAE3C,SAAgB,SAAS,CAAC,UAAU;IAChC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3D,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,CAAC;AATD,8BASC"}
\ No newline at end of file \ No newline at end of file
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.BizError = void 0; exports.SysError = exports.BizError = void 0;
const errorEnum_1 = require("../config/errorEnum");
const log_1 = require("./log");
class BizError extends Error { class BizError extends Error {
constructor(...msgs) {
let reqErrorMsg = '';
let logErrorMsg = '';
for (let i = 0; i < msgs.length; i++) {
if (!i) {
let msg = errorEnum_1.getBizMsg(msgs[i]);
reqErrorMsg = msg;
logErrorMsg = msg;
}
else {
logErrorMsg += ` | ${msgs[i]} `;
}
}
log_1.logError(logErrorMsg);
super(reqErrorMsg);
}
} }
exports.BizError = BizError; exports.BizError = BizError;
class SysError extends Error {
constructor(...msgs) {
let reqErrorMsg = '';
let logErrorMsg = '';
for (let i = 0; i < msgs.length; i++) {
if (!i) {
let msg = errorEnum_1.getSysMsg(msgs[i]);
reqErrorMsg = msg;
logErrorMsg = msg;
}
else {
if (typeof msgs[i] == 'object')
logErrorMsg += ` | ${JSON.stringify(msgs[i])} `;
else
logErrorMsg += ` | ${msgs[i]} `;
}
}
log_1.logError(logErrorMsg);
super(reqErrorMsg);
}
}
exports.SysError = SysError;
//# sourceMappingURL=bizError.js.map //# sourceMappingURL=bizError.js.map
\ No newline at end of file
{"version":3,"file":"bizError.js","sourceRoot":"","sources":["../../src/util/bizError.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAS,SAAQ,KAAK;CAElC;AAFD,4BAEC"} {"version":3,"file":"bizError.js","sourceRoot":"","sources":["../../src/util/bizError.ts"],"names":[],"mappings":";;;AAAA,mDAA2D;AAC3D,+BAAiC;AAEjC,MAAa,QAAS,SAAQ,KAAK;IAC/B,YAAY,GAAG,IAAI;QACf,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,EAAE;gBACJ,IAAI,GAAG,GAAG,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,WAAW,GAAG,GAAG,CAAC;gBAClB,WAAW,GAAG,GAAG,CAAC;aACrB;iBAAM;gBACH,WAAW,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;aACnC;SACJ;QAED,cAAQ,CAAC,WAAW,CAAC,CAAC;QACtB,KAAK,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;CACJ;AAjBD,4BAiBC;AAED,MAAa,QAAS,SAAQ,KAAK;IAC/B,YAAY,GAAG,IAAI;QACf,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,EAAE;gBACJ,IAAI,GAAG,GAAE,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5B,WAAW,GAAG,GAAG,CAAC;gBAClB,WAAW,GAAG,GAAG,CAAC;aACrB;iBAAM;gBACH,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ;oBAAE,WAAW,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;;oBAC3E,WAAW,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;aACxC;SACJ;QAED,cAAQ,CAAC,WAAW,CAAC,CAAC;QACtB,KAAK,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;CACJ;AAlBD,4BAkBC"}
\ No newline at end of file \ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.logConsole = exports.logHandle = exports.logError = exports.systemLogPath = void 0;
let log4js = require('log4js');
let path = require('path');
//log路径
exports.systemLogPath = {
errorLogFile: "error",
errorLogDir: "error",
handleLogFile: "handle",
handleLogDir: "handle"
};
//日志根目录
let baseLogPath = path.resolve(__dirname.substring(0, __dirname.indexOf("out")), 'logs');
// let baseLogPath = path.resolve('./', 'logs');
let errFile = path.resolve(baseLogPath, exports.systemLogPath.errorLogDir, exports.systemLogPath.errorLogFile);
let handFile = path.resolve(baseLogPath, exports.systemLogPath.handleLogDir, exports.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": `/${exports.systemLogPath.errorLogDir}`
},
"handleLogger": {
"type": "dateFile",
"filename": handFile,
"pattern": "-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"encoding": "utf-8",
"maxLogSize": 1000,
"numBackups": 3,
"path": `/${exports.systemLogPath.handleLogDir}`
}
},
categories: {
"default": { "appenders": ["rule-console"], "level": "all" },
"errorLogger": { "appenders": ["errorLogger"], "level": "error" },
"handleLogger": { "appenders": ["handleLogger"], "level": "all" }
},
"baseLogPath": path.resolve(baseLogPath, exports.systemLogPath.handleLogDir, exports.systemLogPath.handleLogFile)
};
log4js.configure(config); //加载配置文件
//调用预先定义的日志名称
let errorLogger = log4js.getLogger("errorLogger");
let handleLogger = log4js.getLogger("handleLogger");
let consoleLogger = log4js.getLogger("rule-console");
//错误日志
function logError(...errStrs) {
let str = "";
errStrs.forEach(item => {
str += item + " | ";
});
errorLogger.error(`errorInfo => ${str}`);
}
exports.logError = logError;
//普通日志
function logHandle(msgStr) {
handleLogger.info(`logInfo => ${msgStr}`);
}
exports.logHandle = logHandle;
//输出日志
function logConsole(logStr) {
consoleLogger.info(`logInfo => ${logStr}`);
}
exports.logConsole = logConsole;
//# sourceMappingURL=log.js.map
\ No newline at end of file
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/util/log.ts"],"names":[],"mappings":";;;AAAA,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE3B,OAAO;AACM,QAAA,aAAa,GAAG;IACzB,YAAY,EAAC,OAAO;IACpB,WAAW,EAAC,OAAO;IACnB,aAAa,EAAC,QAAQ;IACtB,YAAY,EAAC,QAAQ;CACxB,CAAA;AAED,OAAO;AACP,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACzF,gDAAgD;AAChD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,qBAAa,CAAC,WAAW,EAAE,qBAAa,CAAC,YAAY,CAAC,CAAC;AAC/F,IAAI,QAAQ,GAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,qBAAa,CAAC,YAAY,EAAE,qBAAa,CAAC,aAAa,CAAC,CAAC;AACjG,IAAI,MAAM,GAAG;IACT,SAAS,EACL;QACI,cAAc,EAAE,EAAC,MAAM,EAAE,SAAS,EAAC;QACnC,aAAa,EAAE;YACX,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,iBAAiB;YAC5B,sBAAsB,EAAE,IAAI;YAC5B,UAAU,EAAE,OAAO;YACnB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,IAAI,qBAAa,CAAC,WAAW,EAAE;SAC1C;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,UAAU;YAClB,UAAU,EAAG,QAAQ;YACrB,SAAS,EAAE,iBAAiB;YAC5B,sBAAsB,EAAE,IAAI;YAC5B,UAAU,EAAE,OAAO;YACnB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,IAAI,qBAAa,CAAC,YAAY,EAAE;SAC3C;KAEJ;IACL,UAAU,EAAE;QACR,SAAS,EAAE,EAAC,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;QAC1D,aAAa,EAAE,EAAC,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAC;QAC/D,cAAc,EAAE,EAAC,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;KAClE;IACD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,qBAAa,CAAC,YAAY,EAAE,qBAAa,CAAC,aAAa,CAAC;CACpG,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAE,QAAQ;AAEnC,aAAa;AACb,IAAI,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AAClD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AACpD,IAAI,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAErD,MAAM;AACN,SAAgB,QAAQ,CAAC,GAAG,OAAO;IAC/B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,GAAG,IAAI,IAAI,GAAG,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC;AAND,4BAMC;AAED,MAAM;AACN,SAAgB,SAAS,CAAC,MAAa;IACnC,YAAY,CAAC,IAAI,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,8BAEC;AAED,MAAM;AACN,SAAgB,UAAU,CAAC,MAAa;IACpC,aAAa,CAAC,IAAI,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,gCAEC"}
\ No newline at end of file
...@@ -374,6 +374,11 @@ ...@@ -374,6 +374,11 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"date-format": {
"version": "4.0.14",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
"integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg=="
},
"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 +534,11 @@ ...@@ -529,6 +534,11 @@
"unpipe": "~1.0.0" "unpipe": "~1.0.0"
} }
}, },
"flatted": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
"integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
},
"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 +574,16 @@ ...@@ -564,6 +574,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 +592,11 @@ ...@@ -572,6 +592,11 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"graceful-fs": {
"version": "4.2.10",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
},
"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",
...@@ -708,6 +733,14 @@ ...@@ -708,6 +733,14 @@
"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": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"requires": {
"graceful-fs": "^4.1.6"
}
},
"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",
...@@ -729,6 +762,33 @@ ...@@ -729,6 +762,33 @@
"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="
}, },
"log4js": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.0.tgz",
"integrity": "sha512-KA0W9ffgNBLDj6fZCq/lRbgR6ABAodRIDHrZnS48vOtfKa4PzWImb0Md1lmGCdO3n3sbCm/n1/WmrNlZ8kCI3Q==",
"requires": {
"date-format": "^4.0.14",
"debug": "^4.3.4",
"flatted": "^3.2.7",
"rfdc": "^1.3.0",
"streamroller": "^3.1.3"
},
"dependencies": {
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"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",
...@@ -1022,6 +1082,11 @@ ...@@ -1022,6 +1082,11 @@
"uuid": "^3.3.2" "uuid": "^3.3.2"
} }
}, },
"rfdc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
"integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA=="
},
"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",
...@@ -1146,6 +1211,31 @@ ...@@ -1146,6 +1211,31 @@
"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": "3.1.3",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.3.tgz",
"integrity": "sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w==",
"requires": {
"date-format": "^4.0.14",
"debug": "^4.3.4",
"fs-extra": "^8.1.0"
},
"dependencies": {
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"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=="
}
}
},
"svg-captcha": { "svg-captcha": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npm.taobao.org/svg-captcha/download/svg-captcha-1.4.0.tgz", "resolved": "https://registry.npm.taobao.org/svg-captcha/download/svg-captcha-1.4.0.tgz",
...@@ -1203,6 +1293,11 @@ ...@@ -1203,6 +1293,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",
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
"express-async-handler": "^1.1.4", "express-async-handler": "^1.1.4",
"express-history-api-fallback": "^2.2.1", "express-history-api-fallback": "^2.2.1",
"formidable": "^1.2.1", "formidable": "^1.2.1",
"log4js": "^6.7.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",
......
No preview for this file type
...@@ -29,4 +29,8 @@ export function getData(req, res) { ...@@ -29,4 +29,8 @@ export function getData(req, res) {
ret['yjxxxl'] = getKeyValueOut('移交详细线路', yjxxxlPackageData); ret['yjxxxl'] = getKeyValueOut('移交详细线路', yjxxxlPackageData);
res.send(ret); res.send(ret);
} }
\ No newline at end of file
export function getJHJD(req, res) {
let {} = req;
}
\ No newline at end of file
export enum INTERFACErEQUESTTYPEENUM { export enum INTERFACEREQUESTTYPEENUM {
即时更新 = 1, 即时更新 = 1,
定时更新 定时更新
} }
\ No newline at end of file
export enum ERRORENUM {
未找到数据,
}
export enum SYSTEMERRORENUM {
初始化配置失败 = 1,
获取第三方接口数据失败,
未按接口协议返回,
请求未鉴权 = 401,
请求路径不存在 = 404,
请求频率过高 = 503
}
let bizErrorMsgMap = {};
for (let key in ERRORENUM) {
bizErrorMsgMap[ERRORENUM[key]] = key;
}
let systemErrorMsgMap = {};
for (let key in SYSTEMERRORENUM) {
systemErrorMsgMap[SYSTEMERRORENUM[key]] = key;
}
export function getBizMsg(param) {
return bizErrorMsgMap[param];
}
export function getSysMsg(param) {
return systemErrorMsgMap[param];
}
\ No newline at end of file
import { INTERFACErEQUESTTYPEENUM } from "./enum"; import { INTERFACEREQUESTTYPEENUM } from "./enum";
// 请把 "INTERFACErEQUESTTYPEENUM.即时更新" 改成 INTERFACErEQUESTTYPEENUM.即时更新 把引号去掉 【定时更新同理 】 // 请把 "INTERFACEREQUESTTYPEENUM.即时更新" 改成 INTERFACEREQUESTTYPEENUM.即时更新 把引号去掉 【定时更新同理 】
export const Config = {"计划进度":{"type":"INTERFACErEQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"形象进度":{"type":"INTERFACErEQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"里程碑节点完成情况":{"type":"INTERFACErEQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"致命性风险分布":{"type":"INTERFACErEQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"当前风险节点":{"type":"INTERFACErEQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"工程 安全状态":{"type":"INTERFACErEQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}}}; export const Config = {"计划进度":{"type":"INTERFACEREQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"形象进度":{"type":"INTERFACEREQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"里程碑节点完成情况":{"type":"INTERFACEREQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"致命性风险分布":{"type":"INTERFACEREQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"当前风险节点":{"type":"INTERFACEREQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}},"工程 安全状态":{"type":"INTERFACEREQUESTTYPEENUM.即时更新","time":3600000,"url":"url地址","reqType":"post","header":{},"body":{}}};
\ No newline at end of file
//接口任务 定期更新 //接口任务 定期更新
import { INTERFACErEQUESTTYPEENUM } from "../../config/enum"; import { INTERFACEREQUESTTYPEENUM } from "../../config/enum";
import { Config } from "../../config/interfaceConfig"; import { Config } from "../../config/interfaceConfig";
import { BizError } from "../../util/bizError"; import { BizError } from "../../util/bizError";
import { get, post, postForm } from "../../util/request"; import { get, post, postForm } from "../../util/request";
...@@ -45,7 +45,7 @@ async function taskUpdate() { ...@@ -45,7 +45,7 @@ async function taskUpdate() {
} }
const ThisConfig = Config[interfaceName]; const ThisConfig = Config[interfaceName];
if (ThisConfig.type == INTERFACErEQUESTTYPEENUM.即时更新) continue; if (ThisConfig.type == INTERFACEREQUESTTYPEENUM.即时更新) continue;
let lastTaskInfo = updateInfo[interfaceName]; let lastTaskInfo = updateInfo[interfaceName];
if ( !lastTaskInfo ) thisTaskInfo.push({name:defaultUseTime, useTime:defaultUseTime}); if ( !lastTaskInfo ) thisTaskInfo.push({name:defaultUseTime, useTime:defaultUseTime});
...@@ -98,7 +98,7 @@ export async function initRealTime() { ...@@ -98,7 +98,7 @@ export async function initRealTime() {
let initSuccess = true; let initSuccess = true;
for (let interfaceName in Config) { for (let interfaceName in Config) {
const ThisConfig = Config[interfaceName]; const ThisConfig = Config[interfaceName];
if (ThisConfig.type == INTERFACErEQUESTTYPEENUM.定时更新) continue; if (ThisConfig.type == INTERFACEREQUESTTYPEENUM.定时更新) continue;
let reqRes; let reqRes;
switch(ThisConfig.reqType) { switch(ThisConfig.reqType) {
case "get": reqRes = await get(ThisConfig.url, ThisConfig.body, ThisConfig.header); break; case "get": reqRes = await get(ThisConfig.url, ThisConfig.body, ThisConfig.header); break;
...@@ -117,7 +117,7 @@ export async function initRealTime() { ...@@ -117,7 +117,7 @@ export async function initRealTime() {
export async function getInterfaceByInterfaceName(name) { export async function getInterfaceByInterfaceName(name) {
const ThisConfig = Config[name]; const ThisConfig = Config[name];
let data:any; let data:any;
if (ThisConfig.type == INTERFACErEQUESTTYPEENUM.即时更新) { if (ThisConfig.type == INTERFACEREQUESTTYPEENUM.即时更新) {
let reqRes; let reqRes;
switch(ThisConfig.reqType) { switch(ThisConfig.reqType) {
case "get": reqRes = await get(ThisConfig.url, ThisConfig.body, ThisConfig.header); break; case "get": reqRes = await get(ThisConfig.url, ThisConfig.body, ThisConfig.header); break;
......
import { initInterfaceData } from "./data/interface/cronJob"; import { initInterfaceData } from "./data/interface/cronJob";
var os = require("os")
import { httpServer } from "./net/http_server"; import { httpServer } from "./net/http_server";
import { initConfig, port } from "./config/serverConfig"; import { initConfig, port } from "./config/serverConfig";
async function lanuch() { async function lanuch() {
test(); // test();
// return
await initConfig(); await initConfig();
// initInterfaceData(); // initInterfaceData();
httpServer.createServer( port ); httpServer.createServer( port );
...@@ -13,6 +15,8 @@ async function lanuch() { ...@@ -13,6 +15,8 @@ async function lanuch() {
} }
function test() { function test() {
console.log(os.platform());
console.log(os.networkInterfaces());
} }
lanuch(); lanuch();
export async function checkToken(req, res, next) {
next();
}
\ No newline at end of file
export async function encryptionReturn(req, res, next) {
res.on('end', function(){
console.log(res.body);
});
let resSend = res.send;
res.send = (obj)=>{
changeNumber(obj);
//递归修改number型
resSend.call(res, obj);
};
next();
}
function changeNumber(obj) {
if (Array.isArray(obj)) {
for (let i = 0; i < obj.length; i++) {
let arrItem = obj[i];
if (typeof arrItem == "number") {
obj[i] = getSameLenNumber(arrItem);
}
else if (typeof arrItem == "object") {
changeNumber(arrItem);
}
}
}
else {
for (let key in obj) {
let objItem = obj[key];
if (typeof objItem == "number") {
if (key == "x" || key == "y") continue;
obj[key] = getSameLenNumber(objItem);
}
else if (typeof objItem == "object") {
changeNumber(objItem);
}
}
}
}
function getSameLenNumber(num) {
let numStr = String(num);
//疑似年份的不做加密
if (numStr.length == 4 && (numStr.indexOf("19") == 0 || numStr.indexOf("20") == 0)) return num;
let str = "";
for (let i = 0; i < numStr.length; i++) {
if (numStr[i] == '.') str += numStr[i];
else str += "6";
}
return Number(str);
}
\ No newline at end of file
export function httpErrorHandler(err, req, res, next) {
console.log("in httpErrorHandler");
console.log(err);
//todo 自定义错误编码
if (err) {
if (err.message == "您的登录已失效" ) {
res.success({success:false, msg:err.message, code:501});
next();
}
else if (err.message == "您的账户没有访问权限") {
res.success({success:false, msg:"非常抱歉,您没有权限,请联系工作人员!", code:502});
next();
} else if ( err.message == "token已过期") {
res.success({success:false, msg:"token失效", code:503});
next();
}
else {
res.success({success:false, msg:err.message, code:500});
next();
}
}
}
\ No newline at end of file
import { BizError } from "../util/bizError";
const LRU = require("lru-cache")
, cacheOptions = { max: 500000
, maxAge: 1000 * 60 * 10 }
, cache = LRU(cacheOptions);
export async function checkSign(req, res, next) {
let signKey = "12345678asd!@#%DFFGa";
let userId = req.headers.userid;
let playerId = req.headers.playerid;
let token = req.headers.token;
let timeStamp = req.headers.timestamp;
let platform = req.headers.platform;
if (req.path != '/api/system/servertime' && req.path.indexOf('admin') < 0 && req.headers.sign != 'xxakdfwosaddf!@3sadfhDAse') {
let now = Date.now();
if (Math.abs(now - timeStamp) > 120000) {
console.log(req.path, new Date(now), "timeStamp", timeStamp);
return next(new BizError('timeStamp error time difference error'))
}
let sign = getSign([signKey, userId, playerId, token, timeStamp, platform, req.path, signKey]);
let cacheSign = cache.get(sign);
if (cacheSign) {
if (cacheSign > 5) return next(new BizError("sign error repetitive sign"));
else {
cacheSign++;
cache.set(sign,cacheSign);
}
}
else {
cache.set(sign,1);
}
if (sign != req.headers.sign) {
console.log(req.path, JSON.stringify(req.headers));
next(new BizError("sign error"))
}
}
next();
}
function getSign(...params) {
let s = "";
for (let i = 0; i < params.length; i++) {
if (!params[i]) continue;
s += params[i];
}
return new m().hex_md5(s);
}
export class m {
public constructor() {
}
private hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
private b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
/*
* These are the privates you'll usually want to call
* They take string arguments and return either hex or base-64 encoded strings
*/
public hex_md5(s) { return this.rstr2hex(this.rstr_md5(this.str2rstr_utf8(s))); }//这个函数就行了,
public b64_md5(s) { return this.rstr2b64(this.rstr_md5(this.str2rstr_utf8(s))); }
public any_md5(s,e) { return this.rstr2any(this.rstr_md5(this.str2rstr_utf8(s)),e); }
public hex_hmac_md5(k,d)
{ return this.rstr2hex(this.rstr_hmac_md5(this.str2rstr_utf8(k),this.str2rstr_utf8(d))); }
private b64_hmac_md5(k,d)
{ return this.rstr2b64(this.rstr_hmac_md5(this.str2rstr_utf8(k),this.str2rstr_utf8(d))); }
private any_hmac_md5(k,d,e)
{ return this.rstr2any(this.rstr_hmac_md5(this.str2rstr_utf8(k),this.str2rstr_utf8(d)),e); }
/*
* Perform a simple self-test to see if the VM is working
*/
public md5_vm_test() {
return this.hex_md5("abc").toLowerCase() == "900150983cd24fb0d6963f7d28e17f72";
}
/*
* Calculate the MD5 of a raw string
*/
public rstr_md5(s) {
return this.binl2rstr(this.binl_md5(this.rstr2binl(s),s.length * 8));
}
/*
* Calculate the HMAC-MD5, of a key and some data (raw strings)
*/
public rstr_hmac_md5(key,data) {
var bkey = this.rstr2binl(key);
if(bkey.length > 16) bkey = this.binl_md5(bkey,key.length * 8);
var ipad = Array(16),opad = Array(16);
for(var i = 0;i < 16;i++) {
ipad[i] = bkey[i] ^ 0x36363636;
opad[i] = bkey[i] ^ 0x5C5C5C5C;
}
var hash = this.binl_md5(ipad.concat(this.rstr2binl(data)),512 + data.length * 8);
return this.binl2rstr(this.binl_md5(opad.concat(hash),512 + 128));
}
/*
* Convert a raw string to a hex string
*/
public rstr2hex(input) {
try { this.hexcase } catch(e) { this.hexcase = 0; }
var hex_tab = this.hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var output = "";
var x;
for(var i = 0;i < input.length;i++) {
x = input.charCodeAt(i);
output += hex_tab.charAt((x >>> 4) & 0x0F)
+ hex_tab.charAt(x & 0x0F);
}
return output;
}
/*
* Convert a raw string to a base-64 string
*/
public rstr2b64(input) {
try { this.b64pad } catch(e) { this.b64pad = ''; }
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var output = "";
var len = input.length;
for(var i = 0;i < len;i += 3) {
var triplet = (input.charCodeAt(i) << 16)
| (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0)
| (i + 2 < len ? input.charCodeAt(i + 2) : 0);
for(var j = 0;j < 4;j++) {
if(i * 8 + j * 6 > input.length * 8) output += this.b64pad;
else output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F);
}
}
return output;
}
/*
* Convert a raw string to an arbitrary string encoding
*/
public rstr2any(input,encoding) {
var divisor = encoding.length;
var i,j,q,x,quotient;
/* Convert to an array of 16-bit big-endian values, forming the dividend */
var dividend = Array(Math.ceil(input.length / 2));
for(i = 0;i < dividend.length;i++) {
dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);
}
/*
* Repeatedly perform a long division. The binary array forms the dividend,
* the length of the encoding is the divisor. Once computed, the quotient
* forms the dividend for the next step. All remainders are stored for later
* use.
*/
var full_length = Math.ceil(input.length * 8 /
(Math.log(encoding.length) / Math.log(2)));
var remainders = Array(full_length);
for(j = 0;j < full_length;j++) {
quotient = Array();
x = 0;
for(i = 0;i < dividend.length;i++) {
x = (x << 16) + dividend[i];
q = Math.floor(x / divisor);
x -= q * divisor;
if(quotient.length > 0 || q > 0)
quotient[quotient.length] = q;
}
remainders[j] = x;
dividend = quotient;
}
/* Convert the remainders to the output string */
var output = "";
for(i = remainders.length - 1;i >= 0;i--)
output += encoding.charAt(remainders[i]);
return output;
}
/*
* Encode a string as utf-8.
* For efficiency, this assumes the input is valid utf-16.
*/
public str2rstr_utf8(input) {
var output = "";
var i = -1;
var x,y;
while(++i < input.length) {
/* Decode utf-16 surrogate pairs */
x = input.charCodeAt(i);
y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0;
if(0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {
x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);
i++;
}
/* Encode output as utf-8 */
if(x <= 0x7F)
output += String.fromCharCode(x);
else if(x <= 0x7FF)
output += String.fromCharCode(0xC0 | ((x >>> 6) & 0x1F),
0x80 | (x & 0x3F));
else if(x <= 0xFFFF)
output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),
0x80 | ((x >>> 6) & 0x3F),
0x80 | (x & 0x3F));
else if(x <= 0x1FFFFF)
output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),
0x80 | ((x >>> 12) & 0x3F),
0x80 | ((x >>> 6) & 0x3F),
0x80 | (x & 0x3F));
}
return output;
}
/*
* Encode a string as utf-16
*/
public str2rstr_utf16le(input) {
var output = "";
for(var i = 0;i < input.length;i++)
output += String.fromCharCode(input.charCodeAt(i) & 0xFF,
(input.charCodeAt(i) >>> 8) & 0xFF);
return output;
}
public str2rstr_utf16be(input) {
var output = "";
for(var i = 0;i < input.length;i++)
output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF,
input.charCodeAt(i) & 0xFF);
return output;
}
/*
* Convert a raw string to an array of little-endian words
* Characters >255 have their high-byte silently ignored.
*/
public rstr2binl(input) {
var output = Array(input.length >> 2);
for(var i = 0;i < output.length;i++)
output[i] = 0;
for(var i = 0;i < input.length * 8;i += 8)
output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32);
return output;
}
/*
* Convert an array of little-endian words to a string
*/
public binl2rstr(input) {
var output = "";
for(var i = 0;i < input.length * 32;i += 8)
output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);
return output;
}
/*
* Calculate the MD5 of an array of little-endian words, and a bit length.
*/
public binl_md5(x,len) {
/* append padding */
x[len >> 5] |= 0x80 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for(var i = 0;i < x.length;i += 16) {
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = this.md5_ff(a,b,c,d,x[i + 0],7,-680876936);
d = this.md5_ff(d,a,b,c,x[i + 1],12,-389564586);
c = this.md5_ff(c,d,a,b,x[i + 2],17,606105819);
b = this.md5_ff(b,c,d,a,x[i + 3],22,-1044525330);
a = this.md5_ff(a,b,c,d,x[i + 4],7,-176418897);
d = this.md5_ff(d,a,b,c,x[i + 5],12,1200080426);
c = this.md5_ff(c,d,a,b,x[i + 6],17,-1473231341);
b = this.md5_ff(b,c,d,a,x[i + 7],22,-45705983);
a = this.md5_ff(a,b,c,d,x[i + 8],7,1770035416);
d = this.md5_ff(d,a,b,c,x[i + 9],12,-1958414417);
c = this.md5_ff(c,d,a,b,x[i + 10],17,-42063);
b = this.md5_ff(b,c,d,a,x[i + 11],22,-1990404162);
a = this.md5_ff(a,b,c,d,x[i + 12],7,1804603682);
d = this.md5_ff(d,a,b,c,x[i + 13],12,-40341101);
c = this.md5_ff(c,d,a,b,x[i + 14],17,-1502002290);
b = this.md5_ff(b,c,d,a,x[i + 15],22,1236535329);
a = this.md5_gg(a,b,c,d,x[i + 1],5,-165796510);
d = this.md5_gg(d,a,b,c,x[i + 6],9,-1069501632);
c = this.md5_gg(c,d,a,b,x[i + 11],14,643717713);
b = this.md5_gg(b,c,d,a,x[i + 0],20,-373897302);
a = this.md5_gg(a,b,c,d,x[i + 5],5,-701558691);
d = this.md5_gg(d,a,b,c,x[i + 10],9,38016083);
c = this.md5_gg(c,d,a,b,x[i + 15],14,-660478335);
b = this.md5_gg(b,c,d,a,x[i + 4],20,-405537848);
a = this.md5_gg(a,b,c,d,x[i + 9],5,568446438);
d = this.md5_gg(d,a,b,c,x[i + 14],9,-1019803690);
c = this.md5_gg(c,d,a,b,x[i + 3],14,-187363961);
b = this.md5_gg(b,c,d,a,x[i + 8],20,1163531501);
a = this.md5_gg(a,b,c,d,x[i + 13],5,-1444681467);
d = this.md5_gg(d,a,b,c,x[i + 2],9,-51403784);
c = this.md5_gg(c,d,a,b,x[i + 7],14,1735328473);
b = this.md5_gg(b,c,d,a,x[i + 12],20,-1926607734);
a = this.md5_hh(a,b,c,d,x[i + 5],4,-378558);
d = this.md5_hh(d,a,b,c,x[i + 8],11,-2022574463);
c = this.md5_hh(c,d,a,b,x[i + 11],16,1839030562);
b = this.md5_hh(b,c,d,a,x[i + 14],23,-35309556);
a = this.md5_hh(a,b,c,d,x[i + 1],4,-1530992060);
d = this.md5_hh(d,a,b,c,x[i + 4],11,1272893353);
c = this.md5_hh(c,d,a,b,x[i + 7],16,-155497632);
b = this.md5_hh(b,c,d,a,x[i + 10],23,-1094730640);
a = this.md5_hh(a,b,c,d,x[i + 13],4,681279174);
d = this.md5_hh(d,a,b,c,x[i + 0],11,-358537222);
c = this.md5_hh(c,d,a,b,x[i + 3],16,-722521979);
b = this.md5_hh(b,c,d,a,x[i + 6],23,76029189);
a = this.md5_hh(a,b,c,d,x[i + 9],4,-640364487);
d = this.md5_hh(d,a,b,c,x[i + 12],11,-421815835);
c = this.md5_hh(c,d,a,b,x[i + 15],16,530742520);
b = this.md5_hh(b,c,d,a,x[i + 2],23,-995338651);
a = this.md5_ii(a,b,c,d,x[i + 0],6,-198630844);
d = this.md5_ii(d,a,b,c,x[i + 7],10,1126891415);
c = this.md5_ii(c,d,a,b,x[i + 14],15,-1416354905);
b = this.md5_ii(b,c,d,a,x[i + 5],21,-57434055);
a = this.md5_ii(a,b,c,d,x[i + 12],6,1700485571);
d = this.md5_ii(d,a,b,c,x[i + 3],10,-1894986606);
c = this.md5_ii(c,d,a,b,x[i + 10],15,-1051523);
b = this.md5_ii(b,c,d,a,x[i + 1],21,-2054922799);
a = this.md5_ii(a,b,c,d,x[i + 8],6,1873313359);
d = this.md5_ii(d,a,b,c,x[i + 15],10,-30611744);
c = this.md5_ii(c,d,a,b,x[i + 6],15,-1560198380);
b = this.md5_ii(b,c,d,a,x[i + 13],21,1309151649);
a = this.md5_ii(a,b,c,d,x[i + 4],6,-145523070);
d = this.md5_ii(d,a,b,c,x[i + 11],10,-1120210379);
c = this.md5_ii(c,d,a,b,x[i + 2],15,718787259);
b = this.md5_ii(b,c,d,a,x[i + 9],21,-343485551);
a = this.safe_add(a,olda);
b = this.safe_add(b,oldb);
c = this.safe_add(c,oldc);
d = this.safe_add(d,oldd);
}
return [a,b,c,d];
}
/*
* These privates implement the four basic operations the algorithm uses.
*/
public md5_cmn(q,a,b,x,s,t) {
return this.safe_add(this.bit_rol(this.safe_add(this.safe_add(a,q),this.safe_add(x,t)),s),b);
}
public md5_ff(a,b,c,d,x,s,t) {
return this.md5_cmn((b & c) | ((~b) & d),a,b,x,s,t);
}
public md5_gg(a,b,c,d,x,s,t) {
return this.md5_cmn((b & d) | (c & (~d)),a,b,x,s,t);
}
public md5_hh(a,b,c,d,x,s,t) {
return this.md5_cmn(b ^ c ^ d,a,b,x,s,t);
}
public md5_ii(a,b,c,d,x,s,t) {
return this.md5_cmn(c ^ (b | (~d)),a,b,x,s,t);
}
/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
public safe_add(x,y) {
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
/*
* Bitwise rotate a 32-bit number to the left.
*/
public bit_rol(num,cnt) {
return (num << cnt) | (num >>> (32 - cnt));
}
}
export function watch(req, res, next) {
res.success = success.bind({res:res, req:req});
return next();
}
function success(data) {
let resultPack;
if (data ) {
if ( data.success === undefined || data.success === true ) {
resultPack = {data, success:true, code:200};
}
else {
resultPack = data;
}
}else {
resultPack = {code:500, success:false, msg:'result is null'};
}
this.res.send(resultPack);
}
import express = require('express'); import express = require('express');
import bodyParser = require('body-parser'); import bodyParser = require('body-parser');
import sign = require('../middleware/sign');
import routers = require('../routers/router'); import routers = require('../routers/router');
import compression = require('compression'); import compression = require('compression');
import * as fallback from 'express-history-api-fallback'; import * as fallback from 'express-history-api-fallback';
import * as path from "path"; import * as path from "path";
import { watch } from '../middleware/watch';
import { httpErrorHandler } from '../middleware/httpErrorHandler';
export class httpServer { export class httpServer {
...@@ -26,11 +27,13 @@ export class httpServer { ...@@ -26,11 +27,13 @@ export class httpServer {
} }
}); });
httpServer.use(express.static('public') );
httpServer.use(bodyParser.json({limit:"10kb"})); httpServer.use(bodyParser.json({limit:"10kb"}));
httpServer.use(compression()) httpServer.use(compression())
httpServer.use(watch);
routers.setRouter(httpServer); routers.setRouter(httpServer);
httpServer.use(httpErrorHandler);
const root = path.join(__dirname, "../../public/") const root = path.join(__dirname, "../../public/")
httpServer.use(express.static(root)) httpServer.use(express.static(root))
......
...@@ -14,35 +14,13 @@ import * as dqfxjdBiz from '../biz/dqfxjd'; ...@@ -14,35 +14,13 @@ import * as dqfxjdBiz from '../biz/dqfxjd';
import * as gcaqztBiz from '../biz/gcaqzt'; import * as gcaqztBiz from '../biz/gcaqzt';
export function setRouter(httpServer){ export function setRouter(httpServer){
//======post
httpServer.post('/jhjd', asyncHandler(jhjdBiz.getData));
httpServer.post('/xxjd', asyncHandler(xxjdBiz.getData));
httpServer.post('/lcbjdwcqk', asyncHandler(lcbjdwcqkBiz.getData));
httpServer.post('/zmxfxfb', asyncHandler(zmxfxfbBiz.getData));
httpServer.post('/dqfxjd', asyncHandler(dqfxjdBiz.getData));
httpServer.post('/gcaqzt', asyncHandler(gcaqztBiz.getData));
//======get
httpServer.get('/jhjd', asyncHandler(jhjdBiz.getData)); httpServer.get('/jhjd', asyncHandler(jhjdBiz.getData));
httpServer.get('/xxjd', asyncHandler(xxjdBiz.getData)); httpServer.get('/xxjd', asyncHandler(xxjdBiz.getData));
httpServer.get('/lcbjdwcqk', asyncHandler(lcbjdwcqkBiz.getData)); httpServer.get('/lcbjdwcqk', asyncHandler(lcbjdwcqkBiz.getData));
httpServer.get('/zmxfxfb', asyncHandler(zmxfxfbBiz.getData)); httpServer.get('/zmxfxfb', asyncHandler(zmxfxfbBiz.getData));
httpServer.get('/dqfxjd', asyncHandler(dqfxjdBiz.getData)); httpServer.get('/dqfxjd', asyncHandler(dqfxjdBiz.getData));
httpServer.get('/gcaqzt', asyncHandler(gcaqztBiz.getData)); httpServer.get('/gcaqzt', asyncHandler(gcaqztBiz.getData));
httpServer.get('/aaa', asyncHandler(jhjdBiz.getJHJD));
} }
\ No newline at end of file
import { getBizMsg, getSysMsg } from "../config/errorEnum";
import { logError } from "./log";
export class BizError extends Error { export class BizError extends Error {
constructor(...msgs) {
let reqErrorMsg = '';
let logErrorMsg = '';
for (let i = 0; i <msgs.length; i++) {
if (!i) {
let msg = getBizMsg(msgs[i]);
reqErrorMsg = msg;
logErrorMsg = msg;
} else {
logErrorMsg += ` | ${msgs[i]} `;
}
}
logError(logErrorMsg);
super(reqErrorMsg);
}
}
export class SysError extends Error {
constructor(...msgs) {
let reqErrorMsg = '';
let logErrorMsg = '';
for (let i = 0; i <msgs.length; i++) {
if (!i) {
let msg= getSysMsg(msgs[i]);
reqErrorMsg = msg;
logErrorMsg = msg;
} else {
if (typeof msgs[i] == 'object') logErrorMsg += ` | ${JSON.stringify(msgs[i])} `;
else logErrorMsg += ` | ${msgs[i]} `;
}
}
logError(logErrorMsg);
super(reqErrorMsg);
}
} }
\ No newline at end of file
let log4js = require('log4js');
let path = require('path');
//log路径
export const systemLogPath = {
errorLogFile:"error",
errorLogDir:"error",
handleLogFile:"handle",
handleLogDir:"handle"
}
//日志根目录
let baseLogPath = path.resolve(__dirname.substring(0, __dirname.indexOf("out")), 'logs');
// let baseLogPath = path.resolve('./', '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}`);
}
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