master
杨陈清 2024-10-17 15:05:15 +08:00
commit 9c5eb19e36
113 changed files with 30762 additions and 0 deletions

2
Code/frontend/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules
node_modules

0
Code/frontend/README.md Normal file
View File

24
Code/frontend/index.html Normal file
View File

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>智能监控行人搜索系统</title>
</head>
<body>
<div id="app"></div>
<script src="https://webapi.amap.com/maps?v=1.4.15&key=6e79f6d236e295632f21b385e363b6e8&plugin=AMap.Scale,AMap.ToolBar,AMap.ControlBar,AMap.DistrictLayer,AMap.MapType,AMap.TileLayer,AMap.Buildings"></script>
<script type="module" src="./src/main.js"></script>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&type=webgl&ak=27nl1AUw50hT0QOadbzejbNStVk9tx1P"></script>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=27nl1AUw50hT0QOadbzejbNStVk9tx1P"></script>
<script type="text/javascript" src="//api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script>
<script src="//mapopen.bj.bcebos.com/github/BMapGLLib/TrackAnimation/src/TrackAnimation.min.js"></script>
<link href="//mapopen.cdn.bcebos.com/github/BMapGLLib/DrawingManager/src/DrawingManager.min.css" rel="stylesheet">
<script type="text/javascript" src="//mapopen.cdn.bcebos.com/github/BMapGLLib/DrawingManager/src/DrawingManager.min.js"></script>
</body>
</html>

View File

@ -0,0 +1,31 @@
{
"name": "vue3_cli_default",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "vite build",
"serve": "vite preview"
},
"dependencies": {
"axios": "^0.27.2",
"echarts": "^5.3.2",
"echarts-extension-amap": "^1.10.1",
"echarts-liquidfill": "^3.1.0",
"echarts-wordcloud": "^2.0.0",
"element-plus": "^2.1.11",
"videojs-flash": "^2.2.1",
"vue": "^3.2.8",
"vue-baidu-map": "^0.21.22",
"vue-echarts": "^6.0.2",
"vue-router": "^4.0.15",
"vue-video-player": "^6.0.0",
"vue3-seamless-scroll": "^1.2.0"
},
"devDependencies": {
"@types/node": "^17.0.33",
"@vitejs/plugin-vue": "^1.6.0",
"@vue/compiler-sfc": "^3.2.6",
"swiper": "^3.4.2",
"vite": "^2.5.2"
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,335 @@
var BMap = window.BMap
var BMapLib = (window.BMapLib = BMapLib || {})
;(function () {
var b = function (m, l, j) {
l = d(l)
var n = m.pointToPixel(l.getNorthEast())
var i = m.pointToPixel(l.getSouthWest())
n.x += j
n.y -= j
i.x -= j
i.y += j
var h = m.pixelToPoint(n)
var k = m.pixelToPoint(i)
return new BMap.Bounds(k, h)
}
var d = function (i) {
var k = f(i.getNorthEast().lng, -180, 180)
var h = f(i.getSouthWest().lng, -180, 180)
var j = f(i.getNorthEast().lat, -74, 74)
var l = f(i.getSouthWest().lat, -74, 74)
return new BMap.Bounds(new BMap.Point(h, l), new BMap.Point(k, j))
}
var f = function (j, k, h) {
k && (j = Math.max(j, k))
h && (j = Math.min(j, h))
return j
}
var a = function (h) {
return '[object Array]' === Object.prototype.toString.call(h)
}
var c = function (l, n) {
var j = -1
if (a(n)) {
if (n.indexOf) {
j = n.indexOf(l)
} else {
for (var k = 0, h; (h = n[k]); k++) {
if (h === l) {
j = k
break
}
}
}
}
return j
}
var e = (BMapLib.MarkerClusterer = function (l, h) {
if (!l) {
return
}
this._map = l
this._markers = []
this._clusters = []
var k = h || {}
this._gridSize = k.gridSize || 60
this._maxZoom = k.maxZoom || 18
this._minClusterSize = k.minClusterSize || 2
this._isAverageCenter = false
if (k.isAverageCenter != undefined) {
this._isAverageCenter = k.isAverageCenter
}
this._styles = k.styles || []
var j = this
this._map.addEventListener('zoomend', function () {
j._redraw()
})
this._map.addEventListener('moveend', function () {
j._redraw()
})
var i = k.markers
a(i) && this.addMarkers(i)
})
e.prototype.addMarkers = function (k) {
for (var j = 0, h = k.length; j < h; j++) {
this._pushMarkerTo(k[j])
}
this._createClusters()
}
e.prototype._pushMarkerTo = function (h) {
var i = c(h, this._markers)
if (i === -1) {
h.isInCluster = false
this._markers.push(h)
}
}
e.prototype.addMarker = function (h) {
this._pushMarkerTo(h)
this._createClusters()
}
e.prototype._createClusters = function () {
var j = this._map.getBounds()
var l = b(this._map, j, this._gridSize)
for (var k = 0, h; (h = this._markers[k]); k++) {
if (!h.isInCluster && l.containsPoint(h.getPosition())) {
this._addToClosestCluster(h)
}
}
}
e.prototype._addToClosestCluster = function (l) {
var p = 4000000
var n = null
// var k = l.getPosition()
for (var m = 0, j; (j = this._clusters[m]); m++) {
var h = j.getCenter()
if (h) {
var o = this._map.getDistance(h, l.getPosition())
if (o < p) {
p = o
n = j
}
}
}
if (n && n.isMarkerInClusterBounds(l)) {
n.addMarker(l)
} else {
// eslint-disable-next-line
var j = new g(this)
j.addMarker(l)
this._clusters.push(j)
}
}
e.prototype._clearLastClusters = function () {
for (var j = 0, h; (h = this._clusters[j]); j++) {
h.remove()
}
this._clusters = []
this._removeMarkersFromCluster()
}
e.prototype._removeMarkersFromCluster = function () {
for (var j = 0, h; (h = this._markers[j]); j++) {
h.isInCluster = false
}
}
e.prototype._removeMarkersFromMap = function () {
for (var j = 0, h; (h = this._markers[j]); j++) {
h.isInCluster = false
this._map.removeOverlay(h)
}
}
e.prototype._removeMarker = function (h) {
var i = c(h, this._markers)
if (i === -1) {
return false
}
this._map.removeOverlay(h)
this._markers.splice(i, 1)
return true
}
e.prototype.removeMarker = function (h) {
var i = this._removeMarker(h)
if (i) {
this._clearLastClusters()
this._createClusters()
}
return i
}
e.prototype.removeMarkers = function (l) {
var k = false
for (var h = 0; h < l.length; h++) {
var j = this._removeMarker(l[h])
k = k || j
}
if (k) {
this._clearLastClusters()
this._createClusters()
}
return k
}
e.prototype.clearMarkers = function () {
this._clearLastClusters()
this._removeMarkersFromMap()
this._markers = []
}
e.prototype._redraw = function () {
this._clearLastClusters()
this._createClusters()
}
e.prototype.getGridSize = function () {
return this._gridSize
}
e.prototype.setGridSize = function (h) {
this._gridSize = h
this._redraw()
}
e.prototype.getMaxZoom = function () {
return this._maxZoom
}
e.prototype.setMaxZoom = function (h) {
this._maxZoom = h
this._redraw()
}
e.prototype.getStyles = function () {
return this._styles
}
e.prototype.setStyles = function (h) {
this._styles = h
this._redraw()
}
e.prototype.getMinClusterSize = function () {
return this._minClusterSize
}
e.prototype.setMinClusterSize = function (h) {
this._minClusterSize = h
this._redraw()
}
e.prototype.isAverageCenter = function () {
return this._isAverageCenter
}
e.prototype.getMap = function () {
return this._map
}
e.prototype.getMarkers = function () {
return this._markers
}
e.prototype.getClustersCount = function () {
var k = 0
for (var j = 0, h; (h = this._clusters[j]); j++) {
h.isReal() && k++
}
return k
}
function g(h) {
this._markerClusterer = h
this._map = h.getMap()
this._minClusterSize = h.getMinClusterSize()
this._isAverageCenter = h.isAverageCenter()
this._center = null
this._markers = []
this._gridBounds = null
this._isReal = false
this._clusterMarker = new BMapLib.TextIconOverlay(
this._center,
this._markers.length,
{
styles: this._markerClusterer.getStyles(),
}
)
}
g.prototype.addMarker = function (k) {
if (this.isMarkerInCluster(k)) {
return false
}
if (!this._center) {
this._center = k.getPosition()
this.updateGridBounds()
} else {
if (this._isAverageCenter) {
var j = this._markers.length + 1
var o = (this._center.lat * (j - 1) + k.getPosition().lat) / j
var m = (this._center.lng * (j - 1) + k.getPosition().lng) / j
this._center = new BMap.Point(m, o)
this.updateGridBounds()
}
}
k.isInCluster = true
this._markers.push(k)
var h = this._markers.length
if (h < this._minClusterSize) {
this._map.addOverlay(k)
return true
} else {
if (h === this._minClusterSize) {
for (var n = 0; n < h; n++) {
this._markers[n].getMap() && this._map.removeOverlay(this._markers[n])
}
}
}
this._map.addOverlay(this._clusterMarker)
this._isReal = true
this.updateClusterMarker()
return true
}
g.prototype.isMarkerInCluster = function (j) {
if (this._markers.indexOf) {
return this._markers.indexOf(j) != -1
} else {
for (var k = 0, h; (h = this._markers[k]); k++) {
if (h === j) {
return true
}
}
}
return false
}
g.prototype.isMarkerInClusterBounds = function (h) {
return this._gridBounds.containsPoint(h.getPosition())
}
g.prototype.isReal = function () {
return this._isReal
}
g.prototype.updateGridBounds = function () {
var h = new BMap.Bounds(this._center, this._center)
this._gridBounds = b(this._map, h, this._markerClusterer.getGridSize())
}
g.prototype.updateClusterMarker = function () {
if (this._map.getZoom() > this._markerClusterer.getMaxZoom()) {
this._clusterMarker && this._map.removeOverlay(this._clusterMarker)
for (var l = 0, j; (j = this._markers[l]); l++) {
this._map.addOverlay(j)
}
return
}
if (this._markers.length < this._minClusterSize) {
this._clusterMarker.hide()
return
}
this._clusterMarker.setPosition(this._center)
this._clusterMarker.setText(this._markers.length)
var k = this._map
var h = this.getBounds()
this._clusterMarker.addEventListener('click', function () {
k.setViewport(h)
})
}
g.prototype.remove = function () {
// eslint-disable-next-line
for (var j = 0, h; (h = this._markers[j]); j++) {
this._markers[j].getMap() && this._map.removeOverlay(this._markers[j])
}
this._map.removeOverlay(this._clusterMarker)
this._markers.length = 0
delete this._markers
}
g.prototype.getBounds = function () {
var k = new BMap.Bounds(this._center, this._center)
for (var j = 0, h; (h = this._markers[j]); j++) {
k.extend(h.getPosition())
}
return k
}
g.prototype.getCenter = function () {
return this._center
}
})()

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,19 @@
let bmapcfg = {
'imgext' : '.jpg', //瓦片图的后缀 ------ 根据需要修改,一般是 .png .jpg
'tiles_dir' : 'tiles', //普通瓦片图的地址,为空默认在 offlinemap/tiles/ 目录
// 'tiles_path': 'http://192.168.20.21:8082/', // 这个地址是瓦片文件本地起的服务器地址
'tiles_path': 'F:/Desktop/IntelligentSecurity/IntelligentSecurity_V_0.0.2/tiles', // 这个地址是瓦片文件本地起的服务器地址
'tiles_hybrid': '', //卫星瓦片图的地址,为空默认在 offlinemap/tiles_hybrid/ 目录
'tiles_self' : '' //自定义图层的地址,为空默认在 offlinemap/tiles_self/ 目录
};
//////////////////下面的保持不动///////////////////////////////////
var scripts = document.getElementsByTagName("script");
var JS__FILE__ = scripts[scripts.length - 1].getAttribute("src"); //获得当前js文件路径
bmapcfg.home = JS__FILE__.substr(0, JS__FILE__.lastIndexOf("/")+1); //地图API主目录
(function(){
window.BMap_loadScriptTime = (new Date).getTime();
//加载地图API主文件
document.write('<script type="text/javascript" src="'+bmapcfg.home+'bmap_offline_api_v3.0_min.js"></script>')
})();
///////////////////////////////////////////////////////////////////

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('clayer', 'z.extend(nb.prototype,{cl:{},Bj:[],Pu:"",jq:"",MG:"",dl:s,Jg:s,Ig:s,Hg:[],LG:0,pz:u(),lz:u(),Ku:u(),Sd:function(){this.UG()},na:function(a,b){Mc.prototype.na.call(this,a,b);this.cl={};this.Bj=[];this.B=a;this.UG()},zt:ca(q),remove:function(){Mc.prototype.remove.call(this);this.fU()},UG:function(){var a=this,b=a.B;b&&(this.pz=function(b){a.yT(b)},this.lz=function(b){a.XS(b)},this.Ku=function(b){a.WS(b)},b.addEventListener("mousemove",this.pz),b.addEventListener("onhotspotover",this.lz),b.addEventListener("onhotspotout", this.Ku),b.addEventListener("onzoomstart",this.Ku))},fU:function(){var a=this.B;a&&(a.removeEventListener("mousemove",this.pz),a.removeEventListener("onhotspotover",this.lz),a.removeEventListener("onhotspotout",this.Ku))},yT:function(a){var b=this,c=b.B,e=c.oa();if(c.fa()<this.gc||c.Sb())b.xB();else if(a=e.wm().kh(a.point),e=e.$c(),a=new Q(Math.floor(a.x*Math.pow(2,c.fa()-18)),Math.floor(a.y*Math.pow(2,c.fa()-18))),e=new Q(Math.floor(a.x/e),Math.floor(a.y/e)),this.jq=c=e.x+"_"+e.y+"_"+c.fa(),this.cl[c]){if(this.Pu!= c){b.xB();b.TG(this.cl[c]);this.Pu=c;for(var e=-1,a=0,f=this.Bj.length;a<f;a++)if(c==this.Bj[a]){e=a;break}0<=e&&(this.Bj.splice(e,e),this.Bj.push(c))}}else if(this.MG!=c){this.MG=c;e=Wc[parseInt(Math.random()*Wc.length)];a=b.ub;c=e+"/data?grids="+c+"&q="+a.Wm+"&tags="+a.pu+"&filter="+a.filter+"&sortby="+a.Vy+"&ak="+a.Vl+"&page_size="+a.ON+"&age="+a.Gw;b.Cf?c+="&geotable_id="+b.Cf:b.Rn&&(c+="&databox_id="+b.Rn);var g=(1E5*Math.random()).toFixed(0);!B._rd&&(B._rd={});B._rd["_cbk"+g]=function(a){b.PS(a); delete B._rd["_cbk"+g]};oa(c+("&callback=BMap._rd._cbk"+g))}},PS:function(a){var b=this.B,c=a.content;if(!(a.status!=this.LG||!c||1>c.length)){for(var a=[],e=c[0].data,b=b.oa().wm(),f=0,g=e.length;f<g;f++){var i=e[f][2].replace(nb.tU,"").split(","),i=b.nh(new J(i[0],i[1]));a.push({pt:i,userdata:{name:e[f][0]||"name",size:e[f][4]?e[f][4].split("|"):[10,13],uid:e[f][1]||"",BO:e[f][3]||"sid1"}})}c=c[0].grid.join("_");this.cl[c]=a;this.Bj.push(c);30<this.Bj.length&&(c=this.Bj.shift(),delete this.cl[c], delete c);this.Pu!=this.jq&&(this.xB(),this.cl[this.jq]&&(this.TG(this.cl[this.jq]),this.Pu=this.jq))}},TG:function(a){for(var b=this.B,c=0,e=a.length;c<e;c++){var f=a[c].userdata.size,g=f[0]/2,f=f[1]/2,g=new ib(a[c].pt,{offsets:[f,g,f,g],userData:a[c].userdata});b.Cw(g,this.ub.Fk)}},xB:function(){this.B.dm(this.ub.Fk)},XS:function(a){if(a.spots&&!(1>a.spots.length||a.spots[0].tag!=this.ub.Fk)){this.Hg=a.spots;var b=this,a=this.Hg[0].getUserData().size[0],c="",e=b.B,f="",g=b.ub.eZ;0<this.Hg.length&& (c=this.Hg[0].getUserData().name);if(this.Jg)this.Jg.sa(this.Hg[0].ga()),this.Ig.dd(c),this.Ig.Ze(new O(a,0)),this.Jg.show(),c?this.Ig.show():this.Ig.U();else{var i=this.Hg[0].getUserData().size,f=this.Hg[0].getUserData().BO,k=this.Cf||this.Rn;this.dl=new qc(G.qa+"blank.gif",new O(i[0],i[1]),{anchor:new O(i[0]/2+1,i[1]/2+1)});this.GS(k,f,function(){b.Jg&&b.Jg.Rb(b.dl)});this.Jg=new U(this.Hg[0].ga(),{icon:this.dl,enableMassClear:t});e.Ga(this.Jg);this.Ig=new uc(c,{offset:new O(a,0)});this.Ig.Md({backgroundColor:g.backgroundColor, borderColor:g.borderColor});this.Jg.dn(this.Ig);c?this.Ig.show():this.Ig.U();this.Jg.addEventListener("onclick",function(){if(!(b.Hg.length<1)&&b.Hg[0].getUserData().uid){var a=b.ub,c=a.BY;if(b.Cf)c=a.CY;a=c+b.Hg[0].getUserData().uid+"?scope=2&ak="+a.Vl;b.Cf&&(a=a+("&geotable_id="+b.Cf));var e=(Math.random()*1E5).toFixed(0);!B._rd&&(B._rd={});B._rd["_cbk"+e]=function(a){b.FS(a);delete B._rd["_cbk"+e]};oa(a+("&callback=BMap._rd._cbk"+e))}})}}},FS:function(a){var b=a.content;this.Cf&&(b=a.contents[0]); if(a&&a.status==this.LG&&b){var a={poiId:b.uid||"",databoxId:b.databox_id||"",title:this.Cf?b.title:b.name,address:this.Cf?b.address:b.addr,phoneNumber:b.tel||"",postcode:b.zip||"",provinceCode:1*b.province_id||-1,province:b.province||"",cityCode:1*b.city_id||-1,city:b.city||"",districtCode:1*b.district_id||-1,district:b.district||"",point:this.Cf?new J(b.location[0],b.location[1]):new J(b.longitude,b.latitude),tags:b.tag&&b.tag.replace(nb.wU,"").split(nb.uU),typeId:1*b.cla||-1,extendedData:b.ext|| {}},c=new z.lang.Ju("onhotspotclick");c.customPoi=a;c.content=b;this.dispatchEvent(c)}},WS:function(){this.Jg&&this.Jg.U();this.Ig&&this.Ig.U()},GS:function(a,b,c){var e=this,f=Xc+"?method=getstyle&databox="+a+"&sid="+b,g=(1E5*Math.random()).toFixed(0);if(!e.dl||!(e.dl.databoxid==a&&e.dl.sid==b))!B._rd&&(B._rd={}),B._rd["_cbk"+g]=function(a){var b="";0==a.status&&(b="data:image/png;base64,"+a.content.sid1);0<b.length&&(e.dl.mO(b),c&&c(a));delete B._rd["_cbk"+g]},oa(f+("&callback=BMap._rd._cbk"+g))}}); ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('common', 'z.cookie=z.cookie||{};z.cookie.oI=function(a){return RegExp(\'^[^\\\\x00-\\\\x20\\\\x7f\\\\(\\\\)<>@,;:\\\\\\\\\\\\"\\\\[\\\\]\\\\?=\\\\{\\\\}\\\\/\\\\u0080-\\\\uffff]+$\').test(a)};z.cookie.cY=function(a){return z.cookie.oI(a)&&(a=RegExp("(^| )"+a+"=([^;]*)(;|$)").exec(document.cookie))?a[2]||s:s};z.cookie.get=function(a){a=z.cookie.cY(a);return"string"==typeof a?a=decodeURIComponent(a):s}; z.cookie.vO=function(a,b,c){if(z.cookie.oI(a)){var c=c||{},e=c.qx;"number"==typeof c.qx&&(e=new Date,e.setTime(e.getTime()+c.qx));document.cookie=a+"="+b+(c.path?"; path="+c.path:"")+(e?"; expires="+e.toGMTString():"")+(c.domain?"; domain="+c.domain:"")+(c.i5?"; secure":"")}};z.cookie.set=function(a,b,c){z.cookie.vO(a,encodeURIComponent(b),c)};z.cookie.remove=function(a,b){b=b||{};b.qx=new Date(0);z.cookie.vO(a,"",b)};z.xt=function(a){return/\\d{11}/.test(a)};z.TY=function(a){return/\\d{4}/.test(a)}; z.is=function(){function a(a){a=a.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,function(a,b,c,e){return b+b+c+c+e+e});return(a=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(a))?"rgb("+parseInt(a[1],16)+","+parseInt(a[2],16)+","+parseInt(a[3],16)+")":s}var b={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887", cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3", deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6", lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee", mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6", purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}, c={hex:/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,rgb:/rgb\\(\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*\\)/,rgba:/rgba\\(\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(0|1|0\\.[1-9])\\s*\\)/};return{cK:function(a){if(c.hex.test(a))return a;if(c.rgb.test(a))return a=a.match(c.rgb),"#"+("0"+parseInt(a[1],10).toString(16)).slice(-2)+("0"+parseInt(a[2],10).toString(16)).slice(-2)+ ("0"+parseInt(a[3],10).toString(16)).slice(-2);if(b[a])return b[a]},S3:a,x2:function(a){return c.hex.test(a)?a:b[a]?b[a]:"#000"},AC:function(e,f){f===l&&(f=1);if(c.rgba.test(e))return e;"undefined"!=typeof b[e.toLowerCase()]&&(e=b[e.toLowerCase()]);c.hex.test(e)&&(e=a(e));c.rgb.test(e)?(e=e.replace(/rgb/g,"rgba"),e=e.replace(/\\)/,","+f+")")):e="rgba(0,0,0,1)";return e}}}(); ');

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('convertor', 'z.extend(lc.prototype,{qQ:function(){for(var a=0,b=this.Pa.length;a<b;a++){var c=this.Pa[a];this[c.method].apply(this,c.arguments)}delete this.Pa},translate:function(a,b,c,e){b=b||1;c=c||5;if(10<a.length)e&&e({status:25});else{var f=B.Wc+"geoconv/v1/?coords=";z.Fb(a,function(a){f+=a.lng+","+a.lat+";"});f=f.replace(/;$/gi,"");f=f+"&from="+b+"&to="+c+"&ak="+qa;oa(f,function(a){if(0===a.status){var b=[];z.Fb(a.result,function(a){b.push(new B.Point(a.x,a.y))});delete a.result;a.points=b}e&&e(a)})}}}); ');

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('coordtransutils', 'z.extend(eb,{AV:function(a,b,c){var e=S.Eb(a),a=b.fc,e=kc.ZD(b.Ub||"bj",e),e=new J(e.x,e.y),f=b.fa(),f=b.oa().dc(f),b=b.cb(),b=new Q(Math.round((e.lng-a.lng)/f+b.width/2),Math.round((a.lat-e.lat)/f+b.height/2));c&&c(b)},zV:function(a,b,c){var e=b.fa(),e=b.oa().dc(e),f=b.cb(),g=b.fc,b=b.Ub,a=new J(g.lng+e*(a.x-f.width/2),g.lat-e*(a.y-f.height/2)),a=kc.XD(b||"bj",a),a=new J(a.lng,a.lat),a=S.Tb(a);c&&c(a)}}); ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('copyrightctrl', 'z.extend($b.prototype,{zf:function(){this.B&&this.He(this.B)},initialize:function(a){Vb.prototype.initialize.call(this,a);this.Aa();this.uo();this.ba(a);return this.C},ba:function(a){var b=this;a.addEventListener("load",function(){b.uo()});a.addEventListener("moveend",function(){b.uo()});a.addEventListener("zoomend",function(){b.uo()});a.addEventListener("maptypechange",function(){b.C&&(b.C.style.color=b.B.oa().zm())})},Aa:function(){Vb.prototype.Aa.call(this);z.D.Ua(this.C,"BMap_cpyCtrl");var a= this.C.style;a.cursor="default";a.whiteSpace="nowrap";a.MozUserSelect="none";a.color=this.B.oa().zm();a.background="none";a.font="11px/15px "+G.fontFamily;Vb.prototype.Nr.call(this)},uo:function(){if(this.B&&this.C&&0!=this.cc.length)for(var a=0,b=this.cc.length;a<b;a++){this.B.fa();var c=this.B.xb({x:0,y:0}),e=this.B.xb({x:this.B.width,y:this.B.height}),c=new fb(c,e);if(this.cc[a].bounds&&c.ot(this.cc[a].bounds)==s){if(this.C)for(e=0;e<this.C.children.length;e++)if(this.C.children[e].getAttribute("_cid")== this.cc[a].id&&"none"!=this.C.children[e].style.display){this.C.children[e].style.display="none";return}}else if(this.C){for(var c=t,e=0,f=this.C.children.length;e<f;e++)if(this.C.children[e].getAttribute("_cid")==this.cc[a].id){c=q;this.C.children[e].style.display="inline";this.C.children[e].innerHTML!=this.cc[a].content&&(this.C.children[e].innerHTML=this.cc[a].content);break}c||this.Uq(this.cc[a])}}},Bw:function(a){if(a&&Wa(a.id)&&!isNaN(a.id)){var b={bounds:s,content:""},c;for(c in a)b[c]=a[c]; if(a=this.pm(a.id))for(var e in b)a[e]=b[e];else this.cc.push(b);this.uo()}},pm:function(a){for(var b=0,c=this.cc.length;b<c;b++)if(this.cc[b].id==a)return this.cc[b]},PD:w("cc"),qF:function(a){for(var b,c=0,e=this.cc.length;c<e;c++)this.cc[c].id==a&&(b=this.cc.splice(c,1),c--,e=this.cc.length);(a=this.Jd(a))&&a.parentNode&&a.parentNode.removeChild(a);this.uo();return b},Uq:function(a){this.C&&(this.C.innerHTML+="<span _cid=\'"+a.id+"\'>"+a.content+"</span>")},Jd:function(a){var b=Vb.prototype.Jd.call(this); if(Hb(a)){if(b)for(var c=0,e=b.children.length;c<e;c++)if(b.children[c].getAttribute("_cid")==a)return b.children[c]}else return b}});T(wf,{addCopyright:wf.Bw,removeCopyright:wf.qF,getCopyright:wf.pm,getCopyrightCollection:wf.PD}); ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('draw', 'function Ag(){}var Bg=Ag.prototype;Bg.IF=u();Bg.Ao=function(){aa("addLine\\u63a5\\u53e3\\u6ca1\\u6709\\u5b9e\\u73b0")};Bg.setAttribute=function(){aa("setAttribute\\u63a5\\u53e3\\u6ca1\\u6709\\u5b9e\\u73b0")};Bg.ke=function(){aa("setPath\\u63a5\\u53e3\\u6ca1\\u6709\\u5b9e\\u73b0")};Bg.ip=w("Mb");B.jz=Ag; ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('drawbycanvas', 'function Gg(a){this.B=a;this.NQ={strokeweight:"lineWidth",strokecolor:"strokeStyle",fillcolor:"fillStyle",strokeopacity:"globalAlpha",fillopacity:"globalAlpha"};this.Mb="canvas"}Gg.prototype=new B.jz;var Hg=Gg.prototype;Hg.Ao=function(){if(!this.canvas||this.canvas&&!zb(this.canvas)){var a=this.canvas=L("canvas");this.B.Tf().Et.appendChild(a);a.style.position="absolute";a=a.getContext("2d");a.lineCap="round";a.lineJoin="round";a.save();this.zU(this.canvas)}return this.canvas}; Hg.ke=function(a,b,c){if(a&&0!==b[0].length){var e=a.getContext("2d");this.sa(a);var f=parseInt(a.style.top),g=parseInt(a.style.left);e.beginPath();z.mc.Fb(b,function(a){if(0!==a.length){e.moveTo(a[0].x-g,a[0].y-f);for(var b=1,c=a.length;b<c;b++)e.lineTo(a[b].x-g,a[b].y-f)}});this.FR(a,c);"dashed"===c.strokeStyle&&this.HR(e,b,g,f,c)}}; Hg.HR=function(a,b,c,e,f){var g=this;a.beginPath();z.mc.Fb(b,function(b){if(0!==b.length){for(var k=[],m=0,n=b.length;m<n;m++)k.push({x:b[m].x-c,y:b[m].y-e});a.strokeStyle=f.strokeColor||"#3a6bdb";g.GR(a,k,{lineWidth:f.rc||5,interval:2*f.rc||10,lineLength:2*f.rc||10,strokeStyle:g.JS(a.strokeStyle,f.td)})}})}; Hg.GR=function(a,b,c){for(var c=c||{},e=c.Wx||10,f=c.lineWidth||5,g=c.m4||10,c=c.strokeStyle||"#3a6bdb",i=b.length-1,k=0,m=g+e,n=0,o=0;o<i;o++)var p=b[o].x,v=b[o].y,x=b[o+1].x,y=b[o+1].y,n=n+Math.sqrt((x-p)*(x-p)+(y-v)*(y-v));if(n<g)a.strokeStyle=c,a.lineWidth=f,a.lineJoin="round",a.lineCap="round",a.beginPath(),a.moveTo(b[0].x,b[0].y),a.lineTo(b[i].x,b[i].y),a.stroke();else for(n=0;n<i;n++){var p=b[n].x,v=b[n].y,x=b[n+1].x,y=b[n+1].y,o=Math.sqrt((x-p)*(x-p)+(y-v)*(y-v))+k+g,A=m-Math.abs(k);if(k<= m){var E=parseInt(o/m),C=e*(x-p)/o,F=e*(y-v)/o;xMove=g*(x-p)/o;yMove=g*(y-v)/o;startX=p+A*(x-p)/o;startY=v+A*(y-v)/o;tailX=p+(g-Math.abs(k))*(x-p)/o;tailY=v+(g-Math.abs(k))*(y-v)/o;a.beginPath();a.strokeStyle=c;a.lineJoin="round";a.lineCap="round";a.lineWidth=f;D?a.moveTo(D,I):a.moveTo(p,v);0>=k&&a.lineTo(p,v);a.lineTo(tailX,tailY);a.moveTo(startX,startY);D=0;for(I=2*E;D<I;D++)if(D%2)startX+=C,startY+=F,a.moveTo(startX,startY);else{startX+=xMove;startY+=yMove;if(0>(x-startX)*xMove)break;a.lineTo(startX, startY)}a.stroke()}var k=parseInt(o-m*E)-g,D=x-Math.abs(k)*(x-p)/o,I=y-Math.abs(k)*(y-v)/o;n===i-1&&0<k&&(a.beginPath(),a.strokeStyle=c,p=x-k*(x-p)/o,leftY=y-k*(y-v)/o,k<=g?(a.moveTo(p,leftY),a.lineTo(x,y)):(a.moveTo(p,leftY),a.moveTo(p+xMove,leftY+yMove)),a.stroke())}}; Hg.JS=function(a,b){if(4===a.length)var c=parseInt(a.substr(1,1)+a.substr(1,1),16),e=parseInt(a.substr(2,1)+a.substr(2,1),16),f=parseInt(a.substr(3,1)+a.substr(3,1),16);else c=parseInt(a.substr(1,2),16),e=parseInt(a.substr(3,2),16),f=parseInt(a.substr(5,2),16);return c="rgba("+c+","+e+","+f+","+b+")"};Hg.setAttribute=function(a,b,c){if(a){var e=a.getContext("2d"),f=this.Wq(b);try{e[f]=c}catch(g){}a.setAttribute("_"+b,c||"");e.save()}};Hg.Wq=function(a){return this.NQ[a]||a}; Hg.zU=function(a){var b=this.B,c=b.K.lx,e=b.width+2*c,f=b.height+2*c,g=-b.offsetX-c,b=-b.offsetY-c,c=a.getContext("2d"),i={strokeStyle:c.strokeStyle,fillStyle:c.fillStyle,globalAlpha:c.globalAlpha,lineWidth:c.lineWidth,lineCap:"round",lineJoin:"round"};a.setAttribute("width",e);a.setAttribute("height",f);for(var k in i)c[k]=i[k];c.save();a=a.style;a.top=b+"px";a.left=g+"px"};Hg.XQ=function(a){a.clearRect(0,0,9999,9999)}; Hg.FR=function(a,b){var c=a.getContext("2d");c.globalAlpha=a.getAttribute("_fillopacity");0!==c.globalAlpha&&a.getAttribute("_fillcolor")&&c.fill();c.globalAlpha=a.getAttribute("_strokeopacity");0!==c.globalAlpha&&(a.getAttribute("_strokecolor")&&"dashed"!==b.strokeStyle)&&c.stroke()};Hg.sa=function(a){var b=this.B,c=b.K.lx,e=-b.offsetX-c,a=a.style;a.top=-b.offsetY-c+"px";a.left=e+"px"};B.zP=Gg; ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('drawbysvg', 'function Cg(a){this.B=a;this.NG="http://www.w3.org/2000/svg";this.TU={strokeweight:"stroke-width",strokecolor:"stroke",fillcolor:"fill",strokeopacity:"stroke-opacity",fillopacity:"fill-opacity",strokestyle:"stroke-dasharray"};this.hf=this.Zz();this.Mb="svg"}Cg.prototype=new B.jz;var Dg=Cg.prototype; Dg.Zz=function(){var a=this.hf=L("svg",{},this.NG);a.setAttribute("version","1.1");a.setAttribute("type","system");a.style.position="absolute";this.IF();this.B.Tf().Et.appendChild(a);z.M(a,H()?"touchstart":"mousedown",Cb);return a}; Dg.IF=function(){if(this.hf){var a=this.hf,b=this.B,c=b.K.lx,e=b.width+2*c,f=b.height+2*c,g=-b.offsetX-c,b=-b.offsetY-c;this.setAttribute(a,"x",e+"px");this.setAttribute(a,"y",f+"px");this.setAttribute(a,"viewBox",g+" "+b+" "+e+" "+f);a=a.style;a.top=b+"px";a.left=g+"px";a.width=e+"px";a.height=f+"px"}};Dg.H3=w("hf");Dg.setAttribute=function(a,b,c,e){if(a)return"strokestyle"==b&&(c="solid"==c?0:2*e),a.setAttributeNS(s,this.Wq(b),c||"none"),a};Dg.Wq=function(a){return this.TU[a]||a}; Dg.Ao=function(){var a=L("path",{},this.NG);this.setAttribute(a,"stroke-linejoin","round");this.setAttribute(a,"stroke-linecap","round");this.setAttribute(a,"fill-rule","evenodd");this.hf.appendChild(a);return a};Dg.ke=function(a,b){var c=this.tA(b)||"M -9999,-9999";this.setAttribute(a,"d",c)};Dg.tA=function(a){if(0==a.length)return"";var b=[];z.mc.Fb(a,function(a){if(!(2>a.length)){b.push("M "+a[0].x+" "+a[0].y+" L");for(var e=1,f=a.length;e<f;e++)b.push(a[e].x),b.push(a[e].y)}});return b.join(" ")}; B.ZP=Cg; ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('drawbyvml', 'function Eg(a){this.B=a;this.dV={strokeweight:"weight",strokecolor:"color",fillcolor:"color",strokeopacity:"opacity",fillopacity:"opacity",strokestyle:"dashstyle"};this.Mb="vml"}Eg.zK={orange:"#ffa500"};Eg.prototype=new B.jz;var Fg=Eg.prototype; Fg.setAttribute=function(a,b,c){a&&(0==b.indexOf("stroke")?a=a.getElementsByTagName("stroke")[0]:0==b.indexOf("fill")&&(a=a.getElementsByTagName("fill")[0]),0<b.indexOf("color")&&(c?(a.on=q,Eg.zK[c]&&(c=Eg.zK[c])):a.on=t),"strokestyle"==b&&(c="solid"==c?"solid":"4 2 1 2"),"strokeweight"==b&&(c+="px"),a[this.Wq(b)]=c||"")};Fg.Wq=function(a){return this.dV[a]||a};Fg.Ao=function(){return Ab(this.B.Tf().Et,\'<v:shape style="behavior:url(#default#VML);z-index:1;width:1px;height:1px;position:absolute;left:0;top:0;"coordsize="1,1" coordorigin="0,0" filled="t" fillcolor="white"><v:stroke style="behavior:url(#default#VML);" endcap="round" oned="true" /><v:fill style="behavior:url(#default#VML)" /></v:shape>\')}; Fg.ke=function(a,b){this.setAttribute(a,"path",this.tA(b));6==z.ca.ia&&(a.style.display="none",a.style.display="")};Fg.tA=function(a){if(0==a.length)return"";var b=[];z.mc.Fb(a,function(a){if(!(2>a.length)){b.push("m "+a[0].x+" "+a[0].y+" l");for(var e=1,f=a.length;e<f;e++)b.push(a[e].x),b.push(a[e].y);b.push("e")}});return b.join(" ")||" "};B.bQ=Eg; ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('geoctrl', 'z.extend(Zb.prototype,{initialize:function(a){var b=this;Vb.prototype.initialize.call(b,a);b.Aa();b.pr={"default":B.ka+"images/geolocation-control/mobile/default-40x40.png",loading:B.ka+"images/geolocation-control/mobile/loading-40x40.gif",success:B.ka+"images/geolocation-control/mobile/success-40x40.png",fail:B.ka+"images/geolocation-control/mobile/fail-40x40.png"};b.ij=b.C.children[0];b.FD=b.ij.children[0];b.Xo=b.FD.children[0];b.DD=b.ij.children[1];b.vL=b.DD.children[0].children[0];var c;b.B.addEventListener("moveend", function(){if(c){var a=b.B.Ka();a.lng===c.lng&&a.lat===c.lat?b.Lr(b.pr.success):(b.Lr(b.pr["default"]),b.VQ())}});z.M(b.Xo,"click",function(){b.Lr(b.pr.loading);(new Geolocation({timeout:1E4})).getCurrentPosition(function(e){b.Lr(b.pr.success);if(e.address&&b.j.O_){var f="";e.address.city?f+=e.address.city:e.address.province&&(f+=e.address.province);e.address.district&&(f+=e.address.district);e.address.street&&(f+=e.address.street);e.address.street_number&&(f+=e.address.street_number);b.xU(f)}var f= new J(e.longitude,e.latitude),g=new U(f,{icon:b.j.bN?b.j.bN:new qc(B.ka+"images/geolocation-control/point/position-icon-14x14.png",new O(14,14))});c=f;b.GD=f;a.Ga(g);a.Fd(f,15);e.address&&(b.ds={province:e.address.province||"",city:e.address.city||"",district:e.address.district||"",street:e.address.street||"",streetNumber:e.address.street_number||""},Ra(7001,{longitude:e.longitude,latitude:e.latitude,accuracy:e.accuracy}));e=new P("locationSuccess");e.point=b.GD;e.addressComponent=b.ds;b.dispatchEvent(e)}, function(a){b.Lr(b.pr.fail);var c=new P("locationError");c.code=a.errorCode;c.message=a.uk;b.dispatchEvent(c)})});return b.C},location:function(){var a=this;a.I0.push({});(new Geolocation({timeout:1E4})).getCurrentPosition(function(b){a.GD=new J(b.longitude,b.latitude);b.address&&(a.ds={province:b.address.province||"",city:b.address.city||"",district:b.address.district||"",street:b.address.street||"",streetNumber:b.address.street_number||""});b=new P("locationSuccess");b.point=a.GD;b.addressComponent= a.ds;a.dispatchEvent(b)},function(b){var c=new P("locationError");c.code=b.errorCode;c.message=b.uk;a.dispatchEvent(c)})},xX:function(){return this.ds?this.ds:s},sQ:function(){this.B?this.He(this.B):this.map&&this.He(this.map)},Aa:function(){Vb.prototype.Aa.call(this);this.C.style.cssText="height: 32px;";this.C.innerHTML=this.Vq()},Vq:function(){return[\'<div class="BMap_geolocationContainer" style="height: 32px; margin: 0px; box-sizing: border-box; border: 1px solid #d9d7d5; border-radius: 3px; -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2); overflow: hidden;">\', \'<div class="BMap_geolocationIconBackground" style="float: left; width: 32px; height: 32px; background-image: url(\\\'\'+B.ka+"images/geolocation-control/mobile/gradient-bg-1x64.png\'); background-size: 1px 32px; background-repeat: repeat-x;\\">",\'<div class="BMap_geolocationIcon" style="width: 32px; height: 32px; cursor: pointer; background-image: url(\\\'\'+B.ka+"images/geolocation-control/mobile/default-40x40.png\'); background-size: 20px 20px; background-repeat: no-repeat; background-position: center center;\\"></div>", "</div>",\'<div class="BMap_geolocationAddress" style="display: none; float: left; min-width: 50px; padding-left: 10px; padding-right: 10px; border-left: 1px solid #d9d7d5; background-image: url(\'+B.ka+\'images/geolocation-control/mobile/gradient-bg-1x64.png); background-size: 1px 32px; background-repeat: repeat-x;">\',\'<div style="height: 32px; display: table-cell; vertical-align: middle;"><div class="BMap_geolocationAddressText" style="font-size: 12px; color: #666666; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; display: block; min-width: 50px; max-width: 200px;"></div></div></div></div>\'].join("")}, Lr:function(a){this.Xo.style.backgroundImage="url(\'"+a+"\')"},xU:function(a){this.DD.style.display="block";this.vL.textContent=a},VQ:function(){this.vL.textContent="";this.DD.style.display="none"}});Zb.prototype.location=Zb.prototype.location;Zb.prototype.getAddressComponent=Zb.prototype.xX; ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('groundoverlay', 'z.extend(vc.prototype,{ib:function(){if(this.map){this.V||this.Ej();var a=this.map.fa();if(a<this.z.Bs||a>this.z.As)this.U();else{var b=this.z.bb.Ve(),c=this.z.bb.Rf(),a=this.map.Xe(b).x,e=this.map.Xe(c).y,c=this.map.Xe(c).x,b=this.map.Xe(b).y;this.V.style.left=a+"px";this.V.style.top=e+"px";this.V.style.width=c-a+"px";this.V.style.height=b-e+"px";this.show()}}},draw:function(){this.ib()},Ej:function(){if(!this.V){this.V=document.createElement("div");var a=this.V.style;a.cssText="position: absolute; -moz-user-select: none; overflow: hidden;"; a.zIndex=mc.Ck(this.z.bb.Ve().lat);this.z.opacity&&(a.opacity=this.z.opacity,a.filter="alpha(opacity="+100*parseInt(this.z.opacity,10)+")");this.Og=document.createElement("img");this.Og.style.width="100%";this.z.X_&&(this.Og.style.height="100%");this.V.appendChild(this.Og);var b=this;this.Og.onload=function(){b.P1=b.Og.naturalWidth||b.Og.width;b.O1=b.Og.naturalHeight||b.Og.height};this.z.Gm&&(this.Og.src=this.z.Gm);this.map.Tf().KE.appendChild(this.V);b=this;z.M(this.V,"click",function(a){b.dispatchEvent(new P("click"), a)});z.M(this.V,"dblclick",function(a){b.dispatchEvent(new P("dblclick"),a)})}},s_:function(a){this.z.bb=a;this.map&&this.ib();this.V.style.zIndex=mc.Ck(this.z.bb.Ve().lat)},ve:function(){return this.z.bb},HF:function(a){this.z.opacity=a;this.V.style.opacity=a;this.V.style.filter="alpha(opacity="+100*parseInt(a,10)+")"},XX:function(){return this.z.opacity},x_:function(a){this.z.Gm=a;this.Og&&(this.Og.src=a)},KX:function(){return this.z.Gm},p5:function(a){this.z.Bs=a},r3:function(){return this.z.Bs}, o5:function(a){this.z.As=a},q3:function(){return this.z.As}});vc.prototype.setBounds=vc.prototype.s_;vc.prototype.getBounds=vc.prototype.ve;vc.prototype.setOpacity=vc.prototype.HF;vc.prototype.getOpacity=vc.prototype.XX;vc.prototype.setImageURL=vc.prototype.x_;vc.prototype.getImageURL=vc.prototype.KX;vc.prototype.setDispalyOnMinLevel=vc.prototype.n5;vc.prototype.setDispalyOnMaxLevel=vc.prototype.m5; ');

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('hotspot', 'B.Ye(function(a){function b(a){var b=this.R;b.Qe=[];if(this.Jh)for(var c in this.Jh)if(!(0==c.indexOf("vector_")&&!this.Sb()||0==c.indexOf("tile_")&&this.Sb())){var i=this.Jh[c],k;for(k in i){var m=i[k];if(!(m.Lh>this.fa()||m.Hf<this.fa())){var n=this.$b(m.ga());n.x<this.width&&n.y<this.height&&a.offsetX<n.x+m.Jv[1]&&(a.offsetX>n.x-m.Jv[3]&&a.offsetY>n.y-m.Jv[0]&&a.offsetY<n.y+m.Jv[2])&&b.Qe.push(m)}}}}function c(){a.R.XK&&0<a.R.Qe.length?(a.platform.style.cursor="pointer",a.R.XK=t):(a.R.Qe=[],a.platform.style.cursor= a.K.Vb)}a.R.ju=new uc("",{za:new O(15,-3),Wp:{border:"1px solid #aaa",background:"#fffec2",whiteSpace:"nowrap",font:"12px "+G.fontFamily,mozBoxShadow:"1px 2px 6px #666",webkitBoxShadow:"1px 2px 6px #666",boxShadow:"1px 2px 6px #666",padding:"2px 4px"}});a.addEventListener("mousemove",function(c){if(!(c.fb&&!(c.fb instanceof oc)||c.zb)){var f=this.R,g=f.Qe.slice(0);b.call(this,c);for(var i=f.Qe.slice(0),k=0;k<g.length;k++)for(var m=0;m<i.length;m++)g[k]===i[m]&&(g.splice(k,1),k--,i.splice(m,1),m--); if(0<g.length){var n=new P("onhotspotout");n.spots=g.slice(0);this.dispatchEvent(n)}if(0==f.Qe.length&&!f.$x)this.platform.style.cursor!=this.K.Vb&&(this.platform.style.cursor=this.K.Vb),f.Up&&(clearTimeout(f.Up),f.Up=s),f.QF=setTimeout(function(){f.ju.U()},400);else if(0<i.length&&(this.platform.style.cursor="pointer",n=new P("onhotspotover"),n.spots=i.slice(0),this.dispatchEvent(n),f.Up&&(clearTimeout(f.Up),f.Up=s),f.QF&&(clearTimeout(f.QF),f.QF=s),n.spots[0].eE()))f.Up=setTimeout(function(){f.ju.dd(n.spots[0].eE()); f.ju.sa(c.point);f.ju.show();a.Ga(f.ju)},400)}});a.addEventListener("clickex",function(a){var c=this.R;a.overlay||(0==c.Qe.length&&b.call(this,a),0<c.Qe.length&&(a=new P("onhotspotclick"),a.spots=c.Qe.slice(0),a.spots.sort(function(a,b){return a.ga().lat-b.ga().lat}),this.dispatchEvent(a),c.Qe.length=0))});a.addEventListener("load",c);a.addEventListener("moveend",c);a.addEventListener("zoomend",c);a.addEventListener("dragend",function(){this.R.XK=q})}); ');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('markeranimation', 'Ic[1]={options:{duration:400},Cm:[{Zb:0,translate:[0,-500],jc:"ease-in"},{Zb:0.5,translate:[0,0],jc:"ease-out"},{Zb:0.75,translate:[0,-20],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}],du:[{Zb:0,translate:[375,-375],jc:"ease-in"},{Zb:0.5,translate:[0,0],jc:"ease-out"},{Zb:0.75,translate:[15,-15],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}]}; Ic[2]={options:{duration:700,loop:vb},Cm:[{Zb:0,translate:[0,0],jc:"ease-out"},{Zb:0.5,translate:[0,-20],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}],du:[{Zb:0,translate:[0,0],jc:"ease-out"},{Zb:0.5,translate:[15,-15],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}]};Ic[3]={options:{duration:200,fP:q},Cm:[{Zb:0,translate:[0,0],jc:"ease-in"},{Zb:1,translate:[0,-20],jc:"ease-out"}],du:[{Zb:0,translate:[0,0],jc:"ease-in"},{Zb:1,translate:[15,-15],jc:"ease-out"}]}; Ic[4]={options:{duration:500,fP:q},Cm:[{Zb:0,translate:[0,-20],jc:"ease-in"},{Zb:0.5,translate:[0,0],jc:"ease-out"},{Zb:0.75,translate:[0,-10],jc:"ease-in"},{Zb:1,translate:[0,-0.0],jc:"ease-out"}],du:[{Zb:0,translate:[15,-15],jc:"ease-in"},{Zb:0.5,translate:[0,0],jc:"ease-out"},{Zb:0.75,translate:[8,-8],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}]}; ');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
_jsload2&&_jsload2('vmlcontext', 'var hg=10,ig=hg/2; function jg(a){this.li=[[1,0,0],[0,1,0],[0,0,1]];this.cN=[];this.TJ=[];this.qk=[];this.lineWidth=1;this.miterLimit=1*hg;this.canvas=a;var b=L("div");b.style.width=a.clientWidth+"px";b.style.height=a.clientHeight+"px";b.style.position="absolute";a.appendChild(b);this.fL=b;this.TM=this.Iw=this.Hw=1;document.styleSheets.canvas_style||(a=document.createStyleSheet(),a.owningElement.id="canvas_style",a.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}g_vml_\\\\:shape,g_vml_\\\\:fill,g_vml_\\\\:stroke{behavior:url(#default#VML)}")} function kg(a,b){for(var c=[[1,0,0],[0,1,0],[0,0,1]],e=0;3>e;e++)for(var f=0;3>f;f++){for(var g=0,i=0;3>i;i++)g+=a[e][i]*b[i][f];c[e][f]=g}return c}var lg=jg.prototype;lg.clearRect=function(){this.fL.innerHTML=""};lg.beginPath=function(){this.qk=[]};lg.moveTo=function(a,b){var c=this.fi(a,b);this.qk.push({type:"moveTo",x:c.x,y:c.y});this.rs=c.x;this.ss=c.y};lg.lineTo=function(a,b){var c=this.fi(a,b);this.qk.push({type:"lineTo",x:c.x,y:c.y});this.rs=c.x;this.ss=c.y}; lg.bezierCurveTo=function(a,b,c,e,f,g){mg(this,this.fi(a,b),this.fi(c,e),this.fi(f,g))};function mg(a,b,c,e){a.qk.push({type:"bezierCurveTo",oW:b.x,pW:b.y,qW:c.x,rW:c.y,x:e.x,y:e.y});a.rs=e.x;a.ss=e.y}lg.quadraticCurveTo=function(a,b,c,e){a=this.fi(a,b);c=this.fi(c,e);e={x:this.rs+2/3*(a.x-this.rs),y:this.ss+2/3*(a.y-this.ss)};mg(this,e,{x:e.x+(c.x-this.rs)/3,y:e.y+(c.y-this.ss)/3},c)}; lg.arc=function(a,b,c,e,f,g){var c=c*hg,i=a+Math.cos(e)*c-ig,k=b+Math.sin(e)*c-ig,e=a+Math.cos(f)*c-ig,f=b+Math.sin(f)*c-ig;i==e&&!g&&(i+=0.125);a=this.fi(a,b);i=this.fi(i,k);e=this.fi(e,f);this.qk.push({type:g?"at":"wa",x:a.x,y:a.y,wa:c,X0:i.x,Z0:i.y,W0:e.x,Y0:e.y})};lg.rect=function(a,b,c,e){this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+e);this.lineTo(a,b+e);this.closePath()}; lg.stroke=function(a){var b=[],c=a?this.fillStyle:this.strokeStyle,e=c.color,c=c.alpha;b.push("<g_vml_:shape",\' filled="\',!!a,\'"\',\' style="position:absolute;width:\',10,"px;height:",10,\'px;"\',\' coordorigin="0 0" coordsize="\',10*hg," ",10*hg,\'"\',\' stroked="\',!a,\'"\',\' path="\');for(var f=s,g=s,i=s,k=s,m=0;m<this.qk.length;m++){var n=this.qk[m];switch(n.type){case "moveTo":b.push(" m ",Math.round(n.x),",",Math.round(n.y));break;case "lineTo":b.push(" l ",Math.round(n.x),",",Math.round(n.y));break;case "close":b.push(" x "); n=s;break;case "bezierCurveTo":b.push(" c ",Math.round(n.oW),",",Math.round(n.pW),",",Math.round(n.qW),",",Math.round(n.rW),",",Math.round(n.x),",",Math.round(n.y));break;case "at":case "wa":b.push(" ",n.type," ",Math.round(n.x-this.Hw*n.wa),",",Math.round(n.y-this.Iw*n.wa)," ",Math.round(n.x+this.Hw*n.wa),",",Math.round(n.y+this.Iw*n.wa)," ",Math.round(n.X0),",",Math.round(n.Z0)," ",Math.round(n.W0),",",Math.round(n.Y0))}if(n){if(f==s||n.x<f)f=n.x;if(i==s||n.x>i)i=n.x;if(g==s||n.y<g)g=n.y;if(k== s||n.y>k)k=n.y}}b.push(\' ">\');a?b.push(\'<g_vml_:fill color="\',e,\'" opacity="\',c,\'" />\'):(a=this.TM*this.lineWidth,1>a&&(c*=a),b.push("<g_vml_:stroke",\' opacity="\',c,\'"\',\' joinstyle="\',this.lineJoin,\'"\',\' miterlimit="\',this.miterLimit,\'"\',\' endcap="\',"square",\'"\',\' weight="\',a,\'px"\',\' color="\',e,\'" />\'));b.push("</g_vml_:shape>");this.fL.insertAdjacentHTML("beforeEnd",b.join(""))};lg.fill=function(){this.stroke(q)};lg.closePath=function(){this.qk.push({type:"close"})}; lg.fi=function(a,b){var c=this.li;return{x:hg*(a*c[0][0]+b*c[1][0]+c[2][0])-ig,y:hg*(a*c[0][1]+b*c[1][1]+c[2][1])-ig}};lg.save=function(){var a={};copyState(this,a);this.TJ.push(a);this.cN.push(this.li);this.li=kg(createMatrixIdentity(),this.li)};lg.restore=function(){copyState(this.TJ.pop(),this);this.li=this.cN.pop()}; function ng(a,b,c){var e;a:{for(e=0;3>e;e++)for(var f=0;2>f;f++)if(!isFinite(b[e][f])||isNaN(b[e][f])){e=t;break a}e=q}e&&(a.li=b,c&&(a.TM=Math.sqrt(Math.abs(b[0][0]*b[1][1]-b[0][1]*b[1][0]))))}lg.translate=function(a,b){ng(this,kg([[1,0,0],[0,1,0],[a,b,1]],this.li),t)};lg.rotate=function(a){var b=Math.cos(a),a=Math.sin(a);ng(this,kg([[b,a,0],[-a,b,0],[0,0,1]],this.li),t)};lg.scale=function(a,b){this.Hw*=a;this.Iw*=b;ng(this,kg([[a,0,0],[0,b,0],[0,0,1]],this.li),q)}; lg.transform=function(a,b,c,e,f,g){ng(this,kg([[a,b,0],[c,e,0],[f,g,1]],this.li),q)};lg.setTransform=function(a,b,c,e,f,g){ng(this,[[a,b,0],[c,e,0],[f,g,1]],q)};B.aQ=jg; ');

66
Code/frontend/src/App.vue Normal file
View File

@ -0,0 +1,66 @@
<template>
<div class="container" :class="curTheme">
<menubar @showSettingDialog="settingshow = true"></menubar>
<router-view></router-view>
<settingdialog v-if="settingshow" @saved="refreshConfig" @hideSetting="hideSetting"></settingdialog>
</div>
</template>
<script setup>
import {
ref,
onMounted,
onBeforeUnmount,
reactive
} from 'vue'
import {
onBeforeRouteUpdate,
useRouter,
useRoute
} from 'vue-router'
import "./css/dark_theme.css"
import "./css/default.css"
import settingdialog from "./components/setting.vue"
import menubar from "./components/menubar.vue"
import config from './js/config.js'
import utils from './js/utils.js'
import api from './js/api.js'
/**
* 配置相关信息
*/
let configs = config.getConfig();
let curTheme = "dark";
let turntime = 60 * 1000;
configs.forEach((item, index, arr) => {
//
if (item.key == 'theme') {
curTheme = item.value
}
//
if (item.key == 'turntime') {
turntime = item.value * 1
}
});
const settingshow = ref(false);
const hideSetting = (e) => {
settingshow.value = false;
}
//
const refreshConfig = (e) => {
//
window.location.reload();
}
onMounted(() => {});
onBeforeUnmount(() => {});
</script>
<style>
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -0,0 +1,25 @@
<template>
<div class="chart">
<div class="chart_title" v-if="title">{{title}}</div>
<div>
<slot></slot>
</div>
</div>
</template>
<script setup>
import {
ref,
reactive,
defineEmits,
defineProps
} from 'vue'
//
const props = defineProps({
title: String
})
</script>
<style>
</style>

View File

@ -0,0 +1,174 @@
<template>
<div class="flex title">
<div style="width:35vw; height:65%; margin-top: 0.1%;" class="flex">
<div> <img src="@/assets/favicon.ico" style="width: 30%; margin-top: 0.2%;"/></div>
<div class="header">视频行人行为分析平台</div>
<!-- <div class="time_div">
<div class="time">
<span style="margin-top: 0.5%;">{{time}}</span>
</div>
</div> -->
</div>
<div class="flex_item flex">
<div class="menus flex_item flex">
<div class="flex_item"></div>
<div class="menus_div flex">
<div class="flex_item" v-for="(item,index) in menus">
<div v-if="item.isShow"
:class="['menu_item',curpage,(curpage==item.sid)?'menu_item_selected':'']"
@click="turnPage(item.path)">
<span>{{item.name}}</span>
</div>
</div>
</div>
</div>
<div class="flex" style="width: 10vw;">
<div class="time_div flex_item flex">
<div class="tools flex flex_item" style="">
<div class="flex_item">
<div class="tool_item" @click="screen">
<el-icon>
<full-screen />
</el-icon>
<span>{{screenText}}</span>
</div>
</div>
<div class="flex_item">
<div class="tool_item" @click="showSettingDialog">
<el-icon>
<setting />
</el-icon>
<span>配置</span>
</div>
</div>
<div class="flex_item">
<div class="tool_item" @click="exit">
<el-icon>
<switch-button />
</el-icon>
<span>退出</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
import {
ref,
onMounted,
onBeforeUnmount,
reactive,
defineEmits
} from 'vue'
import {
onBeforeRouteUpdate,
useRouter,
useRoute
} from 'vue-router'
import config from '../js/config.js'
import utils from '../js/utils.js'
import api from '../js/api.js'
const emit = defineEmits(['showSettingDialog']);
const menus = reactive([{
sid: 'Index',
name: '综合监控',
path: '/Index',
isShow: true
},
{
sid: 'Detection',
name: '目标检测',
path: '/Detection',
isShow: true
},
{
sid: 'Monitoring',
name: '实时监控',
path: '/Monitoring',
isShow: true
},
{
sid: 'Search',
name: '行人搜索',
path: '/Search',
isShow: true
}
]);
const showSettingDialog = () => {
emit('showSettingDialog', {})
}
//
let screenText = ref("全屏");
const isfullscreen = ref(false);
const screen = () => {
if (isfullscreen.value) {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
screenText.value = '全屏';
} else {
var element = document.documentElement;
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
}
screenText.value = '恢复';
}
isfullscreen.value = !isfullscreen.value;
}
//退
const exit = () => {
utils.showconfirm('确定要退出吗?');
}
const router = useRouter()
const route = useRoute()
const curpage = ref("index");
const turnPage = (path) => {
router.push(path);
}
router.beforeResolve(async to => {
curpage.value = to.name;
})
//
// let time = ref(new Date().format('yyyyMMdd hh:mm:ss'));
let time = ref(new Date().format('yyyy年MM月dd日'));
const timer = setInterval(function() {
time.value = new Date().format('yyyy年MM月dd日');
}, 1000);
onMounted(() => {});
onBeforeUnmount(() => {
if (timer) {
clearInterval(timer);
}
});
</script>
<style>
</style>

View File

@ -0,0 +1,146 @@
<template>
<div class="setting_panel">
<div class="setting_panel_maker" @click="hideSetting">
<div class="inner_contaner" @click.stop="stopPropagation">
<el-icon :size="25" class="settingPanelCloseBtn" @click="hideSetting">
<Close-bold :size="25" />
</el-icon>
<div class="setting_panel_title">
系统配置
</div>
<el-form ref="settingFormRef" :model="settingForm" status-icon :rules="rules" label-width="120px"
class="settingForm">
<el-form-item :label="item.label+':'" prop="item.type" v-for="(item,index) in configs">
<!-- 识别配置项类型并创建对应组件 -->
<el-input v-if="item.type != 'select'" v-model="settingForm[item.key]"
placeholder="请输入{{item.label}}" type="item.type" autocomplete="off" />
<el-select v-if="item.type == 'select'" style="width:100%" v-model="settingForm[item.key]"
placeholder="请选择{{item.label}}">
<el-option v-for="(optionitem,index1) in item.options" :label="optionitem.label"
:value="optionitem.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-row style="width:100%">
<el-col :span="11">
<el-button style="width:100%" type="primary" @click="submitForm(settingFormRef)">
保存配置</el-button>
</el-col>
<el-col :span="2">
</el-col>
<el-col :span="11">
<el-button style="width:100%" @click="defalutForm(settingFormRef)">
</el-button>
</el-col>
</el-row>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script setup>
import {
ref,
reactive,
defineEmits
} from 'vue'
import "../css/dark_theme.css"
import "../css/default.css"
import config from '../js/config.js'
import utils from '../js/utils.js'
const emit = defineEmits(['saved']);
//
const settingPanelTop = ref(11);
//
const settingPanelLeft = ref(11);
const settingPanelWidth = ref(600);
const settingPanelHeight = ref(350);
const settingFormRef = ref('');
const settingForm = reactive({});
const rules = reactive({});
let configs = config.getConfig();
configs.forEach(function(item, index, arr) {
settingForm[item.key] = item.value;
rules[item.key] = [{
required: item.required,
message: '请输入' + item.label,
trigger: 'blur'
}];
});
const hideSetting = ()=>{
emit('hideSetting', {})
}
//
const stopPropagation = () => {};
/**
* 恢复默认
*/
const defalutForm = async (formEl) => {
if (!formEl) return;
configs = config.defaultconfig;
configs.forEach(function(item, index, arr) {
settingForm[item.key] = item.value;
rules[item.key] = [{
required: item.required,
message: '请输入' + item.label,
trigger: 'blur'
}];
});
};
/**
* 提交表单
*/
const submitForm = async (formEl) => {
if (!formEl) return;
await formEl.validate((valid, fields) => {
if (!valid) {
return;
}
//
let configdata = [];
for (let key in settingForm) {
let itemconfig = null;
for (let i = 0; i < configs.length; i++) {
if (configs[i].key == key) {
itemconfig = configs[i];
break;
}
}
if (!itemconfig) { //
continue;
}
//
itemconfig.value = settingForm[key];
configdata.push(itemconfig);
}
//
utils.saveConfig(configdata);
//
emit('saved', {})
})
};
</script>
<style>
.setting_panel .inner_contaner {
width: 40vw;
height: 40vh;
top: 30vh;
left: 30vw;
}
</style>

View File

@ -0,0 +1,140 @@
@charset "utf-8";
.dark {
background: #171717;
color: #fff;
}
.dark .title {
text-align: center;
color: #fff;
font-size: 2.4rem;
}
.dark .title {
height: 6vh;
position: relative;
border-bottom: 0.1vh solid #03a9f48a;
}
.dark .title .time_div {
line-height: 6vh;
height: 6vh;
width: 9vw;
margin-right: 0.5vw;
}
.dark .title .time {
font-size: 1.4rem;
text-align: right;
}
.dark .title .time i {
margin-right: 0.5vw;
position: relative;
top: 0.5vh;
}
.dark .title .header {
letter-spacing: 0.3vh;
background: linear-gradient(to left, #2196f3, #47c2f9, #1686b9);
-webkit-background-clip: text;
color: transparent;
text-align: left;
padding: 1vh;
}
.dark .title .menus {
display: flex;
height: 6vh;
}
.dark .title .menus_div {
height: 6vh;
width: 20vw;
}
.dark .title .menus .menu_item {
height: 3vh;
line-height: 3vh;
font-size: 1.4rem;
margin: 0 auto;
width: 90%;
background: rgba(255, 255, 255, 0.3);
border-radius: 3px;
margin-top: 1.5vh;
cursor: pointer;
}
.dark .title .menus .menu_item:hover {
background: #2196f3;
}
.dark .title .menus .menu_item_selected {
background: #2196f3;
}
.dark .title .tools {
height: 6vh;
line-height: 6vh;
}
.dark .title .tool_item {
font-size: 1.4rem;
cursor: pointer;
}
.dark .title .tool_item i {
height: 3vh;
line-height: 3vh;
margin-right: 0.3vw;
position: relative;
top: 0.2vh;
}
.dark .title .tool_item:hover {
color: #2196f3;
}
.dark .setting_panel {}
.dark .setting_panel .setting_panel_maker {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1;
}
.dark .setting_panel .inner_contaner {
position: fixed;
background: #2196f361;
border-radius: 0.5vh;
z-index: 2;
box-shadow: 0 0.2vw 1vh 0 rgba(0, 0, 0, 0.1);
}
.dark .setting_panel .inner_contaner .settingPanelCloseBtn {
position: absolute;
right: -1vh;
top: -1vh;
cursor: pointer;
}
.dark .setting_panel .inner_contaner .settingPanelCloseBtn:hover {
color: #2196f3;
}
.dark .setting_panel .inner_contaner .setting_panel_title {
height: 6vh;;
line-height: 6vh;;
text-align: center;
font-size: 2rem;
}
.dark .setting_panel .inner_contaner .settingForm {
padding-right: 7vw;
}
.dark .setting_panel .inner_contaner .settingForm .el-form-item__label {
color: #fff;
}

View File

@ -0,0 +1,188 @@
@charset "utf-8";
html {
font-size: 62.5%;//
}
.amap-logo {
display: none !important;
}
.container {
position: fixed;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
overflow: auto;
}
.flex {
display: flex;
}
.flex_item {
flex: 1;
}
.chart {
border: 0.1vh solid #2196f366;
position: relative;
padding: 0 1vh;
}
.chart .chart_title {
font-size: 1.8rem;
font-weight: bold;
text-align: center;
line-height: 4vh;
height: 4vh;
background: linear-gradient(to left, #03a9f4,#2196f3, #00bcd4, #2196f3, #3fb579, #2196f3, #189cdb, #1ec5cd);
-webkit-background-clip: text;
color: transparent;
}
.chart .border_line {
position: absolute;
background: #fff;
}
.chart .topleft1 {
top: 0;
left: 0;
width: 0.8vw;
height: 0.1vh;
}
.chart .topleft2 {
top: 0.8vh;
left: -0.4vw;
width: 0.8vw;
height: 0.2vh;
transform: rotate(90deg);
}
.chart .topright1 {
top: 0;
right: 0;
width: 0.8vw;
height: 0.1vh;
}
.chart .topright2 {
top: 0.8vh;
right: -0.4vw;
width: 0.8vw;
height: 0.2vh;
transform: rotate(90deg);
}
.chart .bottomleft1 {
bottom: -0.1vh;
left: -0.1vh;
width: 0.8vw;
height: 0.1vh;
}
.chart .bottomleft2 {
bottom: 0.6vh;
left: -0.4vw;
width: 0.8vw;
height: 0.2vh;
transform: rotate(90deg);
}
.chart .bottomright1 {
bottom: -0.1vh;
right: 0;
width: 0.8vw;
height: 0.1vh;
}
.chart .bottomright2 {
bottom: 0.6vh;
right: -0.4vw;
width: 0.8vw;
height: 0.2vh;
transform: rotate(90deg);
}
.chart .tr {}
.chart .tr .th {
text-align: center;
font-size: 1.4rem;
height: 3vh;
line-height: 3vh;
text-align: center;
}
.chart .tr .th .text {
background-color: #488cf7aa;
}
.chart .tr .td {
text-align: center;
font-size: 1.4rem;
height: 3vh;
line-height: 3vh;
text-align: center;
}
.chart .tr.bg {
background: #01AAED22;
}
.text_color_1 {
background: linear-gradient(45deg, #337fcd, #fac858, #337fcd);
-webkit-background-clip: text;
color: transparent;
text-align: left;
}
.text_color_2 {
background: linear-gradient(45deg, #337fcd, #ed0808, #337fcd);
-webkit-background-clip: text;
color: transparent;
text-align: left;
}
.text_color_3 {
background: linear-gradient(45deg, #337fcd, #f98efb, #337fcd);
-webkit-background-clip: text;
color: transparent;
text-align: left;
}
.text_color_4 {
background: linear-gradient(45deg, #337fcd, #00FAC1, #337fcd);
-webkit-background-clip: text;
color: transparent;
text-align: left;
}
.text_color_5 {
background: linear-gradient(45deg, #337fcd, #FDE056, #337fcd);
-webkit-background-clip: text;
color: transparent;
text-align: left;
}
.text_color_6 {
background: linear-gradient(45deg, #337fcd, #6648FF, #337fcd);
-webkit-background-clip: text;
color: transparent;
text-align: left;
}
.split_line_h {
width: 0.1vw;
height: 10vh;
background: linear-gradient(to bottom, #00000000, #337fcd, #00000000);
}
.split_line_w {
width: 100%;
height: 0.2vh;
margin-top: 1vh;
background: linear-gradient(to right, #00000000, #337fcd, #00000000);
}

View File

@ -0,0 +1,36 @@
import axios from 'axios';
const config = {
// baseURL: process.env.baseURL
baseURL: 'http://localhost:3000/data/',
timeout: 1000,
headers: {
'Content-Type': 'application/json',
},
};
const api = axios.create(config);
// 默认 post 请求,使用 application/json 形式
api.defaults.headers.post['Content-Type'] = 'application/json';
/**
* 接口地址配置
*/
const server_urls = {
//地图数据接口
map_url: 'mapdata.json',
};
export default {
name: "api",
loadMapData:(callback)=>{
axios({
method: 'get',
url: config.baseURL + server_urls.map_url,
headers: {
'Content-Type': 'application/json; charset=utf-8',
},
}).then(response => {
callback && callback(response);
})
}
}

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