代码提交_10_25

This commit is contained in:
lixiaobang 2023-10-25 16:15:53 +08:00
parent 756443efc6
commit 246b730fd2
213 changed files with 62179 additions and 0 deletions

3
.browserslistrc Normal file
View File

@ -0,0 +1,3 @@
> 1%
last 2 versions
not ie <= 8

33
.gitignore vendored Normal file
View File

@ -0,0 +1,33 @@
node_modules
.DS_Store
.github
dist
.npmrc
node_modules/.cache
tests/server/static
tests/server/static/upload
public/united/StreamingAssets
public/united/Build
.local
# local env files
.env.local
.env.*.local
.eslintcache
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
*.zip

6
.prettierrc Normal file
View File

@ -0,0 +1,6 @@
{
"tabWidth": 4,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 140
}

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 hxhpg
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

5
babel.config.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/app'
]
}

12302
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

43
package.json Normal file
View File

@ -0,0 +1,43 @@
{
"name": "data-audit-hxh",
"version": "2.0.0",
"private": true,
"main": "webpack.config.js",
"scripts": {
"dev": "vue-cli-service serve --open",
"build": "vue-cli-service build"
},
"dependencies": {
"axios": "^0.18.1",
"babel-polyfill": "^6.26.0",
"echarts": "^4.9.0",
"element-ui": "^2.15.6",
"js-cookie": "^3.0.1",
"less": "^3.9.0",
"less-loader": "^4.1.0",
"mavon-editor": "^2.6.17",
"moment": "^2.29.4",
"mqtt": "^4.3.7",
"mxdraw": "^0.1.139",
"node-sass": "^5.0.0",
"os": "^0.1.2",
"qs": "^6.11.2",
"sass-loader": "^10.1.0",
"view-design": "^4.3.2",
"vue": "^2.6.10",
"vue-cropperjs": "^3.0.0",
"vue-i18n": "^8.10.0",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.0.3",
"vue-schart": "^2.0.0",
"vuedraggable": "^2.17.0",
"vuex": "^3.6.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.9.0",
"@vue/cli-service": "^3.9.0",
"css-loader": "^2.1.0",
"vue-resource": "^1.5.1",
"vue-template-compiler": "^2.6.12"
}
}

5
postcss.config.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
plugins: {
autoprefixer: {}
}
}

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1 @@
http://172.16.1.168:5000

View File

@ -0,0 +1,20 @@
{
"code": 200,
"msg": "成功",
"data": [{
"graphicId": "35fb0709596841e5b005fb1bc33a0fa4",
"graphicName": "测试区域",
"graphicType": "区域",
"coordinate": "218.6106 984.2285,453.5649 994.1006,267.9708 820.3528,218.6106 984.2285"
}, {
"graphicId": "957eb7cba61240f5a099ee6080bd29f0",
"graphicName": "测试路线2",
"graphicType": "轨迹",
"coordinate": "157.404 236.9287,179.1225 260.6216,192.9433 300.1097,202.8154 329.7258,214.6618 357.3675,222.5594 392.9068,236.3803 424.4973,258.0987 446.2157,289.6892 465.9598,317.3309 485.7039,350.8958 503.4735,382.4863 509.3967,420 517.2943,467.3858 521.2432,508.8483 525.192,556.234 525.192,599.671 525.192,631.2614 525.192,662.8519 513.3455,690.4936 499.5247,712.2121 477.8062,724.0585 444.2413,728.0073 412.6508,745.777 386.9836,775.3931 377.1115,806.9836 379.0859"
}, {
"graphicId": "7c24aa16e12840859164780d71827f5f",
"graphicName": "测试线2",
"graphicType": "断面",
"coordinate": "437.7697 642.6563,880.0366 737.4278"
}]
}

View File

@ -0,0 +1 @@
{"Keys":["com.unity.services.core.version"],"Values":[{"m_Value":"1.3.1","m_IsReadOnly":true}]}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 B

View File

@ -0,0 +1,16 @@
body { padding: 0; margin: 0 }
#unity-container { position: absolute }
#unity-container.unity-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) }
#unity-container.unity-mobile { width: 100%; height: 100% }
#unity-canvas { background: #231F20 }
.unity-mobile #unity-canvas { width: 100%; height: 100% }
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
#unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center }
#unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }
#unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
#unity-footer { position: relative }
.unity-mobile #unity-footer { display: none }
#unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center }
#unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
#unity-fullscreen-button { float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
#unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

320
public/VideoWeb/index.html Normal file
View File

@ -0,0 +1,320 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Unity WebGL Player | Painter</title>
<!-- <link rel="shortcut icon" href="TemplateData/favicon.ico"> -->
<link rel="stylesheet" href="TemplateData/style.css">
</head>
<style>
body,html{
width: 100%;
height: 100%;
overflow: hidden;
}
</style>
<body>
<div id="unity-container" style="height: 100%;" class="unity-desktop">
<canvas id="unity-canvas" width=1600 height=900></canvas>
<div id="unity-loading-bar">
<div id="unity-logo"></div>
<div id="unity-progress-bar-empty">
<div id="unity-progress-bar-full"></div>
</div>
</div>
<div id="unity-warning"> </div>
<div id="unity-footer">
<!-- <div id="unity-webgl-logo"></div> -->
<!-- <div id="unity-fullscreen-button"></div> -->
<!-- <div id="unity-build-title">Painter</div> -->
</div>
<div id='black'>
</div>
</div>
<script>
var container = document.querySelector("#unity-container");
var canvas = document.querySelector("#unity-canvas");
var loadingBar = document.querySelector("#unity-loading-bar");
var progressBarFull = document.querySelector("#unity-progress-bar-full");
var fullscreenButton = document.querySelector("#unity-fullscreen-button");
var warningBanner = document.querySelector("#unity-warning");
var black = document.querySelector("#black");
// Shows a temporary message banner/ribbon for a few seconds, or
// a permanent error message on top of the canvas if type=='error'.
// If type=='warning', a yellow highlight color is used.
// Modify or remove this function to customize the visually presented
// way that non-critical warnings and error messages are presented to the
// user.
function unityShowBanner(msg, type) {
function updateBannerVisibility() {
warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
}
var div = document.createElement('div');
div.innerHTML = msg;
warningBanner.appendChild(div);
if (type == 'error') div.style = 'background: red; padding: 10px;';
else {
if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
setTimeout(function() {
warningBanner.removeChild(div);
updateBannerVisibility();
}, 5000);
}
updateBannerVisibility();
}
var buildUrl = "Build";
var loaderUrl = buildUrl + "/APP.loader.js";
var config = {
dataUrl: buildUrl + "/APP.data.unityweb",
frameworkUrl: buildUrl + "/APP.framework.js.unityweb",
codeUrl: buildUrl + "/APP.wasm.unityweb",
streamingAssetsUrl: "StreamingAssets",
companyName: "DefaultCompany",
productName: "Painter",
productVersion: "0.1",
showBanner: unityShowBanner,
};
// By default Unity keeps WebGL canvas render target size matched with
// the DOM size of the canvas element (scaled by window.devicePixelRatio)
// Set this to false if you want to decouple this synchronization from
// happening inside the engine, and you would instead like to size up
// the canvas DOM size and WebGL render target sizes yourself.
// config.matchWebGLToCanvasSize = false;
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
// Mobile device style: fill the whole browser client area with the game canvas:
var meta = document.createElement('meta');
meta.name = 'viewport';
meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
document.getElementsByTagName('head')[0].appendChild(meta);
container.className = "unity-mobile";
// To lower canvas resolution on mobile devices to gain some
// performance, uncomment the following line:
// config.devicePixelRatio = 1;
canvas.style.width = window.innerWidth + 'px';
canvas.style.height = window.innerHeight + 'px';
unityShowBanner('WebGL builds are not supported on mobile devices.');
} else {
// Desktop style: Render the game canvas in a window that can be maximized to fullscreen:
// canvas.style.width = "960px";
// canvas.style.height = "600px";
// canvas.style.width = window.innerWidth + 'px';
// canvas.style.height = window.innerHeight + 'px';
}
loadingBar.style.display = "block";
var unity;
var script = document.createElement("script");
script.src = loaderUrl;
script.onload = () => {
createUnityInstance(canvas, config, (progress) => {
progressBarFull.style.width = 100 * progress + "%";
if(progressBarFull.style.width==90+"%"){
black.style.display = "block";
}
}).then((unityInstance) => {
unity = unityInstance
loadingBar.style.display = "none";
// fullscreenButton.onclick = () => {
// unityInstance.SetFullscreen(1);
// };
}).catch((message) => {
alert(message);
});
};
//unity初始化
function OnSceneLoaded(){
black.style.display = "none";
window.parent.OnScene();
}
//初始化传离线视频数据功能
function lixianVideo(string){
console.log("离线视频数据",string)
if(unity!=null){
unity.SendMessage('AAA','Unity_OfflineDataPrepare', string);
}
}
//获取ip
function getIpData(string){
console.log("获取ip",string)
if(unity!=null){
unity.SendMessage('GameManager','SetIP', string);
}
}
//获取图像
function getDestination(string){
if(unity!=null){
unity.SendMessage('AAA', 'SendImage', string);
}
}
//获取图像id等数据
function getData(string){
// console.log("string",string)
if(unity!=null){
unity.SendMessage('AAA', 'SendStream', string);
}
}
//获取轨迹方法
function getGuiJi(string){
if(unity!=null){
unity.SendMessage('AAA', 'SendJT_GuiJi', string);
}
}
//传触发数据
function getChuFa(string){
// console.log("string",string)
if(unity!=null){
unity.SendMessage('AAA', 'SendJT_JianCeQi', string);
}
}
//获取图形数据
function getfigureData(string,string1,string2){
// console.log("图形类型",string)
// console.log("图形名称",string1)
// console.log("图形位置",string2)
window.parent.getFigure(string,string1,string2);
}
//新增图形传图形id
function postFigureId(string){
console.log("图形id",string)
// if(unity!=null){
unity.SendMessage("GameManager",'ReceivingPatternId', string);
//打开新增图形命名弹窗
// }
}
//打开修改图形名称弹框
function modifyTheName(data){
console.log("图形名称弹框",data)
window.parent.getModifyTheName(data,1);
}
//传单个视频id获取到单个视频配置下的所有图形
function postVideoId(data){
console.log("所有图形id",data)
if(unity!=null){
unity.SendMessage("GameManager",'ReceptionVideoId', data);
}
}
//传修改好的名称
function postFigureName(data){
console.log("修改好的名称",data)
if(unity!=null){
unity.SendMessage("GameManager",'ReceiveModifiedName', data);
}
}
//新增图形点击取消
function delFigure(){
if(unity!=null){
unity.SendMessage("GameManager",'DestoryMyLine');
}
}
//获取组件id
function getComponentId(id,type,name){
console.log("id",id)
console.log("type",type)
console.log("name",name)
window.parent.getSingleComponentId(id,type,name);
// window.parent.getSingleComponentId('a840492e26354c0a851fecd675e9f59a');
}
//退出编辑图形
function closeEdit(data){
// type,id
// console.log("type",type)
console.log("data",data)
if(unity!=null){
unity.SendMessage("GameManager",'ExitEdit',data);
}
}
//编辑组件名称传名称
function editComponent(data){
// type,id
console.log("data",data)
if(unity!=null){
unity.SendMessage("GameManager",'Unity_UpdateInstanceName',data);
}
}
//编辑模拟区域组件交互弹窗
function simulationAreaEdit(id,type,componentType,name){
console.log("id",id)
console.log("type",type)
console.log("组件类型",componentType)
console.log("组件名称",name)
window.parent.getSimulationAreaEdit(id,type,componentType,name,2);
}
//获取左侧区域删除图形或断面成功后返回的数据
function getdeleData(data){
console.log("id",data)
if(data != null){
window.parent.delSuccess()
}
}
//新增获取颜色
function addColor(string,string1){
// console.log("i1111",string)
// console.log("i2222",string1)
if(unity!=null){
unity.SendMessage("GameManager",'Unity_AllGraphicsNotified');
}
}
//控制角色权限管理
function getRoleStatus(roleStatus){
console.log(roleStatus,'roleStatus')
if(unity!=null){
unity.SendMessage("GameManager",'Unity_Role_Privilege',roleStatus);
}
}
//传参mqtt
function ZhuanFaMQTT(topic,msg){
window.parent.getZhuanFaMQTT(topic,msg);
//
}
//双击接口编辑
function simulationAreaInterfaceEdit(data,data2,data3){
console.log("simulationAreaInterfaceEdit",data)
console.log("simulationAreaInterfaceEdit2",data2)
console.log("simulationAreaInterfaceEdit3",data3)
// if(data!=undefined){
// window.parent.getZhuanFaMQTT(data,data2,data3);
// }
}
//生成时调用
function getInterfaceComponentId(data,data2,data3){
console.log("getInterfaceComponentId",data)//接口组件id
console.log("data2",data2)//组件id
console.log("data3",data3)//类型
if(data!=undefined){
// window.parent.getZhuanFaMQTT(data,data2,data3);
}
}
function AddMonqjktx_Error(data){
console.log("AddMonqjktx_Error",data)
window.parent.AddMonqjktx_Error(data);
}
document.body.appendChild(script);
</script>
<style>
#unity-container.unity-desktop::-webkit-scrollbar{
display: none; /* Chrome Safari */
}
</style>
</body>
</html>

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1 @@
ws://172.16.1.168:10087/

View File

@ -0,0 +1,24 @@
{
"code": 200,
"msg": "成功",
"data": {
"analysisSettingId": "e1af117da47e402d9b30e7cc499a158f",
"cameraPositionLongitude": "1",
"cameraPositionLatitude": "3",
"licensePlateRecognitionSwitch": "1",
"parkingDisplacement": 1,
"parkingSpeed": 6,
"coordinateTransformationId": "7ab32c790ec34b95a58e18b8bad8e46c",
"utmArea": 10,
"hemisphere": "南",
"coordinateTransformation": "其他",
"pointData": [{
"pointId": "b0c734bfa81f41d8909b74b983429146",
"pointName": "点2",
"longitude": "1",
"latitude": "1",
"imageXCoordinate": "17.17",
"imageYCoordinate": "1065.16"
}]
}
}

View File

@ -0,0 +1,20 @@
{
"code": 200,
"msg": "成功",
"data": [{
"graphicId": "35fb0709596841e5b005fb1bc33a0fa4",
"graphicName": "测试区域",
"graphicType": "区域",
"coordinate": "218.6106 984.2285,453.5649 994.1006,267.9708 820.3528,218.6106 984.2285"
}, {
"graphicId": "957eb7cba61240f5a099ee6080bd29f0",
"graphicName": "测试路线2",
"graphicType": "轨迹",
"coordinate": "157.404 236.9287,179.1225 260.6216,192.9433 300.1097,202.8154 329.7258,214.6618 357.3675,222.5594 392.9068,236.3803 424.4973,258.0987 446.2157,289.6892 465.9598,317.3309 485.7039,350.8958 503.4735,382.4863 509.3967,420 517.2943,467.3858 521.2432,508.8483 525.192,556.234 525.192,599.671 525.192,631.2614 525.192,662.8519 513.3455,690.4936 499.5247,712.2121 477.8062,724.0585 444.2413,728.0073 412.6508,745.777 386.9836,775.3931 377.1115,806.9836 379.0859"
}, {
"graphicId": "7c24aa16e12840859164780d71827f5f",
"graphicName": "测试线2",
"graphicType": "断面",
"coordinate": "437.7697 642.6563,880.0366 737.4278"
}]
}

View File

@ -0,0 +1 @@
{"Keys":["com.unity.services.core.version"],"Values":[{"m_Value":"1.3.1","m_IsReadOnly":true}]}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 B

View File

@ -0,0 +1,17 @@
body { padding: 0; margin: 0 }
#unity-container { position: absolute }
#unity-container.unity-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) }
#unity-container.unity-mobile { width: 100%; height: 100% }
#unity-canvas { background: #231F20 }
.unity-mobile #unity-canvas { width: 100%; height: 100% }
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
#unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center }
#unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }
#unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
#unity-footer { position: relative }
.unity-mobile #unity-footer { display: none }
/* #unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center } */
#unity-webgl-logo { float:left; width: 204px; height: 38px; }
#unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
#unity-fullscreen-button { float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
#unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
http://172.16.1.168:5000

View File

@ -0,0 +1,20 @@
{
"code": 200,
"msg": "成功",
"data": [{
"graphicId": "35fb0709596841e5b005fb1bc33a0fa4",
"graphicName": "测试区域",
"graphicType": "区域",
"coordinate": "218.6106 984.2285,453.5649 994.1006,267.9708 820.3528,218.6106 984.2285"
}, {
"graphicId": "957eb7cba61240f5a099ee6080bd29f0",
"graphicName": "测试路线2",
"graphicType": "轨迹",
"coordinate": "157.404 236.9287,179.1225 260.6216,192.9433 300.1097,202.8154 329.7258,214.6618 357.3675,222.5594 392.9068,236.3803 424.4973,258.0987 446.2157,289.6892 465.9598,317.3309 485.7039,350.8958 503.4735,382.4863 509.3967,420 517.2943,467.3858 521.2432,508.8483 525.192,556.234 525.192,599.671 525.192,631.2614 525.192,662.8519 513.3455,690.4936 499.5247,712.2121 477.8062,724.0585 444.2413,728.0073 412.6508,745.777 386.9836,775.3931 377.1115,806.9836 379.0859"
}, {
"graphicId": "7c24aa16e12840859164780d71827f5f",
"graphicName": "测试线2",
"graphicType": "断面",
"coordinate": "437.7697 642.6563,880.0366 737.4278"
}]
}

View File

@ -0,0 +1 @@
{"Keys":["com.unity.services.core.version"],"Values":[{"m_Value":"1.3.1","m_IsReadOnly":true}]}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 B

View File

@ -0,0 +1,16 @@
body { padding: 0; margin: 0 }
#unity-container { position: absolute }
#unity-container.unity-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) }
#unity-container.unity-mobile { width: 100%; height: 100% }
#unity-canvas { background: #231F20 }
.unity-mobile #unity-canvas { width: 100%; height: 100% }
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
#unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center }
#unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }
#unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
#unity-footer { position: relative }
.unity-mobile #unity-footer { display: none }
#unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center }
#unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
#unity-fullscreen-button { float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
#unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,229 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Unity WebGL Player | Painter</title>
<link rel="shortcut icon" href="TemplateData/favicon.ico">
<link rel="stylesheet" href="TemplateData/style.css">
<style>
body,
html {
width: 100%;
height: 100%;
overflow: hidden;
}
</style>
</head>
<body>
<div id="unity-container" style="height: 100%;width: 100%;" class="unity-desktop">
<canvas id="unity-canvas" width=960 height=600></canvas>
<div id="unity-loading-bar">
<div id="unity-logo"></div>
<div id="unity-progress-bar-empty">
<div id="unity-progress-bar-full"></div>
</div>
</div>
<div id="unity-warning"> </div>
<div id="unity-footer">
<div id="unity-webgl-logo"></div>
<div id="unity-fullscreen-button"></div>
<div id="unity-build-title">Painter</div>
</div>
</div>
<script>
var container = document.querySelector("#unity-container");
var canvas = document.querySelector("#unity-canvas");
var loadingBar = document.querySelector("#unity-loading-bar");
var progressBarFull = document.querySelector("#unity-progress-bar-full");
var fullscreenButton = document.querySelector("#unity-fullscreen-button");
var warningBanner = document.querySelector("#unity-warning");
// Shows a temporary message banner/ribbon for a few seconds, or
// a permanent error message on top of the canvas if type=='error'.
// If type=='warning', a yellow highlight color is used.
// Modify or remove this function to customize the visually presented
// way that non-critical warnings and error messages are presented to the
// user.
function unityShowBanner(msg, type) {
function updateBannerVisibility() {
warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
}
var div = document.createElement('div');
div.innerHTML = msg;
warningBanner.appendChild(div);
if (type == 'error') div.style = 'background: red; padding: 10px;';
else {
if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
setTimeout(function () {
warningBanner.removeChild(div);
updateBannerVisibility();
}, 5000);
}
updateBannerVisibility();
}
var buildUrl = "Build";
var loaderUrl = buildUrl + "/APP_ZBZH.loader.js";
var config = {
dataUrl: buildUrl + "/APP_ZBZH.data.unityweb",
frameworkUrl: buildUrl + "/APP_ZBZH.framework.js.unityweb",
codeUrl: buildUrl + "/APP_ZBZH.wasm.unityweb",
streamingAssetsUrl: "StreamingAssets",
companyName: "DefaultCompany",
productName: "Painter",
productVersion: "0.1",
showBanner: unityShowBanner,
};
// By default Unity keeps WebGL canvas render target size matched with
// the DOM size of the canvas element (scaled by window.devicePixelRatio)
// Set this to false if you want to decouple this synchronization from
// happening inside the engine, and you would instead like to size up
// the canvas DOM size and WebGL render target sizes yourself.
// config.matchWebGLToCanvasSize = false;
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
// Mobile device style: fill the whole browser client area with the game canvas:
var meta = document.createElement('meta');
meta.name = 'viewport';
meta.content =
'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
document.getElementsByTagName('head')[0].appendChild(meta);
container.className = "unity-mobile";
// To lower canvas resolution on mobile devices to gain some
// performance, uncomment the following line:
// config.devicePixelRatio = 1;
canvas.style.width = window.innerWidth + 'px';
canvas.style.height = window.innerHeight + 'px';
unityShowBanner('WebGL builds are not supported on mobile devices.');
} else {
// Desktop style: Render the game canvas in a window that can be maximized to fullscreen:
canvas.style.width = "100%";
canvas.style.height = "100%";
}
loadingBar.style.display = "block";
var script = document.createElement("script");
var unityInstanceA
script.src = loaderUrl;
script.onload = () => {
createUnityInstance(canvas, config, (progress) => {
progressBarFull.style.width = 100 * progress + "%";
}).then((unityInstance) => {
unityInstanceA = unityInstance
loadingBar.style.display = "none";
fullscreenButton.onclick = () => {
unityInstance.SetFullscreen(1);
};
}).catch((message) => {
alert(message);
});
};
//unity初始化
function OnSceneLoaded() {
window.parent.OnSceneload();
}
//unity加载
function Started() {
window.parent.started();
}
function getDianwei(string) {
unityInstanceA.SendMessage('GameManager', 'ReceptionVideoIdSececeTwo', JSON.stringify(string));
}
//获取ip
function getIpData(string) {
console.log("获取ip", string)
if (unityInstanceA != null) {
unityInstanceA.SendMessage('GameManager', 'SetIP', string);
}
}
function setPOS(string) {
console.log(string, '123');
unityInstanceA.SendMessage('GameManager', 'WebToUnityDot', JSON.stringify(string));
}
function saveDian(string) {
console.log(string, 'string');
unityInstanceA.SendMessage('GameManager', 'WebToUnitySave', JSON.stringify(string));
}
function ReceivingCoordinate(x, y, name) {
var obj = {
imageXCoordinate: x,
imageYCoordinate: y,
pointName: name
}
window.parent.saveCoordinate(obj)
}
function getDestination(string) {
console.log(string, 'hjm');
if (unityInstanceA != null) {
unityInstanceA.SendMessage('AAA', 'SendImage', JSON.stringify(string));
}
}
function deletePoint(string) {
unityInstanceA.SendMessage('GameManager', 'WebToUnityDeletePont', JSON.stringify(string));
}
function exitPoint(string) {
unityInstanceA.SendMessage('GameManager', 'WebToUnityPointModification', JSON.stringify(string));
}
//unity发送坐标给前端
function GetPointPostionInUnity(data) {
window.parent.getPointPostionInUnity(data)
}
// unity选中点传给前端同步
function ChosePointInUnity(pointId) {
window.parent.chosePointInUnity(pointId)
}
//设置Ip
function sentIp(params) {
unityInstanceA.SendMessage('AAA', 'SendIP', params);
}
//刷新所有点
function refreshPoint(params) {
unityInstanceA.SendMessage('AAA', 'RefreshPoint', params);
}
//选中点
function chosePoint(params) {
unityInstanceA.SendMessage('AAA', 'ChosePoint', params);
}
//新增点
function addPoint(id,name) {
let params = id+','+name
unityInstanceA.SendMessage('AAA', 'AddPoint', params);
}
//删除点
function removePoint(params) {
unityInstanceA.SendMessage('AAA', 'RemovePoint', params);
}
//编辑点
function editorPoint(params) {
unityInstanceA.SendMessage('AAA', 'EditorPoint', params);
}
//完成编辑
function editorOverPoint(id,name) {
let params = id+','+name
console.log(params,'params');
unityInstanceA.SendMessage('AAA', 'EditorOverPoint', params);
}
document.body.appendChild(script);
</script>
</body>
</html>

View File

@ -0,0 +1,224 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Unity WebGL Player | Painter</title>
<!-- <link rel="shortcut icon" href="TemplateData/favicon.ico"> -->
<link rel="stylesheet" href="TemplateData/style.css">
<style>
body,
html {
width: 100%;
height: 100%;
overflow: hidden;
}
</style>
</head>
<body>
<div id="unity-container" style="height: 100%;width: 100%;" class="unity-desktop">
<canvas id="unity-canvas" width=960 height=600></canvas>
<div id="unity-loading-bar">
<div id="unity-logo"></div>
<div id="unity-progress-bar-empty">
<div id="unity-progress-bar-full"></div>
</div>
</div>
<div id="unity-warning"> </div>
<div id="unity-footer" style="display: none;">
<div id="unity-webgl-logo"></div>
<div id="unity-fullscreen-button"></div>
<div id="unity-build-title">Painter</div>
</div>
</div>
<script>
var container = document.querySelector("#unity-container");
var canvas = document.querySelector("#unity-canvas");
var loadingBar = document.querySelector("#unity-loading-bar");
var progressBarFull = document.querySelector("#unity-progress-bar-full");
var fullscreenButton = document.querySelector("#unity-fullscreen-button");
var warningBanner = document.querySelector("#unity-warning");
// Shows a temporary message banner/ribbon for a few seconds, or
// a permanent error message on top of the canvas if type=='error'.
// If type=='warning', a yellow highlight color is used.
// Modify or remove this function to customize the visually presented
// way that non-critical warnings and error messages are presented to the
// user.
function unityShowBanner(msg, type) {
function updateBannerVisibility() {
warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
}
var div = document.createElement('div');
div.innerHTML = msg;
warningBanner.appendChild(div);
if (type == 'error') div.style = 'background: red; padding: 10px;';
else {
if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
setTimeout(function () {
warningBanner.removeChild(div);
updateBannerVisibility();
}, 5000);
}
updateBannerVisibility();
}
var buildUrl = "Build";
var loaderUrl = buildUrl + "/APP.loader.js";
var config = {
dataUrl: buildUrl + "/APP.data.unityweb",
frameworkUrl: buildUrl + "/APP.framework.js.unityweb",
codeUrl: buildUrl + "/APP.wasm.unityweb",
streamingAssetsUrl: "StreamingAssets",
companyName: "DefaultCompany",
productName: "Painter",
productVersion: "0.1",
showBanner: unityShowBanner,
};
// By default Unity keeps WebGL canvas render target size matched with
// the DOM size of the canvas element (scaled by window.devicePixelRatio)
// Set this to false if you want to decouple this synchronization from
// happening inside the engine, and you would instead like to size up
// the canvas DOM size and WebGL render target sizes yourself.
// config.matchWebGLToCanvasSize = false;
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
// Mobile device style: fill the whole browser client area with the game canvas:
var meta = document.createElement('meta');
meta.name = 'viewport';
meta.content =
'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
document.getElementsByTagName('head')[0].appendChild(meta);
container.className = "unity-mobile";
// To lower canvas resolution on mobile devices to gain some
// performance, uncomment the following line:
// config.devicePixelRatio = 1;
canvas.style.width = window.innerWidth + 'px';
canvas.style.height = window.innerHeight + 'px';
unityShowBanner('WebGL builds are not supported on mobile devices.');
} else {
// Desktop style: Render the game canvas in a window that can be maximized to fullscreen:
canvas.style.width = "100%";
canvas.style.height = "100%";
}
loadingBar.style.display = "block";
var script = document.createElement("script");
var unityInstanceA
script.src = loaderUrl;
script.onload = () => {
createUnityInstance(canvas, config, (progress) => {
progressBarFull.style.width = 100 * progress + "%";
}).then((unityInstance) => {
unityInstanceA = unityInstance
loadingBar.style.display = "none";
fullscreenButton.onclick = () => {
unityInstance.SetFullscreen(1);
};
}).catch((message) => {
alert(message);
});
};
//unity初始化
function OnSceneLoaded() {
window.parent.OnSceneload();
}
function getDianwei(string) {
unityInstanceA.SendMessage('GameManager', 'ReceptionVideoIdSececeTwo', JSON.stringify(string));
}
//获取ip
function getIpData(string) {
console.log("获取ip", string)
if (unityInstanceA != null) {
unityInstanceA.SendMessage('GameManager', 'SetIP', string);
}
}
function setPOS(string) {
console.log(string, '123');
unityInstanceA.SendMessage('GameManager', 'WebToUnityDot', JSON.stringify(string));
}
function saveDian(string) {
console.log(string, 'string');
unityInstanceA.SendMessage('GameManager', 'WebToUnitySave', JSON.stringify(string));
}
function ReceivingCoordinate(x, y, name) {
var obj = {
imageXCoordinate: x,
imageYCoordinate: y,
pointName: name
}
window.parent.saveCoordinate(obj)
}
function getDestination(string) {
console.log(string, 'hjm');
if (unityInstanceA != null) {
unityInstanceA.SendMessage('AAA', 'SendImage', JSON.stringify(string));
}
}
function deletePoint(string) {
unityInstanceA.SendMessage('GameManager', 'WebToUnityDeletePont', JSON.stringify(string));
}
function exitPoint(string) {
console.log(string, '11111111');
unityInstanceA.SendMessage('GameManager', 'WebToUnityPointModification', JSON.stringify(string));
}
//unity发送坐标给前端
function getPointPostionInUnity(data) {
window.parent.GetPointPostionInUnity(data)
}
// unity选中点传给前端同步
function chosePointInUnity(pointId) {
window.parent.chosePointInUnity(pointId)
}
//设置Ip
function sentIp(params) {
unityInstanceA.SendMessage('GameManager', 'SendIP', JSON.stringify(params));
}
//刷新所有点
function refreshPoint(params) {
unityInstanceA.SendMessage('GameManager', 'refreshPoint', JSON.stringify(params));
}
//选中点
function chosePoint(params) {
unityInstanceA.SendMessage('GameManager', 'ChosePoint', JSON.stringify(params));
}
//新增点
function addPoint(params) {
unityInstanceA.SendMessage('GameManager', 'AddPoint', JSON.stringify(params));
}
//删除点
function removePoint(params) {
unityInstanceA.SendMessage('GameManager', 'RemovePoint', JSON.stringify(params));
}
//编辑点
function editorPoint(params) {
unityInstanceA.SendMessage('GameManager', 'EditorPoint', JSON.stringify(params));
}
//完成编辑
function editorOverPoint(params) {
unityInstanceA.SendMessage('GameManager', 'EditorOverPoint', JSON.stringify(params));
}
document.body.appendChild(script);
</script>
</body>
</html>

BIN
public/flv/._flvjs Normal file

Binary file not shown.

108
public/flv/demo.css Normal file
View File

@ -0,0 +1,108 @@
.mainContainer {
display: block;
width: 100%;
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 1152px) {
.mainContainer {
display: block;
width: 1152px;
margin-left: auto;
margin-right: auto;
}
}
.video-container {
position: relative;
margin-top: 8px;
}
.video-container:before {
display: block;
content: "";
width: 100%;
padding-bottom: 56.25%;
}
.video-container > div {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.video-container video {
width: 100%;
height: 100%;
}
.urlInput {
display: block;
width: 100%;
margin-left: auto;
margin-right: auto;
margin-top: 8px;
margin-bottom: 8px;
}
.centeredVideo {
display: block;
width: 100%;
height: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: auto;
}
.controls {
display: block;
width: 100%;
text-align: left;
margin-left: auto;
margin-right: auto;
margin-top: 8px;
margin-bottom: 10px;
}
.logcatBox {
border-color: #CCCCCC;
font-size: 11px;
font-family: Menlo, Consolas, monospace;
display: block;
width: 100%;
text-align: left;
margin-left: auto;
margin-right: auto;
}
.url-input , .options {
font-size: 13px;
}
.url-input {
display: flex;
}
.url-input label {
flex: initial;
}
.url-input input {
flex: auto;
margin-left: 8px;
}
.url-input button {
flex: initial;
margin-left: 8px;
}
.options {
margin-top: 5px;
}
.hidden {
display: none;
}

12056
public/flv/flv.js Normal file

File diff suppressed because it is too large Load Diff

7
public/flv/flv.min.js vendored Normal file

File diff suppressed because one or more lines are too long

BIN
public/flv/flvjs/._flv.js Normal file

Binary file not shown.

BIN
public/flv/flvjs/._flv.min.js vendored Normal file

Binary file not shown.

12056
public/flv/flvjs/flv.js Normal file

File diff suppressed because it is too large Load Diff

7
public/flv/flvjs/flv.min.js vendored Normal file

File diff suppressed because one or more lines are too long

70
public/flv/index.html Normal file
View File

@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>视频监控</title>
</head>
<style>
video::-webkit-media-controls-timeline {
display: block;
}
/* 播放按钮 */
video::-webkit-media-controls-play-button {
display: none;
}
/* //进度条 */
video::-webkit-media-controls-timeline {
display: none;
}
/* //观看的当前时间 */
video::-webkit-media-controls-current-time-display{
display: none;
}
/* //剩余时间 */
video::-webkit-media-controls-time-remaining-display {
display: none;
}
/* //音量按钮 */
video::-webkit-media-controls-mute-button {
display: none;
}
video::-webkit-media-controls-toggle-closed-captions-button {
display: none;
}
/* //音量的控制条 */
video::-webkit-media-controls-volume-slider {
display: none;
}
</style>
<body>
<script src="flv.min.js"></script>
<video id="videoElement" style="width: 381px;height: 214px;" muted controls="controls" ></video>
<script>
var ip = window.location.host;
if (flvjs.isSupported()) {
console.log(getParam('src'),"getParam('src')");
var videoElement = document.getElementById('videoElement');
var flvPlayer = flvjs.createPlayer({
type: 'flv',
isLive: true,
// url: 'ws://172.16.1.168:12309/rtsp/1/a/?url='+getParam('src').replace(/\s+/g, '')
// url:getParam('src')
url:'ws://'+ip.split(':')[0]+':12309/rtsp/1/a/?url='+getParam('src').replace(/\s+/g, '')
});
flvPlayer.attachMediaElement(videoElement);
flvPlayer.load();
flvPlayer.play();
}
function getParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
//search,查询?后面的参数,并匹配正则
var r = location.search.substr(1).match(reg);
if (r != null) return decodeURI(decodeURI(r[2]));
}
</script>
</body>
</html>

45
public/flv/test.html Normal file
View File

@ -0,0 +1,45 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>video</title>
</head>
<body>
</body>
</html>
<script>
let socket;
function startWebsocket() {
toUserId = document.getElementById('toUserId').value;
let webSocketUrl = 'ws://172.17.2.42:71';
if ('WebSocket' in window) {
// console.log(1)
socket = new WebSocket(webSocketUrl);
} else if ('MozWebSocket' in window) {
// console.log(2)
socket = new MozWebSocket(webSocketUrl);
}
// socket = new SockJS('https://' + location.host + '/websocket/' + userId);
//连接成功
socket.onopen = function (e) {
console.log('连接服务器成功!')
};
//server端请求关闭
socket.onclose = function (e) {
console.log('close')
alert(JSON.stringify(e))
};
//error
socket.onerror = function (e) {
console.error(e)
alert(JSON.stringify(e))
};
socket.onmessage = onmessage;
}
//连接服务器
startWebsocket();
</script>

17
public/index.html Normal file
View File

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css">
<title>后台管理系统</title>
</head>
<body>
<noscript>
<strong>We're sorry but vms doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

28
src/App.vue Normal file
View File

@ -0,0 +1,28 @@
<template>
<div id="app" :class="style ? 'theme1' : ''">
<router-view></router-view>
</div>
</template>
<script>
import bus from '@/utils/bus';
export default {
data(){
return{
style: false
}
},
created(){
bus.$on('global_theme', (msg) => { // global_theme
this.style = msg;
});
}
}
// var mymqtt=new mqttconfig();
</script>
<style>
</style>

86
src/api/aboutMachine.js Normal file
View File

@ -0,0 +1,86 @@
import request from '@/utils/request.js';
import axios from 'axios';
export const getHostInfoApi = params => {
return axios.get('api/GetHostInfo', {
params
});
};
//获取upd接口
export const getUpdInfoApi = params => {
return axios.get('api/GetUdppz', {
params
});
};
// 保存udp
export const setUpdInfoApi = data => {
return axios.post('api/SetUdppz', data, { headers: { 'Content-Type': 'multipart/form-data' } });
};
export const resetReboot = data => {
return axios.post('api/SetReboot', data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });
};
// // 关于本机备份配置
// export const ConfigBackup = () => {
// return axios.post('api/ConfigBackup', { headers: { 'Content-Type': 'application/json' } });
// };
// 还原服务器设置
// export const ConfigRestore = () => {
// return axios.post('api/ConfigRestore');
// };
// 还原服务器出厂设置
export const initData = () => {
return axios.get('api/InitData', { headers: { 'Content-Type': 'application/json' } });
};
// 重新启动接口
export const RestartComputer = ()=>{
return axios.get('api/RestartComputer')
}
// 更新服务器版本
export const update = (data,params)=>{
return axios.post('api/Update',data,{
params,
headers:{'Content-Type': 'multipart/form-data' }
})
}
// 备份服务器设置
export const configBackup = params =>{
return axios.get('api/ConfigBackup', {
params
})
}
// 还原服务器设置
export const configRestore = (data,params)=>{
return axios.post('api/ConfigRestore',data,{
params,
headers:{'Content-Type': 'multipart/form-data' }
})
}
//重启指定服务
export const getResetService = params => {
return axios.get('api/ResetService', {
params
})
}
//校时数据获取
export const getTimeData = params => {
return axios.get('api/GetTime', {
params
})
}
//点击校时获取
export const getSetHostTime = params => {
return axios.get('api/SetHostTime', {
params
})
}
export const setAutomatic = params => {
return axios.post('api/SetAutomaticTiming', params, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });
};

13
src/api/iPSetting.js Normal file
View File

@ -0,0 +1,13 @@
import request from '@/utils/request.js';
import axios from 'axios';
export const getHostInfoApi = params => {
return axios.get('api/GetHostInfo', {
params
});
};
//获取配置信息
export const getFtppzApi = params => {
return axios.get('api/GetFtppz', {
params
});
};

167
src/api/index.js Normal file
View File

@ -0,0 +1,167 @@
import axios from 'axios';
import qs from 'qs';
if (process.env.NODE_ENV === 'development') {
axios.defaults.baseURL = '/';
} else if (process.env.NODE_ENV === 'production') {
axios.defaults.baseURL = '/';
}
//获取视频数据接口
export const getGetShipjk = params => {
return axios.get('api/GetShipjk', {
params
});
};
//获取全局设置
export const getQuanjszData = params => {
return axios.get('api/GetQuanjsz', {
params
});
};
//
export const postAddShipjk = data => {
// return axios.post('api/AddShipjk', {
// F_VC_SHIPJKMC:data.F_VC_SHIPJKMC,
// F_VC_LEIX:data.F_VC_LEIX,
// // data: formData,
// })
return axios.post('api/AddShipjk', data);
};
//分析应用按钮
export const getApplication = params => {
return axios.get('api/SyncVideo', {
params
});
};
//停止算法程序接口
export const getStopAlgorithm = params => {
return axios.get('api/StopAlgorithm', {
params
});
};
//分析-传视频类型设置接口
// http://localhost:5000/api/SetVideoMode?Mode=离线视频
export const getSetVideoMode = params => {
return axios.get('api/SetVideoMode', {
params
});
};
export const getVideoMode = params => {
return axios.get('api/GetVideoMode', {
params
});
};
//根据图形id获取图形数据接口
export const getJianktxDetails = params => {
return axios.get('api/GetJianktxDetails', {
params
});
};
//修改视频名称
export const getEditShipjk = data => {
return axios.post('api/EditShipjk',
data,
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
);
};
//分析-删除视频源接口
export const getDeleteShipjk = params => {
return axios.get('api/DeleteShipjk', {
params
});
};
//视频分析预览
// 分析配置接口
export const getFeixpz = params => {
return axios.get('api/GetFeixpz', {
params
});
};
// 设置相机位置接口
export const setCameraPosition = data => {
return axios.post('api/SetCameraPosition', data, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
};
// 设置车牌识别接口
export const setLicensePlate = data => {
return axios.post('api/SetLicensePlate', data, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
};
// 设置停车状态
export const setParkingStatus = data => {
return axios.post('api/SetParkingStatus', data, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
};
export const setFeixzbzh = params => {
return axios.post('api/SetFeixzbzh', params, {
headers: {
'Content-Type': 'application/json'
}
});
};
//根据组件id获取单个组件信息
export const getComponentData = params => {
return axios.get('api/GetMonqjkzjcsDetails', {
params
});
};
//获取所有断面数据-用于组件OD类型数据
export const getSectionalData = params => {
return axios.get('api/GetSection', {
params
});
};
//
export const setQuanjsz = params => {
return axios.post('api/SetQuanjsz', params, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
};
//获取数据看板图形数据
export const getComponentSection = params => {
return axios.get('api/GetComponentSection', {
params
});
};
// 根据视频id获取离线视频的分析状态接口
export const getVideoStatus = videoId => {
return axios.get(`api/GetVideoStatus?VideoId=${videoId}`);
};
// 启动交通分析接口(离线视频使用)
export const startTrafficAnalysis = videoId => {
return axios.get(`api/StartTrafficAnalysis?VideoId=${videoId}`);
};
// 启动视频分析接口(离线视频使用)
export const startVideoAnalysis = videoId => {
return axios.get(`api/StartVideoAnalysis?VideoId=${videoId}`);
};
// 根据视频id获取离线视频的分析状态接口
export const getAnalysisData = (videoId, ip) => {
return axios.get(`api/GetAnalysisData?VideoId=${videoId}&&IP=${ip}`);
};
//根据视频id获取分析状态接口
export const getAnalysisStatus = (params) => {
return axios.get(`api/GetAnalysisStatus?VideoId=${params}`);
};

40
src/api/interface.js Normal file
View File

@ -0,0 +1,40 @@
import axios from 'axios';
if (process.env.NODE_ENV === 'development') {
axios.defaults.baseURL = '/';
} else if (process.env.NODE_ENV === 'production') {
axios.defaults.baseURL = '/';
}
//获取所有接入方数据
export const getJierfData = params => {
return axios.get('api/GetJierf', {
params
});
};
//获取编辑信息
export const getJierfDetails = params => {
return axios.get('api/GetJierfDetails', {
params
});
};
//删除接入方
export const getDeleteJierf = params => {
return axios.get('api/DeleteJierf', {
params
});
};
//获取配置组件数据
export const getConfigComponents = params => {
return axios.get('api/GetConfigComponents', {
params
});
};
//获取已配置好的组件数据
export const getConfigured = params => {
return axios.get('api/GetConfigured', {
params
});
};
//存储配置组件
export const setComponents = data => {
return axios.post('api/setComponents', data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });
};

7
src/api/login.js Normal file
View File

@ -0,0 +1,7 @@
import request from '@/utils/request.js';
import axios from 'axios';
export const loginApi = params => {
return axios.get('api/GetZhanghLogin', {
params
});
};

32
src/api/logs.js Normal file
View File

@ -0,0 +1,32 @@
import axios from 'axios';
if (process.env.NODE_ENV === 'development') {
axios.defaults.baseURL = '/';
} else if (process.env.NODE_ENV === 'production') {
axios.defaults.baseURL = '/';
}
//获取所有账号数据接口
export const getTongzrzApi = params => {
return axios.get('api/GetTongzrz', {
params
});
};
//删除日志
export const deleteTongzrzApi = params => {
return axios.get(`api/DeleteTongzrz?JournalId=${params}`, {
params
});
};
//详情接口
export const getTongzrzDetailsApi = params => {
return axios.get(`api/GetTongzrzDetails?JournalId=${params}`, {
params
});
};
//根据文件名下载文件
export const downFile = (params) =>{
return axios.get('api/GetTongzrzDetails',{
params
})
}

24
src/api/management.js Normal file
View File

@ -0,0 +1,24 @@
import axios from 'axios';
if (process.env.NODE_ENV === 'development') {
axios.defaults.baseURL = '/';
} else if (process.env.NODE_ENV === 'production') {
axios.defaults.baseURL = '/';
}
//获取所有账号数据接口
export const getZhanghData = params => {
return axios.get('api/GetZhangh', {
params
});
};
//获取角色下拉
export const getRoleApi = params => {
return axios.get('api/GetJues', {
params
});
};
//删除角色
export const deleteRoleApi = params => {
return axios.get(`api/DeleteZhangh?UserId=${params}`, {
params
});
};

17
src/api/myld.js Normal file
View File

@ -0,0 +1,17 @@
import axios from 'axios';
if (process.env.NODE_ENV === 'development') {
axios.defaults.baseURL = '/';
} else if (process.env.NODE_ENV === 'production') {
axios.defaults.baseURL = '/';
}
//获取用户信息
export const getUserApi = params => {
return axios.get(`api/GetZhanghDetails?UserId=${params}`, {});
};
//修改密码
export const updatePassword = data=>{
return axios.post('api/ChangePassword',data,{
headers:{'Content-Type': 'multipart/form-data' }
})
}

64
src/api/sensorFusion.js Normal file
View File

@ -0,0 +1,64 @@
import request from '@/utils/request.js';
import axios from 'axios';
//获取视频列表接口
export const getRealTimeShipjk = params => {
return axios.get('api/GetRealTimeShipjk', {
params
});
};
//获取所有配置节点
export const getDuocgqrhpz = params => {
return axios.get('api/GetDuocgqrhpz', {
params
});
};
//获取图表区数据接口
export const getChartComponent = params => {
return axios.get('api/GetChartComponent', {
params
});
};
//获取卡片区数据接口
export const getNumericalComponent = params => {
return axios.get('api/GetNumericalComponent', {
params
});
};
//添加节点
export const addDuocgqrhpz = data => {
return axios.post('api/AddDuocgqrhpz',
data,
{ headers: { 'Content-Type': 'application/json' } });
};
//删除节点
export const deleteDuocgqrhpz = params => {
return axios.get('api/DeleteDuocgqrhpz', {
params
});
};
//添加编辑
export const editDuocgqrhpz = data => {
return axios.post('api/EditDuocgqrhpz',
data,
{ headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });
};
//同级拖拽编辑接口
export const editDuocgqrhpzSort = data => {
return axios.post('api/EditDuocgqrhpzSort',
data,
{headers: { 'Content-Type': 'application/json' } }
);
};
//获取多传感器融合数据接口
export const getAssembly = params => {
return axios.get('api/GetAssembly', {
params
});
};
//获取已选的组件数据接口
export const getSelectedComponent = params => {
return axios.get('api/GetSelectedComponent', {
params
});
};

9
src/api/test.js Normal file
View File

@ -0,0 +1,9 @@
import request from '@/utils/request.js';
export function testApi(data) { // 测试接口
return request({
url: '/hxh/api-test/testApi',
method: 'post',
data: data
});
}

218
src/assets/css/main.css Normal file
View File

@ -0,0 +1,218 @@
* {
margin: 0;
padding: 0;
}
html,
body,
#app {
width: 100%;
height: 100%;
background: #f0f0f0;
}
body {
font-family: 'PingFang SC', "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif;
}
a {
text-decoration: none;
}
.header {
background-color: white;
}
.login-wrap {
background: #324157;
}
.plugins-tips {
background: #eef1f6;
padding: 20px 10px;
margin-bottom: 20px;
}
.plugins-tips a {
color: #20a0ff;
}
.el-upload--text em {
color: #20a0ff;
}
.pure-button {
background: #20a0ff;
}
.tags-li.active {
border: 1px solid #409EFF;
background-color: #409EFF;
}
.message-title {
color: #20a0ff;
}
.collapse-btn:hover {
background: none;
}
/* 错误页面总体样式 */
.error-page {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
width: 100%;
height: 100%;
background: #f3f3f3;
box-sizing: border-box;
}
.error-code {
line-height: 1;
font-size: 250px;
font-weight: bolder;
color: #f02d2d;
}
.error-code span {
color: #00a854;
}
.error-desc {
font-size: 30px;
color: #777;
}
.error-handle {
margin-top: 30px;
padding-bottom: 200px;
}
.error-btn {
margin-left: 100px;
}
/* 页面主体部分 */
.content-box {
position: absolute;
left: 250px;
/* 控制左侧二级菜单栏的宽度 */
right: 0;
/* top: 70px; */
/* top: 40px; */
top: 30px;
bottom: 0;
overflow-y: scroll;
padding: 10px 20px;
-webkit-transition: left .3s ease-in-out;
transition: left .3s ease-in-out;
background: #f0f0f0;
}
.content {
width: auto;
height: 100%;
padding: 10px;
overflow-y: scroll;
box-sizing: border-box;
}
.content-collapse {
left: 65px;
}
.container {
min-height: 100%;
padding: 20px;
/* 控制主体部分与主体边框的距离 */
background: #fff;
border: 1px solid #ddd;
border-radius: 5px;
}
.crumbs {
margin: 10px 0;
}
.el-table th {
background-color: #f5f7fa !important;
}
.pagination {
margin: 20px 0;
text-align: right;
}
.el-button+.el-tooltip {
margin-left: 10px;
}
.el-table tr:hover {
background: #f6faff;
}
.mgb20 {
margin-bottom: 20px;
}
.move-enter-active,
.move-leave-active {
transition: opacity .5s;
}
.move-enter,
.move-leave {
opacity: 0;
}
/* 表格栏样式 */
.table-container {
margin-top: 20px;
}
/* 分页栏样式 */
.pagination-area {
width: 100%;
text-align: right;
margin: 20px 0 10px 0;
}
/* 测试主体页面的 div 样式 */
.test-div {
margin: 15px;
}
/* 标题的样式 */
.title {
width: 95%;
font-size: 25px;
text-align: left;
border-bottom: 1px solid black;
margin-bottom: 20px;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
}
.el-form-item__label {
font-size: 15px;
}
.chartTitle {
font-size: 15px;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
font-weight: 400;
padding-left: 15px;
box-sizing: border-box;
margin-bottom: 15px;
}
.typeContent>p{
margin-bottom: 20px;
}
.titleIcon{
width: 3px;
height: 18px;
display: inline-block;
background-color: #3297ff;
vertical-align: middle;
}

51
src/assets/css/theme.scss Normal file
View File

@ -0,0 +1,51 @@
.theme1{
/* 将自己想要换肤后变化的样式写入该处,根据自己的需要进行修改和添加 */
.sidebar-el-menu:not(.el-menu--collapse) {
background: #012d4b !important;
}
.sidebar > ul {
background: #012d4b !important;
}
/* 左侧菜单栏样式 */
.el-menu-item{
color: white !important; /* 默认 black */
background: #012d4b !important;
}
.el-menu-item, .el-submenu__title {
background: #012d4b !important;
}
/* 页面顶部的样式 */
.header {
/* background-image:url("../../assets/img/main-bg1-top.jpg");
background-repeat:no-repeat;
background-size:100% 200%; */
background-color: #001d30 !important;
color: white !important;
}
.el-dropdown-link {
color: white !important;
}
/* --------------- 水平一级菜单栏的样式--------------------- */
.el-menu--horizontal > .el-menu-item.is-active {
border-bottom: 2px solid #7FFFD4 !important; /* 默认 blue */
color: #7FFFD4 !important; /* 默认 blue */
}
.el-menu--horizontal > .el-menu-item {
background: transparent !important;
color: white !important; /* 默认 black */
}
.el-menu--horizontal > .el-menu-item:hover {
background: transparent !important;
color: white !important;
}
/* 消息按钮颜色样式 */
.el-icon-bell{
color: white;
}
.el-icon-caret-bottom{
color: white;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Some files were not shown because too many files have changed in this diff Show More