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
120c000c
Commit
120c000c
authored
Aug 15, 2022
by
lixinming
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://123.207.147.179:8888/node_server/motorCity
parents
adf42db4
3ece0f4a
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
351 additions
and
44 deletions
+351
-44
AutoX.png
images/img/新建文件夹/AutoX.png
+0
-0
上汽大众.png
images/img/新建文件夹/上汽大众.png
+0
-0
上汽大通汽车有限公司.png
images/img/新建文件夹/上汽大通汽车有限公司.png
+0
-0
上汽通用.png
images/img/新建文件夹/上汽通用.png
+0
-0
上海依行机器人科技有限公司.png
images/img/新建文件夹/上海依行机器人科技有限公司.png
+0
-0
中智行.png
images/img/新建文件夹/中智行.png
+0
-0
中车时代电动.png
images/img/新建文件夹/中车时代电动.png
+0
-0
丰田.png
images/img/新建文件夹/丰田.png
+0
-0
仙途.png
images/img/新建文件夹/仙途.png
+0
-0
华为.png
images/img/新建文件夹/华为.png
+0
-0
商汤.png
images/img/新建文件夹/商汤.png
+0
-0
宝马.png
images/img/新建文件夹/宝马.png
+0
-0
深兰.png
images/img/新建文件夹/深兰.png
+0
-0
滴滴.png
images/img/新建文件夹/滴滴.png
+0
-0
百度.png
images/img/新建文件夹/百度.png
+0
-0
通用中国.png
images/img/新建文件夹/通用中国.png
+0
-0
阿利昂斯.png
images/img/新建文件夹/阿利昂斯.png
+0
-0
data.ts
src/biz/jgfwnl/data.ts
+46
-22
hardwareData.ts
src/data/interface/hardwareData.ts
+48
-17
interfaceService.ts
src/data/interface/interfaceService.ts
+246
-3
wsData.ts
src/data/interface/wsData.ts
+2
-1
main.ts
src/main.ts
+9
-1
No files found.
images/img/AutoX.png
→
images/img/
新建文件夹/
AutoX.png
View file @
120c000c
File moved
images/img/上汽大众.png
→
images/img/
新建文件夹/
上汽大众.png
View file @
120c000c
File moved
images/img/
上汽大通
.png
→
images/img/
新建文件夹/上汽大通汽车有限公司
.png
View file @
120c000c
File moved
images/img/上汽通用.png
→
images/img/
新建文件夹/
上汽通用.png
View file @
120c000c
File moved
images/img/
依行科技
.png
→
images/img/
新建文件夹/上海依行机器人科技有限公司
.png
View file @
120c000c
File moved
images/img/中智行.png
→
images/img/
新建文件夹/
中智行.png
View file @
120c000c
File moved
images/img/
中车
.png
→
images/img/
新建文件夹/中车时代电动
.png
View file @
120c000c
File moved
images/img/丰田.png
→
images/img/
新建文件夹/
丰田.png
View file @
120c000c
File moved
images/img/
仙途智能
.png
→
images/img/
新建文件夹/仙途
.png
View file @
120c000c
File moved
images/img/华为.png
→
images/img/
新建文件夹/
华为.png
View file @
120c000c
File moved
images/img/商汤.png
→
images/img/
新建文件夹/
商汤.png
View file @
120c000c
File moved
images/img/宝马.png
→
images/img/
新建文件夹/
宝马.png
View file @
120c000c
File moved
images/img/深兰.png
→
images/img/
新建文件夹/
深兰.png
View file @
120c000c
File moved
images/img/滴滴.png
→
images/img/
新建文件夹/
滴滴.png
View file @
120c000c
File moved
images/img/百度.png
→
images/img/
新建文件夹/
百度.png
View file @
120c000c
File moved
images/img/通用中国.png
→
images/img/
新建文件夹/
通用中国.png
View file @
120c000c
File moved
images/img/阿利昂斯.png
→
images/img/
新建文件夹/
阿利昂斯.png
View file @
120c000c
File moved
src/biz/jgfwnl/data.ts
View file @
120c000c
import
{
getChartOutData
,
getKeyValueNumberOutData
,
getListOutData
}
from
"../../cal/out"
;
import
{
getChartOutData
,
getKeyValueNumberOutData
,
getListOutData
}
from
"../../cal/out"
;
import
{
separateDataAndUint
}
from
"../../cal/privateTools"
;
import
{
separateDataAndUint
}
from
"../../cal/privateTools"
;
import
{
getHardware
}
from
"../../data/interface/hardwareData"
;
import
{
getCsgkBasicData
,
getEnterpriseTest
,
getTestAnalysis
,
getTestLicense
,
getTestTotalTime
}
from
"../../data/interface/interfaceService"
;
//云资源
//云资源
export
async
function
getYZY
(
req
,
res
)
{
export
async
function
getYZY
(
req
,
res
)
{
let
ret
:
any
=
{};
let
ret
:
any
=
{};
let
{
计算云资源
,
使用率
,
物理资源
}
=
await
getHardware
();
let
计算云资源
data
=
{
"cpu"
:
"3568核"
,
"内存"
:
"4000G"
,
"本地磁盘"
:
"1999G"
,
"云磁盘总量"
:
"848484G"
};
let
计算云资源
data
=
{
"cpu"
:
"3568核"
,
"内存"
:
"4000G"
,
"本地磁盘"
:
"1999G"
,
"云磁盘总量"
:
"848484G"
};
ret
[
"api1"
]
=
getKeyValueNumberOutData
(
"计算云资源"
,
计算云资源
data
);
ret
[
"api1"
]
=
getKeyValueNumberOutData
(
"计算云资源"
,
计算云资源
);
let
计算云资源使用率
data
=
{
"CPU"
:
"63.9%"
,
"内存"
:
"30.4%"
,
"本地磁盘"
:
"29.6%"
,
"云磁盘cds ssd池"
:
"23%"
,
"云磁盘cds sata池"
:
"73%"
,
"对象存储"
:
"73.83%"
};
let
计算云资源使用率
data
=
{
"CPU"
:
"63.9%"
,
"内存"
:
"30.4%"
,
"本地磁盘"
:
"29.6%"
,
"云磁盘cds ssd池"
:
"23%"
,
"云磁盘cds sata池"
:
"73%"
,
"对象存储"
:
"73.83%"
};
ret
[
"api2"
]
=
getKeyValueNumberOutData
(
"计算云资源使用率"
,
计算云资源使用率
data
);
ret
[
"api2"
]
=
getKeyValueNumberOutData
(
"计算云资源使用率"
,
使用率
);
let
物理资源
data
=
{
"物理机"
:
"100台"
,
"网络设备"
:
"34台"
,
"安全设备"
:
"4台"
,
"机柜"
:
"16台"
};
let
物理资源
data
=
{
"物理机"
:
"100台"
,
"网络设备"
:
"34台"
,
"安全设备"
:
"4台"
,
"机柜"
:
"16台"
};
ret
[
"api3"
]
=
getKeyValueNumberOutData
(
"物理资源"
,
物理资源
data
);
ret
[
"api3"
]
=
getKeyValueNumberOutData
(
"物理资源"
,
物理资源
);
res
.
send
(
ret
);
res
.
send
(
ret
);
}
}
...
@@ -31,9 +35,17 @@ export async function getCSGK(req, res) {
...
@@ -31,9 +35,17 @@ export async function getCSGK(req, res) {
{
key
:
"功能测试总时长"
,
value
:
"5635h"
,
icon
:
"http://192.168.0.117:30001/csgk/6.png"
},
{
key
:
"功能测试总时长"
,
value
:
"5635h"
,
icon
:
"http://192.168.0.117:30001/csgk/6.png"
},
];
];
let
测试概况基础数据
=
await
getCsgkBasicData
();
let
基础数据
=
[];
for
(
let
key
in
测试概况基础数据
)
{
let
index
=
1
;
基础数据
.
push
({
key
,
value
:
测试概况基础数据
[
key
],
icon
:
`http://192.168.0.117:30001/csgk/
${
index
}
.png`
});
index
++
;
}
let
基础数据
Info
=
[];
let
基础数据
Info
=
[];
基础数据
data
.
forEach
(
info
=>
{
基础数据
.
forEach
(
info
=>
{
let
{
key
,
value
,
icon
}
=
info
;
let
{
key
,
value
,
icon
}
=
info
;
let
{
dataNum
,
dataUnit
}
=
separateDataAndUint
(
value
);
let
{
dataNum
,
dataUnit
}
=
separateDataAndUint
(
value
);
基础数据
Info
.
push
({
key
,
value
:
dataNum
,
icon
,
unit
:
dataUnit
});
基础数据
Info
.
push
({
key
,
value
:
dataNum
,
icon
,
unit
:
dataUnit
});
...
@@ -50,20 +62,21 @@ export async function getCSGK(req, res) {
...
@@ -50,20 +62,21 @@ export async function getCSGK(req, res) {
let
今日功能测试
data
=
{
"里程"
:
"1478km"
,
"时长"
:
"421.3h"
};
let
今日功能测试
data
=
{
"里程"
:
"1478km"
,
"时长"
:
"421.3h"
};
ret
[
"api4"
]
=
getKeyValueNumberOutData
(
"今日功能测试"
,
今日功能测试
data
);
ret
[
"api4"
]
=
getKeyValueNumberOutData
(
"今日功能测试"
,
今日功能测试
data
);
let
测试牌照分布
data
=
{
"http://192.168.0.117:30001/img/AutoX.png"
:
"61辆"
,
"http://192.168.0.117:30001/img/阿利昂斯.png"
:
"45辆"
,
// let 测试牌照分布data = {"http://192.168.0.117:30001/img/AutoX.png":"61辆", "http://192.168.0.117:30001/img/阿利昂斯.png":"45辆",
"http://192.168.0.117:30001/img/百度.png"
:
"31辆"
,
"http://192.168.0.117:30001/img/宝马.png"
:
"47辆"
,
// "http://192.168.0.117:30001/img/百度.png":"31辆", "http://192.168.0.117:30001/img/宝马.png":"47辆",
"http://192.168.0.117:30001/img/初速度.png"
:
"65辆"
,
"http://192.168.0.117:30001/img/滴滴.png"
:
"71辆"
,
// "http://192.168.0.117:30001/img/初速度.png":"65辆", "http://192.168.0.117:30001/img/滴滴.png":"71辆",
"http://192.168.0.117:30001/img/丰田.png"
:
"18辆"
,
"http://192.168.0.117:30001/img/华为.png"
:
"23辆"
,
// "http://192.168.0.117:30001/img/丰田.png":"18辆", "http://192.168.0.117:30001/img/华为.png":"23辆",
"http://192.168.0.117:30001/img/吉利汽车.png"
:
"33辆"
,
"http://192.168.0.117:30001/img/商汤.png"
:
"16辆"
,
// "http://192.168.0.117:30001/img/吉利汽车.png":"33辆", "http://192.168.0.117:30001/img/商汤.png":"16辆",
"http://192.168.0.117:30001/img/上汽大通.png"
:
"22辆"
,
"http://192.168.0.117:30001/img/上汽大众.png"
:
"69辆"
,
// "http://192.168.0.117:30001/img/上汽大通.png":"22辆", "http://192.168.0.117:30001/img/上汽大众.png":"69辆",
"http://192.168.0.117:30001/img/上汽红岩.png"
:
"11辆"
,
"http://192.168.0.117:30001/img/上汽赛可.png"
:
"36辆"
,
// "http://192.168.0.117:30001/img/上汽红岩.png":"11辆", "http://192.168.0.117:30001/img/上汽赛可.png":"36辆",
"http://192.168.0.117:30001/img/上汽通用.png"
:
"16辆"
,
"http://192.168.0.117:30001/img/上汽通用车.png"
:
"73辆"
,
// "http://192.168.0.117:30001/img/上汽通用.png":"16辆", "http://192.168.0.117:30001/img/上汽通用车.png":"73辆",
"http://192.168.0.117:30001/img/深兰.png"
:
"51辆"
,
"http://192.168.0.117:30001/img/通用中国.png"
:
"56辆"
,
// "http://192.168.0.117:30001/img/深兰.png":"51辆", "http://192.168.0.117:30001/img/通用中国.png":"56辆",
"http://192.168.0.117:30001/img/图森未来.png"
:
"33辆"
,
"http://192.168.0.117:30001/img/蔚来.png"
:
"67辆"
,
// "http://192.168.0.117:30001/img/图森未来.png":"33辆", "http://192.168.0.117:30001/img/蔚来.png":"67辆",
"http://192.168.0.117:30001/img/仙途智能.png"
:
"19辆"
,
"http://192.168.0.117:30001/img/小马智行.png"
:
"46辆"
,
// "http://192.168.0.117:30001/img/仙途智能.png":"19辆", "http://192.168.0.117:30001/img/小马智行.png":"46辆",
"http://192.168.0.117:30001/img/依行科技.png"
:
"30辆"
,
"http://192.168.0.117:30001/img/中车.png"
:
"71辆"
,
// "http://192.168.0.117:30001/img/依行科技.png":"30辆", "http://192.168.0.117:30001/img/中车.png":"71辆",
"http://192.168.0.117:30001/img/中智行.png"
:
"21辆"
};
// "http://192.168.0.117:30001/img/中智行.png":"21辆"};
let
测试牌照分布
data
=
await
getTestLicense
();
ret
[
"api5"
]
=
getKeyValueNumberOutData
(
"测试牌照分布"
,
测试牌照分布
data
);
ret
[
"api5"
]
=
getKeyValueNumberOutData
(
"测试牌照分布"
,
测试牌照分布
data
);
let
路侧监控视频
data
=
{
"src"
:
"http://10.51.50.53:8278/live/13060200882000000001@31011402601318800184@34020000001320000001.m3u8?vhost=bduv0utmss4c3nzidjn.a.e-web.com.cn"
,
"type"
:
'application/x-mpegURL'
};
let
路侧监控视频
data
=
{
"src"
:
"http://10.51.50.53:8278/live/13060200882000000001@31011402601318800184@34020000001320000001.m3u8?vhost=bduv0utmss4c3nzidjn.a.e-web.com.cn"
,
"type"
:
'application/x-mpegURL'
};
...
@@ -90,7 +103,9 @@ export async function getCSFX(req, res) {
...
@@ -90,7 +103,9 @@ export async function getCSFX(req, res) {
{
key
:
"2021.11"
,
value
:
"310km"
},
{
key
:
"2021.12"
,
value
:
"870km"
},
{
key
:
"2022.1"
,
value
:
"860km"
},
{
key
:
"2022.2"
,
value
:
"980km"
},
{
key
:
"2022.3"
,
value
:
"103km"
},
{
key
:
"2021.11"
,
value
:
"310km"
},
{
key
:
"2021.12"
,
value
:
"870km"
},
{
key
:
"2022.1"
,
value
:
"860km"
},
{
key
:
"2022.2"
,
value
:
"980km"
},
{
key
:
"2022.3"
,
value
:
"103km"
},
{
key
:
"2022.4"
,
value
:
"650km"
},
{
key
:
"2022.5"
,
value
:
"560km"
},
{
key
:
"2022.6"
,
value
:
"130km"
},
{
key
:
"2022.7"
,
value
:
"606km"
},
{
key
:
"2022.8"
,
value
:
"171km"
}
{
key
:
"2022.4"
,
value
:
"650km"
},
{
key
:
"2022.5"
,
value
:
"560km"
},
{
key
:
"2022.6"
,
value
:
"130km"
},
{
key
:
"2022.7"
,
value
:
"606km"
},
{
key
:
"2022.8"
,
value
:
"171km"
}
];
];
let
月度测试里程分布
data
=
{
测试
:
{
unit
:
'km'
,
dataInfo
:
月度测试里程分布测试
data
},
功能测试
:
{
unit
:
'km'
,
dataInfo
:
月度测试里程分布功能测试
data
}};
let
{
testMileage
,
functionTestMileage
}
=
await
getTestAnalysis
();
let
月度测试里程分布
data
=
{
测试
:
{
unit
:
'km'
,
dataInfo
:
testMileage
},
功能测试
:
{
unit
:
'km'
,
dataInfo
:
functionTestMileage
}};
ret
[
"api1"
]
=
getChartOutData
(
"月度测试里程分布"
,
月度测试里程分布
data
);
ret
[
"api1"
]
=
getChartOutData
(
"月度测试里程分布"
,
月度测试里程分布
data
);
...
@@ -108,7 +123,12 @@ export async function getCSFX(req, res) {
...
@@ -108,7 +123,12 @@ export async function getCSFX(req, res) {
{
key
:
"2021.11"
,
value
:
"310h"
},
{
key
:
"2021.12"
,
value
:
"870h"
},
{
key
:
"2022.1"
,
value
:
"860h"
},
{
key
:
"2022.2"
,
value
:
"980h"
},
{
key
:
"2022.3"
,
value
:
"103h"
},
{
key
:
"2021.11"
,
value
:
"310h"
},
{
key
:
"2021.12"
,
value
:
"870h"
},
{
key
:
"2022.1"
,
value
:
"860h"
},
{
key
:
"2022.2"
,
value
:
"980h"
},
{
key
:
"2022.3"
,
value
:
"103h"
},
{
key
:
"2022.4"
,
value
:
"650h"
},
{
key
:
"2022.5"
,
value
:
"560h"
},
{
key
:
"2022.6"
,
value
:
"130h"
},
{
key
:
"2022.7"
,
value
:
"606h"
},
{
key
:
"2022.8"
,
value
:
"171h"
}
{
key
:
"2022.4"
,
value
:
"650h"
},
{
key
:
"2022.5"
,
value
:
"560h"
},
{
key
:
"2022.6"
,
value
:
"130h"
},
{
key
:
"2022.7"
,
value
:
"606h"
},
{
key
:
"2022.8"
,
value
:
"171h"
}
];
];
let
月度测试时长分布
data
=
{
测试
:
{
unit
:
'h'
,
dataInfo
:
月度测试时长分布测试
data
},
功能测试
:
{
unit
:
'h'
,
dataInfo
:
月度测试时长分布功能测试
data
}};
let
{
月度测试时长
data
,
企业测试时长
data
}
=
await
getTestTotalTime
();
let
{
testTime
,
functionTestTime
}
=
月度测试时长
data
;
let
月度测试时长分布
data
=
{
测试
:
{
unit
:
'h'
,
dataInfo
:
testTime
},
功能测试
:
{
unit
:
'h'
,
dataInfo
:
functionTestTime
}};
ret
[
"api2"
]
=
getChartOutData
(
"月度测试时长分布"
,
月度测试时长分布
data
);
ret
[
"api2"
]
=
getChartOutData
(
"月度测试时长分布"
,
月度测试时长分布
data
);
...
@@ -122,7 +142,9 @@ export async function getCSFX(req, res) {
...
@@ -122,7 +142,9 @@ export async function getCSFX(req, res) {
{
key
:
"AutoX"
,
value
:
"33km"
},
{
key
:
"小马易车"
,
value
:
"26km"
},
{
key
:
"上汽红岩"
,
value
:
"47km"
},
{
key
:
"阿利昂斯"
,
value
:
"27km"
},
{
key
:
"宝马"
,
value
:
"70km"
},
{
key
:
"AutoX"
,
value
:
"33km"
},
{
key
:
"小马易车"
,
value
:
"26km"
},
{
key
:
"上汽红岩"
,
value
:
"47km"
},
{
key
:
"阿利昂斯"
,
value
:
"27km"
},
{
key
:
"宝马"
,
value
:
"70km"
},
{
key
:
"吉利汽车"
,
value
:
"75km"
},
{
key
:
"上汽通用"
,
value
:
"67km"
},
{
key
:
"图森未来"
,
value
:
"72km"
}
{
key
:
"吉利汽车"
,
value
:
"75km"
},
{
key
:
"上汽通用"
,
value
:
"67km"
},
{
key
:
"图森未来"
,
value
:
"72km"
}
];
];
let
企业测试里程分布
data
=
{
测试
:
{
unit
:
'km'
,
dataInfo
:
企业测试里程测试分布
data
},
功能测试
:
{
unit
:
'km'
,
dataInfo
:
企业测试里程功能测试分布
data
}};
let
{
testMileageEnterprise
,
functionTestMileageEnterprise
}
=
await
getEnterpriseTest
();
let
企业测试里程分布
data
=
{
测试
:
{
unit
:
'km'
,
dataInfo
:
testMileageEnterprise
},
功能测试
:
{
unit
:
'km'
,
dataInfo
:
functionTestMileageEnterprise
}};
ret
[
"api3"
]
=
getChartOutData
(
"企业测试里程分布"
,
企业测试里程分布
data
);
ret
[
"api3"
]
=
getChartOutData
(
"企业测试里程分布"
,
企业测试里程分布
data
);
...
@@ -136,7 +158,9 @@ export async function getCSFX(req, res) {
...
@@ -136,7 +158,9 @@ export async function getCSFX(req, res) {
{
key
:
"AutoX"
,
value
:
"63h"
},
{
key
:
"小马易车"
,
value
:
"26h"
},
{
key
:
"上汽红岩"
,
value
:
"47h"
},
{
key
:
"阿利昂斯"
,
value
:
"27km"
},
{
key
:
"宝马"
,
value
:
"70km"
},
{
key
:
"AutoX"
,
value
:
"63h"
},
{
key
:
"小马易车"
,
value
:
"26h"
},
{
key
:
"上汽红岩"
,
value
:
"47h"
},
{
key
:
"阿利昂斯"
,
value
:
"27km"
},
{
key
:
"宝马"
,
value
:
"70km"
},
{
key
:
"吉利汽车"
,
value
:
"75km"
},
{
key
:
"上汽通用"
,
value
:
"67km"
},
{
key
:
"图森未来"
,
value
:
"72km"
}
{
key
:
"吉利汽车"
,
value
:
"75km"
},
{
key
:
"上汽通用"
,
value
:
"67km"
},
{
key
:
"图森未来"
,
value
:
"72km"
}
];
];
let
企业测试时长分布
data
=
{
测试
:
{
unit
:
'h'
,
dataInfo
:
企业测试时长测试分布
data
},
功能测试
:
{
unit
:
'h'
,
dataInfo
:
企业测试时长功能测试分布
data
}};
let
{
testTimeEnterprise
,
functionTestTimeEnterprise
}
=
企业测试时长
data
;
let
企业测试时长分布
data
=
{
测试
:
{
unit
:
'h'
,
dataInfo
:
testTimeEnterprise
},
功能测试
:
{
unit
:
'h'
,
dataInfo
:
functionTestTimeEnterprise
}};
ret
[
"api4"
]
=
getChartOutData
(
"企业测试时长分布"
,
企业测试时长分布
data
);
ret
[
"api4"
]
=
getChartOutData
(
"企业测试时长分布"
,
企业测试时长分布
data
);
let
企业脱离自动驾驶比率
data
:
any
=
[
let
企业脱离自动驾驶比率
data
:
any
=
[
...
...
src/data/interface/hardwareData.ts
View file @
120c000c
...
@@ -5,9 +5,12 @@ import { get } from "../../util/request";
...
@@ -5,9 +5,12 @@ import { get } from "../../util/request";
export
async
function
getHardware
()
{
export
async
function
getHardware
()
{
let
url
=
"http://10.51.50.140:8080/api/static/PrivateCloudUsageStatics"
;
let
url
=
"http://10.51.50.140:8080/api/static/PrivateCloudUsageStatics"
;
let
result
:
any
=
await
get
(
url
,
{},
{});
// let result:any = await get(url, {}, {});
let
计算云资源
;
let
物理资源
;
let
使用率
;
result
=
{
let
云资源
result
=
{
"content"
:[
"content"
:[
{
{
"id"
:
1
,
"id"
:
1
,
...
@@ -15,10 +18,10 @@ export async function getHardware() {
...
@@ -15,10 +18,10 @@ export async function getHardware() {
"mem"
:
"24430 GB"
,
"mem"
:
"24430 GB"
,
"localDisk"
:
"17707 GB"
,
"localDisk"
:
"17707 GB"
,
"cloudDisk"
:
"214368 GB"
,
"cloudDisk"
:
"214368 GB"
,
"server"
:
"100"
,
"server"
:
"100"
,
//物理机
"network"
:
"34"
,
"network"
:
"34"
,
//网络设备
"security"
:
"4"
,
"security"
:
"4"
,
//安全设备
"rack"
:
"16"
"rack"
:
"16"
//机柜
}
}
],
],
"pageable"
:{
"pageable"
:{
...
@@ -47,22 +50,50 @@ export async function getHardware() {
...
@@ -47,22 +50,50 @@ export async function getHardware() {
"first"
:
true
,
"first"
:
true
,
"empty"
:
false
"empty"
:
false
};
};
console
.
log
(
result
);
if
(
result
.
content
&&
result
.
content
[
0
])
{
if
(
云资源
result
.
content
&&
云资源
result
.
content
[
0
])
{
let
contentInfo
=
result
.
content
[
0
];
let
contentInfo
=
云资源
result
.
content
[
0
];
let
计算云资源
=
{
let
{
id
,
cpu
,
mem
,
localDisk
,
cloudDisk
,
network
,
rack
,
security
,
server
}
=
contentInfo
;
"cpu"
:
""
,
计算云资源
=
{
"内存"
:
""
,
"cpu"
:
cpu
,
"本地磁盘"
:
""
,
"内存"
:
mem
,
"云磁盘总量"
:
""
"本地磁盘"
:
localDisk
,
"云磁盘总量"
:
cloudDisk
};
};
let
使用率
=
{
"cpu"
:
""
,
物理资源
=
{
"物理机"
:
server
,
"网络设备"
:
network
,
"安全设备"
:
security
,
"机柜"
:
rack
};
};
}
}
console
.
log
();
let
使用率
result
=
{
"id"
:
30
,
"collectDate"
:
"2022072710"
,
"ssdUsed"
:
"24%"
,
"sataUsed"
:
"74%"
,
"bosUsed"
:
"73.83%"
,
"localDiskUsed"
:
"30.00%"
,
"memoryUsed"
:
"31.00%"
,
"vcpuUsed"
:
"65.00%"
,
"hosts"
:
"40"
,
"runningBcc"
:
"251"
,
"errorDiskNum"
:
"3"
}
if
(
使用率
result
)
{
使用率
=
{
"cpu"
:
使用率
result
.
vcpuUsed
,
"内存"
:
使用率
result
.
memoryUsed
,
"本地磁盘"
:
使用率
result
.
localDiskUsed
,
"云磁盘cds ssd池"
:
使用率
result
.
ssdUsed
,
"云磁盘cds sata池"
:
使用率
result
.
sataUsed
,
"对象存储"
:
使用率
result
.
bosUsed
};
}
return
{
计算云资源
,
使用率
,
物理资源
};
}
}
src/data/interface/interfaceService.ts
View file @
120c000c
...
@@ -3,9 +3,12 @@ import { get } from "../../util/request";
...
@@ -3,9 +3,12 @@ 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"}
// {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:"功能测试里程"}]
let
月里程数据
:
any
=
[];
//格式 [{key:"日期 格式是 2021.1", count:"测试里程", autoCount:"功能测试里程"}]
let
企业日里程数据
=
{};
//格式 {"企业名称":{count:"测试里程", autoCount:"功能测试里程"} }
let
企业日里程数据
=
{};
//格式 {"企业名称":{count:"测试里程", autoCount:"功能测试里程"} }
let
总测试时长
;
let
企业时长数据
;
let
月时长数据
;
let
lastMonths
=
""
;
let
lastMonths
=
""
;
//数据库源数据接口
//
月度测试
数据库源数据接口
export
async
function
getTestAnalysis
()
{
export
async
function
getTestAnalysis
()
{
//在月里程数据集合中 从后往前拿20个月份的数据,动态的拿本月的数据 拼接好返回 不要改变源数据
//在月里程数据集合中 从后往前拿20个月份的数据,动态的拿本月的数据 拼接好返回 不要改变源数据
let
monthMileage
=
[];
let
monthMileage
=
[];
...
@@ -43,9 +46,248 @@ export async function getTestAnalysis() {
...
@@ -43,9 +46,248 @@ export async function getTestAnalysis() {
})
})
}
}
return
{
testMileage
,
functionTestMileage
}
return
{
testMileage
,
functionTestMileage
}
;
}
}
//企业测试数据库源数据接口
export
async
function
getEnterpriseTest
()
{
let
testMileageEnterprise
=
[];
let
functionTestMileageEnterprise
=
[];
for
(
let
key
in
企业日里程数据
)
{
let
企业日里程数据
data
=
企业日里程数据
[
key
];
let
{
count
,
autoCount
}
=
企业日里程数据
data
;
testMileageEnterprise
.
push
({
key
,
value
:
count
});
functionTestMileageEnterprise
.
push
({
key
,
value
:
autoCount
});
}
return
{
testMileageEnterprise
,
functionTestMileageEnterprise
};
}
//测试牌照分布
export
async
function
getTestLicense
()
{
let
index
=
18
;
let
测试牌照分布
;
let
测试牌照分布
data
=
{};
let
result
:
any
=
await
get
(
interfaceUrl
,
{
index
});
if
(
result
&&
result
.
success
)
{
测试牌照分布
=
result
.
result
[
0
].
result
;
}
else
{
//报错
console
.
log
();
测试牌照分布
=
[];
}
测试牌照分布
.
forEach
(
item
=>
{
let
{
enterprise
,
cnt
}
=
item
;
let
imgItem
=
`http://192.168.0.117:30001/img/
${
enterprise
}
.png`
;
测试牌照分布
data
[
imgItem
]
=
cnt
;
})
return
测试牌照分布
data
;
}
//企业脱离自动驾驶比率
/**
* autoMilegae 自动驾驶里程
* disengagement 脱离次数
*/
export
async
function
getDetachmentRatio
()
{
let
st
=
moment
().
format
(
"YYMM"
)
+
"01"
;
let
et
=
moment
().
format
(
"YYMM"
)
+
"31"
;
let
index
=
14
;
let
result
:
any
=
await
get
(
interfaceUrl
,
{
st
,
et
,
index
});
if
(
result
&&
result
.
success
)
{
result
=
result
.
result
;
}
else
{
//报错
console
.
log
();
result
=
[];
}
console
.
log
(
result
);
}
//初始化测试时长分布
export
async
function
getTestDurationDistribution
()
{
let
index
=
19
;
let
et
=
""
;
let
时长数据
:
any
=
await
get
(
interfaceUrl
,
{
index
,
et
});
if
(
时长数据
&&
时长数据
.
success
)
{
总测试时长
=
时长数据
.
result
[
0
].
result
;
//[{durationTotal: 测试时长, autoDurationTotal:测试总时长}]
企业时长数据
=
时长数据
.
result
[
1
].
result
;
//[{durationTotal: 测试时长, autoDurationTotal:测试总时长, time: 日期, enterprise: 企业}]
月时长数据
=
时长数据
.
result
[
2
].
result
;
//[{durationTotal: 测试时长, autoDurationTotal:测试总时长, time: 日期}]
}
else
{
//报错
console
.
log
();
企业时长数据
=
[];
月时长数据
=
[];
}
return
{
企业时长数据
,
月时长数据
};
}
//测试概况基础数据
export
async
function
getCsgkBasicData
()
{
await
getTestDurationDistribution
();
let
测试企业数
=
0
;
let
企业牌照数
=
0
;
let
测试总里程
=
0
;
let
测试总时长
=
0
;
let
功能测试总里程
=
0
;
let
功能测试总时长
=
0
;
let
index
=
18
;
let
测试牌照分布
result
:
any
=
await
get
(
interfaceUrl
,
{
index
});
let
测试牌照分布
;
if
(
测试牌照分布
result
&&
测试牌照分布
result
.
success
)
{
测试牌照分布
=
测试牌照分布
result
.
result
[
0
].
result
;
}
测试牌照分布
.
forEach
(
item
=>
{
企业牌照数
+=
item
.
cnt
;
})
总测试时长
.
forEach
(
item
=>
{
测试总时长
=
item
.
durationTotal
;
功能测试总时长
=
parseInt
(
item
.
autoDurationTotal
);
})
let
企业日里程
result
:
any
=
await
get
(
interfaceUrl
,
{
st
:
""
,
et
:
""
,
index
:
1
});
let
企业日里程
;
if
(
企业日里程
result
&&
企业日里程
result
.
success
)
{
企业日里程
=
企业日里程
result
.
result
[
0
].
result
;
}
企业日里程
.
forEach
(
item
=>
{
测试总里程
+=
parseInt
(
item
.
totalMileage
);
})
let
企业日驾驶里程
result
:
any
=
await
get
(
interfaceUrl
,
{
st
:
""
,
et
:
""
,
index
:
2
});
let
企业日驾驶里程
;
if
(
企业日驾驶里程
result
&&
企业日驾驶里程
result
.
success
)
{
企业日驾驶里程
=
企业日驾驶里程
result
.
result
[
0
].
result
;
}
企业日驾驶里程
.
forEach
(
item
=>
{
功能测试总里程
+=
parseInt
(
item
.
autoMileage
);
})
let
测试概况
data
=
{
"测试企业数"
:
测试牌照分布
.
length
+
"家"
,
"企业牌照数"
:
企业牌照数
+
"个"
,
"测试总里程"
:
测试总里程
+
"km"
,
"测试总时长"
:
测试总时长
+
"h"
,
"功能测试总里程"
:
功能测试总里程
+
"km"
,
"功能测试总时长"
:
功能测试总时长
+
"h"
};
return
测试概况
data
;
}
//测试概况今日数据
export
async
function
getCsgkDayData
()
{
let
今日数据
;
let
今日测试
;
let
今日功能测试
;
await
getTestDurationDistribution
();
let
whereTime
=
moment
().
format
(
"DD"
);
let
st
=
moment
().
format
(
"YYMM"
)
+
"01"
;
let
et
=
moment
().
format
(
"YYMMDD"
);
let
今日测试里程
list
=
await
getInterfaceData
(
""
,
""
,
1
);
let
测试里程
=
0
;
今日测试里程
list
.
forEach
(
info
=>
{
let
{
timeDay
,
enterprise
,
totalMileage
}
=
info
;
if
(
timeDay
==
whereTime
)
{
测试里程
+=
parseInt
(
totalMileage
);
}
});
let
今日功能测试里程
list
=
await
getInterfaceData
(
""
,
""
,
2
);
let
功能测试里程
=
0
;
今日功能测试里程
list
.
forEach
(
info
=>
{
let
{
timeDay
,
enterprise
,
autoMileage
}
=
info
;
if
(
timeDay
==
whereTime
)
{
功能测试里程
+=
parseInt
(
autoMileage
);
}
});
今日数据
=
{
"在线车辆数"
:
""
}
今日测试
=
{
"里程"
:
测试里程
,
"时长"
:
""
}
今日功能测试
=
{
"里程"
:
功能测试里程
,
"时长"
:
""
}
return
{
今日数据
,
今日测试
,
今日功能测试
};
}
//月度测试时长分布
export
async
function
getTestTotalTime
()
{
let
{
企业时长数据
,
月时长数据
}
=
await
getTestDurationDistribution
();
let
月度测试时长
data
;
let
企业测试时长
data
;
let
testTime
=
[];
//测试时长
let
functionTestTime
=
[];
//功能测试时长
let
testTimeEnterprise
=
[];
//企业测试时长
let
functionTestTimeEnterprise
=
[];
//企业功能测试时长
let
months
=
moment
().
format
(
'YYYY.MM'
);
let
times
=
moment
().
format
(
"YYMM"
);
let
testCount
=
0
;
let
functionCount
=
0
;
月时长数据
.
forEach
(
info
=>
{
let
{
time
,
durationTotal
,
autoDurationTotal
}
=
info
;
if
(
time
==
times
)
{
testCount
+=
parseInt
(
durationTotal
);
functionCount
+=
parseInt
(
autoDurationTotal
);
}
});
testTime
.
push
({
key
:
months
,
value
:
testCount
});
functionTestTime
.
push
({
key
:
months
,
value
:
functionCount
});
let
{
newDateArr
,
whereDateArr
}
=
getPreMonthDay
(
20
);
for
(
let
i
=
0
;
i
<
newDateArr
.
length
;
i
++
)
{
let
months
=
whereDateArr
[
i
];
let
newTime
=
newDateArr
[
i
];
月时长数据
.
forEach
(
item
=>
{
let
{
time
,
durationTotal
,
autoDurationTotal
}
=
item
;
if
(
months
==
time
)
{
testTime
.
push
({
key
:
newTime
,
value
:
durationTotal
});
functionTestTime
.
push
({
key
:
newTime
,
value
:
autoDurationTotal
});
}
})
}
let
testEnterpriseCount
=
0
;
let
functionTestEnterpriseCount
=
0
;
let
addTest
=
{};
let
addFunction
=
{};
企业时长数据
.
forEach
(
info
=>
{
let
{
time
,
durationTotal
,
autoDurationTotal
,
enterprise
}
=
info
;
testEnterpriseCount
+=
parseInt
(
durationTotal
);
addTest
[
enterprise
]
=
testEnterpriseCount
;
functionTestEnterpriseCount
+=
parseInt
(
autoDurationTotal
);
addFunction
[
enterprise
]
=
functionTestEnterpriseCount
;
})
for
(
let
key
in
addTest
)
{
testTimeEnterprise
.
push
({
key
,
value
:
addTest
[
key
]});
}
for
(
let
key
in
addFunction
)
{
functionTestTimeEnterprise
.
push
({
key
,
value
:
addFunction
[
key
]});
}
月度测试时长
data
=
{
testTime
,
functionTestTime
};
企业测试时长
data
=
{
testTimeEnterprise
,
functionTestTimeEnterprise
};
return
{
月度测试时长
data
,
企业测试时长
data
};
}
//initData 在main方法中调用
//initData 在main方法中调用
export
async
function
initData
()
{
export
async
function
initData
()
{
...
@@ -79,7 +321,6 @@ export async function initData() {
...
@@ -79,7 +321,6 @@ export async function initData() {
if
(
!
企业日里程数据
[
enterprise
])
企业日里程数据
[
enterprise
]
=
{
count
:
0
,
autoCount
:
0
};
if
(
!
企业日里程数据
[
enterprise
])
企业日里程数据
[
enterprise
]
=
{
count
:
0
,
autoCount
:
0
};
企业日里程数据
[
enterprise
].
autoCount
+=
parseInt
(
autoMileage
);
企业日里程数据
[
enterprise
].
autoCount
+=
parseInt
(
autoMileage
);
});
});
let
addItem
=
{
count
,
autoCount
:
testCount
,
key
};
let
addItem
=
{
count
,
autoCount
:
testCount
,
key
};
月里程数据
.
push
(
addItem
);
月里程数据
.
push
(
addItem
);
...
@@ -89,6 +330,7 @@ export async function initData() {
...
@@ -89,6 +330,7 @@ export async function initData() {
},
3600
*
2
*
1000
);
},
3600
*
2
*
1000
);
}
}
//获取本月之前的数据
//获取本月之前的数据
async
function
historyData
()
{
async
function
historyData
()
{
let
lastEt
=
""
;
let
lastEt
=
""
;
...
@@ -124,6 +366,7 @@ async function historyData() {
...
@@ -124,6 +366,7 @@ async function historyData() {
});
});
月里程数据
.
push
(
{
count
,
autoCount
:
testCount
,
key
}
);
月里程数据
.
push
(
{
count
,
autoCount
:
testCount
,
key
}
);
console
.
log
(
`完成
${
st
}
数据的初始化`
);
}
}
//查找21个月以外的数据
//查找21个月以外的数据
...
...
src/data/interface/wsData.ts
View file @
120c000c
...
@@ -95,7 +95,8 @@ export async function initWSData() {
...
@@ -95,7 +95,8 @@ export async function initWSData() {
let
vehicleQueue
=
{};
let
vehicleQueue
=
{};
//结构:{vehicleid:{auto:0, }}
function
stats
(
data
)
{
function
stats
(
data
)
{
}
}
...
...
src/main.ts
View file @
120c000c
import
{
initConfig
,
port
}
from
"./config/serverConfig"
;
import
{
initConfig
,
port
}
from
"./config/serverConfig"
;
import
{
getTestAnalysis
,
initData
}
from
"./data/interface/interfaceService"
;
import
{
getHardware
}
from
"./data/interface/hardwareData"
;
import
{
getTestLicense
,
getCsgkDayData
,
initData
}
from
"./data/interface/interfaceService"
;
import
{
initWSData
}
from
"./data/interface/wsData"
;
import
{
httpServer
}
from
"./net/http_server"
;
import
{
httpServer
}
from
"./net/http_server"
;
async
function
lanuch
()
{
async
function
lanuch
()
{
// await initConfig();
// await initConfig();
httpServer
.
createServer
(
port
);
httpServer
.
createServer
(
port
);
// await initData();
console
.
log
(
'This indicates that the server is started successfully.'
);
console
.
log
(
'This indicates that the server is started successfully.'
);
await
getCsgkDayData
();
// await getTestLicense();
console
.
log
(
"初始化成功"
);
}
}
lanuch
();
lanuch
();
\ No newline at end of file
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