Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
motorCity
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
node_server
motorCity
Commits
447d9d67
Commit
447d9d67
authored
Aug 16, 2022
by
孙香冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
12de9cd4
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
154 additions
and
104 deletions
+154
-104
serverConfig.xml
serverConfig.xml
+12
-18
data.ts
src/biz/jgfwnl/data.ts
+23
-43
serverConfig.ts
src/config/serverConfig.ts
+11
-1
mapInterfaceData.ts
src/data/interface/mapInterfaceData.ts
+38
-0
wsData.ts
src/data/interface/wsData.ts
+0
-37
main.ts
src/main.ts
+3
-5
log.ts
src/util/log.ts
+67
-0
No files found.
serverConfig.xml
View file @
447d9d67
...
...
@@ -4,25 +4,19 @@
<ipPort>
http://10.51.50.136:8090/sql/execute
</ipPort>
</rightView>
<leftView>
<cloudResource>
http://localhost:8080/api/static/PrivateCloudUsageStatics
</cloudResource>
<physicalResource>
http://localhost:8080/api/v1/PrivateCloudCurrentUsages
</physicalResource>
<cloudResource>
http://10.51.50.140:8080/api/static/PrivateCloudUsageStatics
</cloudResource>
<physicalResource>
http://10.51.50.140:8080/api/v1/PrivateCloudCurrentUsages
</physicalResource>
</leftView>
<mapView>
<mapPort>
http://10.51.48.213/nlink/v2/getAllDevicesInfo?prjid=0255e1f7515348cc87c7bb2cc6341fer
</mapPort>
<online>
3
</online>
<broken>
3
</broken>
<token>
09a98bc555474e058ef90b6cc6e23638
</token>
<mapPort>
http://10.51.48.213/nlink/v2/getAllDevicesInfo?prjid=0255e1f7515348cc87c7bb2cc6341fer
</mapPort>
<online>
3
</online>
<broken>
3
</broken>
<token>
09a98bc555474e058ef90b6cc6e23638
</token>
</mapView>
<systemLogPath>
<errorLogFile>
error
</errorLogFile>
<errorLogDir>
error
</errorLogDir>
<handleLogFile>
handle
</handleLogFile>
<handleLogDir>
handle
</handleLogDir>
</systemLogPath>
</config>
src/biz/jgfwnl/data.ts
View file @
447d9d67
...
...
@@ -2,21 +2,22 @@ import { getChartOutData, getKeyValueNumberOutData, getListOutData } from "../..
import
{
separateDataAndUint
}
from
"../../cal/privateTools"
;
import
{
getHardware
}
from
"../../data/interface/hardwareData"
;
import
{
getCsgkBasicData
,
getEnterpriseTest
,
getTestAnalysis
,
getTestLicense
,
getTestTotalTime
}
from
"../../data/interface/interfaceService"
;
import
{
getMap
}
from
"../../data/interface/mapInterfaceData"
;
//云资源
export
async
function
getYZY
(
req
,
res
)
{
let
ret
:
any
=
{};
let
{
计算云资源
,
使用率
,
物理资源
}
=
await
getHardware
();
//
let {计算云资源, 使用率, 物理资源} = await getHardware();
let
计算云资源
data
=
{
"cpu"
:
"3568核"
,
"内存"
:
"4000G"
,
"本地磁盘"
:
"1999G"
,
"云磁盘总量"
:
"848484G"
};
let
计算云资源
=
{
"cpu"
:
"3568核"
,
"内存"
:
"4000G"
,
"本地磁盘"
:
"1999G"
,
"云磁盘总量"
:
"848484G"
};
ret
[
"api1"
]
=
getKeyValueNumberOutData
(
"计算云资源"
,
计算云资源
);
let
计算云资源使用率
data
=
{
"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
物理资源
data
=
{
"物理机"
:
"100台"
,
"网络设备"
:
"34台"
,
"安全设备"
:
"4台"
,
"机柜"
:
"16台"
};
let
物理资源
=
{
"物理机"
:
"100台"
,
"网络设备"
:
"34台"
,
"安全设备"
:
"4台"
,
"机柜"
:
"16台"
};
ret
[
"api3"
]
=
getKeyValueNumberOutData
(
"物理资源"
,
物理资源
);
res
.
send
(
ret
);
...
...
@@ -44,7 +45,6 @@ export async function getCSGK(req, res) {
}
let
基础数据
Info
=
[];
基础数据
.
forEach
(
info
=>
{
let
{
key
,
value
,
icon
}
=
info
;
let
{
dataNum
,
dataUnit
}
=
separateDataAndUint
(
value
);
...
...
@@ -218,65 +218,44 @@ export async function mapData(req, res) {
//地图数据结构
let
ret
:
any
=
{};
let
基础数据
data
=
{
"摄像头"
:
"57"
,
"OBU"
:
"68"
,
"激光雷达"
:
"48"
,
"RSU"
:
"76"
,
"SIBOX"
:
"89"
};
let
mapInfoData
=
await
getMap
();
let
{
cameraData
,
lidarData
,
millimeterWaveRadarData
,
RSUData
,
SIBOXData
}
=
mapInfoData
;
let
基础数据
data
=
{
"摄像头"
:
cameraData
.
length
,
"激光雷达"
:
lidarData
.
length
,
"毫米波雷达"
:
millimeterWaveRadarData
.
length
,
"RSU"
:
RSUData
.
length
,
"SIBOX"
:
SIBOXData
.
length
};
ret
[
"base"
]
=
getKeyValueNumberOutData
(
"计算云资源"
,
基础数据
data
);
ret
[
"map"
]
=
[
{
name
:
"camera"
,
value
:
[
{
lng
:
121.611986
,
lat
:
31.177747
,
state
:
1
,
}
]
value
:
cameraData
},
{
name
:
"lidar"
,
value
:
[
{
lng
:
121.612492
,
lat
:
31.178296
,
state
:
0
,
}
]
value
:
lidarData
},
{
name
:
"waveRadar"
,
value
:
[
{
lng
:
121.612766
,
lat
:
31.177573
,
state
:
0
,
}
]
value
:
millimeterWaveRadarData
},
{
name
:
"RSU"
,
value
:[
{
lng
:
121.611057
,
lat
:
31.176785
,
state
:
0
,
}
]
value
:
RSUData
},
{
name
:
"SIBOX"
,
value
:[
{
lng
:
121.61072
,
lat
:
31.177508
,
state
:
0
,
}
]
value
:
SIBOXData
}
]
ret
[
"mapCenter"
]
=
{
lng
:
121.
6122399
,
lat
:
31.177585
};
ret
[
"mapCenter"
]
=
{
lng
:
121.
183574
,
lat
:
31.291126
};
ret
[
"zoom"
]
=
{
key
:
"缩放比例"
,
value
:
20
};
ret
[
"zoom"
]
=
{
key
:
"缩放比例"
,
value
:
14
};
res
.
send
(
ret
);
}
\ No newline at end of file
src/config/serverConfig.ts
View file @
447d9d67
...
...
@@ -3,7 +3,7 @@ import * as fs from "fs";
import
{
BizError
}
from
"../util/bizError"
;
import
{
analysisXml
}
from
"../util/myXML"
;
export
let
port
=
Number
(
process
.
env
.
PORT
)
||
Number
(
process
.
argv
[
3
])
||
3000
2
;
//如果xml里面没有配置 就会使用到这里的端口
export
let
port
=
Number
(
process
.
env
.
PORT
)
||
Number
(
process
.
argv
[
3
])
||
3000
1
;
//如果xml里面没有配置 就会使用到这里的端口
export
let
cloudResource
=
"http://10.51.50.140:8080/api/static/PrivateCloudUsageStatics"
;
export
let
physicalResource
=
"http://10.51.50.140:8080/api/v1/PrivateCloudCurrentUsages"
;
export
let
mapPort
=
"http://10.51.48.213/nlink/v2/getAllDevicesInfo?prjid=0255e1f7515348cc87c7bb2cc6341fer&online=3&broken=3&token=09a98bc555474e058ef90b6cc6e23638"
;
...
...
@@ -14,6 +14,11 @@ 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
{
...
...
@@ -35,6 +40,11 @@ export async function initConfig() {
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"
);
...
...
src/data/interface/mapInterfaceData.ts
0 → 100644
View file @
447d9d67
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"
);
let
cameraData
=
[];
let
lidarData
=
[];
let
millimeterWaveRadarData
=
[];
let
RSUData
=
[];
let
SIBOXData
=
[];
data
.
forEach
(
info
=>
{
let
devType
=
info
.
devType
||
0
;
let
latitude
=
info
.
latitude
||
0
;
let
longitude
=
info
.
longitude
||
0
;
let
devname
=
info
.
devname
||
0
;
let
online
=
info
.
online
?
0
:
1
;
switch
(
devType
)
{
case
"摄像机"
:
cameraData
.
push
({
lat
:
latitude
,
lng
:
longitude
,
devname
,
state
:
online
});
break
;
case
"激光雷达"
:
lidarData
.
push
({
lat
:
latitude
,
lng
:
longitude
,
devname
,
state
:
online
});
break
;
case
"毫米波雷达"
:
millimeterWaveRadarData
.
push
({
lat
:
latitude
,
lng
:
longitude
,
devname
,
state
:
online
});
break
;
case
"RSU"
:
RSUData
.
push
({
lat
:
latitude
,
lng
:
longitude
,
devname
,
state
:
online
});
break
;
case
"信号机"
:
SIBOXData
.
push
({
lat
:
latitude
,
lng
:
longitude
,
devname
,
state
:
online
});
break
;
}
})
return
{
cameraData
,
lidarData
,
millimeterWaveRadarData
,
RSUData
,
SIBOXData
};
}
\ No newline at end of file
src/data/interface/wsData.ts
View file @
447d9d67
import
*
as
WebSocket
from
"ws"
import
{
get
}
from
"../../util/request"
;
//在线车辆
let
vehicleList
:
any
=
[];
...
...
@@ -131,38 +130,3 @@ export function stats(data) {
*/
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"
);
let
cameraData
=
[];
let
lidarData
=
[];
let
millimeterWaveRadarData
=
[];
let
RSUData
=
[];
let
SIBOXData
=
[];
data
.
forEach
(
info
=>
{
let
devType
=
info
.
devType
;
let
lat
=
info
.
latitude
;
let
lng
=
info
.
longitude
;
let
devname
=
info
.
devname
;
switch
(
devType
)
{
case
"摄像头"
:
cameraData
.
push
({
lat
,
lng
,
devname
});
break
;
case
"激光雷达"
:
lidarData
.
push
({
lat
,
lng
,
devname
});
break
;
case
"毫米波雷达"
:
millimeterWaveRadarData
.
push
({
lat
,
lng
,
devname
});
break
;
case
"RSU"
:
RSUData
.
push
({
lat
,
lng
,
devname
});
break
;
case
"SIBOX"
:
SIBOXData
.
push
({
lat
,
lng
,
devname
});
break
;
}
})
console
.
log
();
}
\ No newline at end of file
src/main.ts
View file @
447d9d67
...
...
@@ -2,17 +2,15 @@
import
{
initConfig
,
port
}
from
"./config/serverConfig"
;
import
{
getHardware
}
from
"./data/interface/hardwareData"
;
import
{
getTestLicense
,
getCsgkDayData
,
initData
}
from
"./data/interface/interfaceService"
;
import
{
getMap
,
initWSData
}
from
"./data/interface/wsData"
;
import
{
getMap
}
from
"./data/interface/mapInterfaceData"
;
import
{
initWSData
}
from
"./data/interface/wsData"
;
import
{
httpServer
}
from
"./net/http_server"
;
async
function
lanuch
()
{
// await initConfig();
httpServer
.
createServer
(
port
);
//
await initData();
await
initData
();
console
.
log
(
'This indicates that the server is started successfully.'
);
// await getCsgkDayData();
// await getTestLicense();
await
getMap
();
console
.
log
(
"初始化成功"
);
}
...
...
src/util/log.ts
0 → 100644
View file @
447d9d67
import
{
errorLogDir
,
errorLogFile
,
handleLogDir
,
handleLogFile
}
from
"../config/serverConfig"
;
let
log4js
=
require
(
'log4js'
);
let
path
=
require
(
'path'
);
//日志根目录
let
baseLogPath
=
path
.
resolve
(
__dirname
.
substring
(
0
,
__dirname
.
indexOf
(
"out"
)),
'logs'
);
let
errFile
=
path
.
resolve
(
baseLogPath
,
errorLogDir
,
errorLogFile
);
let
handFile
=
path
.
resolve
(
baseLogPath
,
handleLogDir
,
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"
:
`/
${
errorLogDir
}
`
},
"handleLogger"
:
{
"type"
:
"dateFile"
,
"filename"
:
handFile
,
"pattern"
:
"-yyyy-MM-dd.log"
,
"alwaysIncludePattern"
:
true
,
"encoding"
:
"utf-8"
,
"maxLogSize"
:
1000
,
"numBackups"
:
3
,
"path"
:
`/
${
handleLogDir
}
`
}
},
categories
:
{
"default"
:
{
"appenders"
:
[
"rule-console"
],
"level"
:
"all"
},
//这个配置一定要有
"errorLogger"
:
{
"appenders"
:
[
"errorLogger"
],
"level"
:
"error"
},
"handleLogger"
:
{
"appenders"
:
[
"handleLogger"
],
"level"
:
"all"
}
},
"baseLogPath"
:
path
.
resolve
(
baseLogPath
,
handleLogDir
,
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
}
`
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment