Commit b663fdc7 by 孙香冬

no message

parent 447d9d67
......@@ -379,6 +379,11 @@
"assert-plus": "^1.0.0"
}
},
"date-format": {
"version": "4.0.13",
"resolved": "http://localhost:4873/date-format/-/date-format-4.0.13.tgz",
"integrity": "sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ=="
},
"debug": {
"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",
......@@ -534,6 +539,11 @@
"unpipe": "~1.0.0"
}
},
"flatted": {
"version": "3.2.6",
"resolved": "http://localhost:4873/flatted/-/flatted-3.2.6.tgz",
"integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ=="
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
......@@ -569,6 +579,16 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"fs-extra": {
"version": "8.1.0",
"resolved": "http://localhost:4873/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": {
"version": "0.1.7",
"resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
......@@ -577,6 +597,11 @@
"assert-plus": "^1.0.0"
}
},
"graceful-fs": {
"version": "4.2.10",
"resolved": "http://localhost:4873/graceful-fs/-/graceful-fs-4.2.10.tgz",
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
......@@ -708,6 +733,14 @@
"resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"jsonfile": {
"version": "4.0.0",
"resolved": "http://localhost:4873/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "^4.1.6"
}
},
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
......@@ -729,6 +762,33 @@
"resolved": "https://registry.npm.taobao.org/kitx/download/kitx-1.3.0.tgz",
"integrity": "sha1-qz7nxZjSsdYp/VVWj4aMREDCAOo="
},
"log4js": {
"version": "6.6.1",
"resolved": "http://localhost:4873/log4js/-/log4js-6.6.1.tgz",
"integrity": "sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A==",
"requires": {
"date-format": "^4.0.13",
"debug": "^4.3.4",
"flatted": "^3.2.6",
"rfdc": "^1.3.0",
"streamroller": "^3.1.2"
},
"dependencies": {
"debug": {
"version": "4.3.4",
"resolved": "http://localhost:4873/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "http://localhost:4873/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz",
......@@ -1079,6 +1139,11 @@
"resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-2.0.0.tgz",
"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
},
"rfdc": {
"version": "1.3.0",
"resolved": "http://localhost:4873/rfdc/-/rfdc-1.3.0.tgz",
"integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA=="
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
......@@ -1204,6 +1269,31 @@
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"streamroller": {
"version": "3.1.2",
"resolved": "http://localhost:4873/streamroller/-/streamroller-3.1.2.tgz",
"integrity": "sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A==",
"requires": {
"date-format": "^4.0.13",
"debug": "^4.3.4",
"fs-extra": "^8.1.0"
},
"dependencies": {
"debug": {
"version": "4.3.4",
"resolved": "http://localhost:4873/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "http://localhost:4873/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
......@@ -1261,6 +1351,11 @@
"mime-types": "~2.1.24"
}
},
"universalify": {
"version": "0.1.2",
"resolved": "http://localhost:4873/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
},
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
......
......@@ -11,6 +11,7 @@
"express-async-handler": "^1.1.4",
"express-history-api-fallback": "^2.2.1",
"formidable": "^1.2.1",
"log4js": "^6.6.1",
"lru-cache": "^4.1.5",
"md5": "^2.2.1",
"moment": "^2.24.0",
......
......@@ -13,10 +13,4 @@
<broken>3</broken>
<token>09a98bc555474e058ef90b6cc6e23638</token>
</mapView>
<systemLogPath>
<errorLogFile>error</errorLogFile>
<errorLogDir>error</errorLogDir>
<handleLogFile>handle</handleLogFile>
<handleLogDir>handle</handleLogDir>
</systemLogPath>
</config>
......@@ -9,15 +9,15 @@ import { getMap } from "../../data/interface/mapInterfaceData";
export async function getYZY(req, res) {
let ret:any = {};
// let {计算云资源, 使用率, 物理资源} = await getHardware();
let {计算云资源, 使用率, 物理资源} = await getHardware();
let 计算云资源 = {"cpu":"3568核", "内存":"4000G", "本地磁盘":"1999G", "云磁盘总量":"848484G"};
// let 计算云资源 = {"cpu":"3568核", "内存":"4000G", "本地磁盘":"1999G", "云磁盘总量":"848484G"};
ret["api1"] = getKeyValueNumberOutData("计算云资源", 计算云资源 );
let 使用率 = {"CPU":"63.9%", "内存":"30.4%", "本地磁盘":"29.6%", "云磁盘cds ssd池":"23%", "云磁盘cds sata池":"73%", "对象存储":"73.83%"};
// let 使用率 = {"CPU":"63.9%", "内存":"30.4%", "本地磁盘":"29.6%", "云磁盘cds ssd池":"23%", "云磁盘cds sata池":"73%", "对象存储":"73.83%"};
ret["api2"] = getKeyValueNumberOutData("计算云资源使用率", 使用率 );
let 物理资源 = {"物理机":"100台", "网络设备":"34台", "安全设备":"4台", "机柜":"16台"};
// let 物理资源 = {"物理机":"100台", "网络设备":"34台", "安全设备":"4台", "机柜":"16台"};
ret["api3"] = getKeyValueNumberOutData("物理资源", 物理资源 );
res.send(ret);
......
export enum ERRORENUM {
未找到数据 = "未找到数据",
}
let systemErrorMsgMap = {};
for (let key in ERRORENUM) {
systemErrorMsgMap[ERRORENUM[key]] = key;
}
export function getMsg(param) {
let errMsg = "";
let logMsg = "";
errMsg = systemErrorMsgMap[param];
logMsg = param;
return {errMsg, logMsg};
}
\ No newline at end of file
......@@ -11,14 +11,8 @@ export let mapPort = "http://10.51.48.213/nlink/v2/getAllDevicesInfo?prjid=0255e
export let dbConfig;
export let appConfig;
export let mongoServerConstVal;
export let systemLogPath;
export let mySqlConfig;
export let errorLogFile;
export let errorLogDir;
export let handleLogFile;
export let handleLogDir;
const ConfigName = "serverConfig.xml";
export async function initConfig() {
try {
......@@ -39,12 +33,6 @@ export async function initConfig() {
let broken = mapView.broken[0];
let token = mapView.token[0];
mapPort = mapView.mapPort[0] + "&online=" + online + "&broken=" + broken + "&token=" + token || mapPort;
let systemLogPath = config.systemLogPath[0];
errorLogFile = systemLogPath.errorLogFile[0];
errorLogDir = systemLogPath.errorLogFile[0];
handleLogFile = systemLogPath.errorLogFile[0];
handleLogDir = systemLogPath.errorLogFile[0];
}
console.log("config init success");
......
import { ERRORENUM } from "../../config/errorEnum";
import { cloudResource, physicalResource } from "../../config/serverConfig";
import { BizError } from "../../util/bizError";
import { get } from "../../util/request";
......@@ -6,6 +8,8 @@ import { get } from "../../util/request";
export async function getHardware() {
let 云资源result:any = await get(cloudResource);
let 使用率result:any = await get(physicalResource);
if (!云资源result) throw new BizError(ERRORENUM.未找到数据, "云资源");
if (!使用率result) throw new BizError(ERRORENUM.未找到数据, "使用率");
let 计算云资源;
let 物理资源;
......
import moment = require("moment")
import { ERRORENUM } from "../../config/errorEnum";
import { BizError } from "../../util/bizError";
import { get } from "../../util/request";
// {key:"2021.01", count:"31km", autoCount:"45km"}, {key:"2021.02", count:"42km", autoCount:"75km"}, {key:"2020.02", count:"42km", autoCount:"75km"}, {key:"2022.08", count:"42km", autoCount:"75km"}
let 月里程数据:any = [];//格式 [{key:"日期 格式是 2021.1", count:"测试里程", autoCount:"功能测试里程"}]
......@@ -19,6 +21,7 @@ export async function getTestAnalysis() {
let startTime = moment().format("YYMM") + "01";
let endTime = moment().format("YYMM") + "31";
let testList = await getInterfaceData(startTime, endTime, 1);
if(!testList) throw new BizError(ERRORENUM.未找到数据, "月度测试里程");
let testCount = 0;
testList.forEach(info => {
let {timeDay, enterprise, totalMileage} = info;
......@@ -26,6 +29,7 @@ export async function getTestAnalysis() {
});
let functionList = await getInterfaceData(startTime, endTime, 2);
if(!functionList) throw new BizError(ERRORENUM.未找到数据, "月度功能测试里程");
let functionCount = 0;
functionList.forEach(info => {
let {timeDay, enterprise, autoMileage} = info;
......@@ -191,6 +195,7 @@ export async function getCsgkDayData() {
let st = moment().format("YYMM") + "01";
let et = moment().format("YYMMDD");
let 今日测试里程list = await getInterfaceData("", "", 1);
if(!今日测试里程list) throw new BizError(ERRORENUM.未找到数据, "今日测试里程");
let 测试里程 = 0;
今日测试里程list.forEach(info => {
let {timeDay, enterprise, totalMileage} = info;
......@@ -200,6 +205,7 @@ export async function getCsgkDayData() {
});
let 今日功能测试里程list = await getInterfaceData("", "", 2);
if(!今日功能测试里程list) throw new BizError(ERRORENUM.未找到数据, "今日功能测试里程");
let 功能测试里程 = 0;
今日功能测试里程list.forEach(info => {
let {timeDay, enterprise, autoMileage} = info;
......@@ -301,6 +307,7 @@ export async function initData() {
let endTime = moment(months).format('YYMM') + '01';
//更新缓存
let list = await getInterfaceData(startTime, endTime, 1);
if(!list) throw new BizError(ERRORENUM.未找到数据, "月度测试里程缓存数据");
let count = 0;
list.forEach(info => {
......@@ -313,6 +320,7 @@ export async function initData() {
let testList = await getInterfaceData(startTime, endTime, 2);
if(!testList) throw new BizError(ERRORENUM.未找到数据, "月度功能测试里程缓存数据");
let testCount = 0;
testList.forEach(info => {
......
import { ERRORENUM } from "../../config/errorEnum";
import { BizError } from "../../util/bizError";
import { get } from "../../util/request";
export async function getMap() {
let data:any = await get("http://10.51.48.213/nlink/v2/getAllDevicesInfo?prjid=0255e1f7515348cc87c7bb2cc6341fer&online=3&broken=3&token=09a98bc555474e058ef90b6cc6e23638");
if(!data) throw new BizError(ERRORENUM.未找到数据, "地图数据");
let cameraData = [];
let lidarData = [];
let millimeterWaveRadarData = [];
......
import { initConfig, port } from "./config/serverConfig";
import { getHardware } from "./data/interface/hardwareData";
import { getTestLicense, getCsgkDayData, initData } from "./data/interface/interfaceService";
import { getTestLicense, getCsgkDayData, initData, getTestAnalysis } from "./data/interface/interfaceService";
import { getMap } from "./data/interface/mapInterfaceData";
import { initWSData } from "./data/interface/wsData";
import { httpServer } from "./net/http_server";
import { BizError } from "./util/bizError";
async function lanuch() {
// await initConfig();
httpServer.createServer(port);
await initData();
httpServer.createServer(port);
console.log('This indicates that the server is started successfully.');
console.log("初始化成功");
}
......
import { getMsg } from "../config/errorEnum";
import { logError } from "./log";
export class BizError extends Error {
constructor(...msgs) {
let reqErrorMsg = '';
let logErrorMsg = '';
for (let i = 0; i <msgs.length; i++) {
if (!i) {
let {logMsg, errMsg} = getMsg(msgs[i]);
reqErrorMsg = errMsg;
logErrorMsg = logMsg;
} else {
logErrorMsg += ` | ${msgs[i]} `;
}
}
logError(logErrorMsg);
super(reqErrorMsg);
}
}
\ No newline at end of file
import { errorLogDir, errorLogFile, handleLogDir, handleLogFile } from "../config/serverConfig";
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 errFile = path.resolve(baseLogPath, errorLogDir, errorLogFile);
let handFile =path.resolve(baseLogPath, handleLogDir, handleLogFile);
let errFile = path.resolve(baseLogPath, systemLogPath.errorLogDir, systemLogPath.errorLogFile);
let handFile =path.resolve(baseLogPath, systemLogPath.handleLogDir, systemLogPath.handleLogFile);
let config = {
appenders:
{
......@@ -18,7 +25,7 @@ let config = {
"encoding": "utf-8", // 编码格式
"maxLogSize": 1000, // 最大存储内容
"numBackups": 3, // 当文件内容超过文件存储空间时,备份文件的数量
"path": `/${errorLogDir}`
"path": `/${systemLogPath.errorLogDir}`
},
"handleLogger": {
"type": "dateFile",
......@@ -28,7 +35,7 @@ let config = {
"encoding": "utf-8",
"maxLogSize": 1000,
"numBackups": 3,
"path": `/${handleLogDir}`
"path": `/${systemLogPath.handleLogDir}`
}
},
......@@ -37,7 +44,7 @@ let config = {
"errorLogger": {"appenders": ["errorLogger"], "level": "error"},
"handleLogger": {"appenders": ["handleLogger"], "level": "all"}
},
"baseLogPath": path.resolve(baseLogPath, handleLogDir, handleLogFile)
"baseLogPath": path.resolve(baseLogPath, systemLogPath.handleLogDir, systemLogPath.handleLogFile)
};
log4js.configure(config); //加载配置文件
......
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