代码提交_10_25
|
@ -0,0 +1,3 @@
|
|||
> 1%
|
||||
last 2 versions
|
||||
not ie <= 8
|
|
@ -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
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"tabWidth": 4,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "none",
|
||||
"printWidth": 140
|
||||
}
|
|
@ -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.
|
|
@ -0,0 +1,5 @@
|
|||
module.exports = {
|
||||
presets: [
|
||||
'@vue/app'
|
||||
]
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
http://172.16.1.168:5000
|
|
@ -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"
|
||||
}]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"Keys":["com.unity.services.core.version"],"Values":[{"m_Value":"1.3.1","m_IsReadOnly":true}]}
|
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 175 B |
After Width: | Height: | Size: 96 B |
After Width: | Height: | Size: 109 B |
After Width: | Height: | Size: 74 B |
After Width: | Height: | Size: 84 B |
|
@ -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 }
|
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.9 KiB |
|
@ -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>
|
|
@ -0,0 +1 @@
|
|||
ws://172.16.1.168:10087/
|
|
@ -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"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"Keys":["com.unity.services.core.version"],"Values":[{"m_Value":"1.3.1","m_IsReadOnly":true}]}
|
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 175 B |
After Width: | Height: | Size: 96 B |
After Width: | Height: | Size: 109 B |
After Width: | Height: | Size: 74 B |
After Width: | Height: | Size: 84 B |
|
@ -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 }
|
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1 @@
|
|||
http://172.16.1.168:5000
|
|
@ -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"
|
||||
}]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"Keys":["com.unity.services.core.version"],"Values":[{"m_Value":"1.3.1","m_IsReadOnly":true}]}
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 175 B |
After Width: | Height: | Size: 96 B |
After Width: | Height: | Size: 109 B |
After Width: | Height: | Size: 74 B |
After Width: | Height: | Size: 84 B |
|
@ -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 }
|
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 2.9 KiB |
|
@ -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>
|
|
@ -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>
|
|
@ -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;
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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' } });
|
||||
};
|
|
@ -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
|
||||
});
|
||||
};
|
|
@ -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}`);
|
||||
};
|
|
@ -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' } });
|
||||
};
|
|
@ -0,0 +1,7 @@
|
|||
import request from '@/utils/request.js';
|
||||
import axios from 'axios';
|
||||
export const loginApi = params => {
|
||||
return axios.get('api/GetZhanghLogin', {
|
||||
params
|
||||
});
|
||||
};
|
|
@ -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
|
||||
})
|
||||
}
|
|
@ -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
|
||||
});
|
||||
};
|
|
@ -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' }
|
||||
})
|
||||
}
|
|
@ -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
|
||||
});
|
||||
};
|
|
@ -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
|
||||
});
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 197 KiB |
After Width: | Height: | Size: 176 KiB |
After Width: | Height: | Size: 187 KiB |
After Width: | Height: | Size: 1.5 KiB |