From 151f5ec123835317931ae0c1219c22f0253e173f Mon Sep 17 00:00:00 2001 From: qianshi Date: Wed, 16 Sep 2026 10:19:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=85=AC=E5=8F=B8=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E4=B8=BA=E6=B4=AA=E8=BE=89=E7=A7=91=E5=88=9B=E7=A9=BA?= =?UTF-8?q?=E9=97=B4A314=E5=B9=B6=E6=8E=A5=E5=85=A5=E5=8F=AF=E5=AE=9A?= =?UTF-8?q?=E4=BD=8D=E5=9C=B0=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 + about.html | 4 +- ai-acquisition.html | 4 +- ai-customer-service.html | 4 +- ai-private-expert.html | 4 +- ai-promotion.html | 4 +- assets/vendor/leaflet/leaflet.css | 661 ++++++++++++++++++++++++++++++ assets/vendor/leaflet/leaflet.js | 6 + blog.html | 4 +- case-detail.html | 4 +- cases.html | 4 +- company.html | 4 +- contact.html | 82 +++- cookie.html | 4 +- digital-human.html | 4 +- disclaimer.html | 4 +- edm-email.html | 4 +- enterprise-agent.html | 96 +---- forum.html | 4 +- geo-seo-sem.html | 4 +- i18n.js | 110 +++++ index.html | 4 +- join.html | 4 +- legal.html | 4 +- marketing-resources.html | 4 +- media-ops.html | 4 +- news-detail.html | 4 +- news.html | 4 +- opc-solution.html | 4 +- privacy.html | 4 +- rag-kb.html | 4 +- sentiment-management.html | 4 +- sitemap.html | 4 +- software-detail.html | 4 +- software.html | 47 +-- superlink.html | 4 +- terms.html | 2 +- website-building.html | 4 +- 38 files changed, 927 insertions(+), 200 deletions(-) create mode 100644 assets/vendor/leaflet/leaflet.css create mode 100644 assets/vendor/leaflet/leaflet.js diff --git a/.gitignore b/.gitignore index e68056a..5ea14dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,12 @@ # 本地批量维护脚本(含本机绝对路径,不属于站点交付物) gen_software_detail.py update_site.py +update_address.py # 备份与临时文件 .bak-before-update/ +.bak-address/ +.bak-dedup/ .snap1/ run1/ *.bak diff --git a/about.html b/about.html index 37e4a06..bc28070 100644 --- a/about.html +++ b/about.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -317,7 +317,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
地址:深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314查看地图
微信扫码咨询客服二维码 diff --git a/ai-acquisition.html b/ai-acquisition.html index 083233d..0cecc84 100644 --- a/ai-acquisition.html +++ b/ai-acquisition.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -311,7 +311,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
地址:深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314查看地图
微信扫码咨询客服二维码 diff --git a/ai-customer-service.html b/ai-customer-service.html index ca06f3b..5c7e605 100644 --- a/ai-customer-service.html +++ b/ai-customer-service.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
地址:深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314查看地图
微信扫码咨询客服二维码 diff --git a/ai-private-expert.html b/ai-private-expert.html index 6dc337a..ad01647 100644 --- a/ai-private-expert.html +++ b/ai-private-expert.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
地址:深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314查看地图
微信扫码咨询客服二维码 diff --git a/ai-promotion.html b/ai-promotion.html index 462a1b4..565962a 100644 --- a/ai-promotion.html +++ b/ai-promotion.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -317,7 +317,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/assets/vendor/leaflet/leaflet.css b/assets/vendor/leaflet/leaflet.css new file mode 100644 index 0000000..2961b76 --- /dev/null +++ b/assets/vendor/leaflet/leaflet.css @@ -0,0 +1,661 @@ +/* required styles */ + +.leaflet-pane, +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-tile-container, +.leaflet-pane > svg, +.leaflet-pane > canvas, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; + } +.leaflet-container { + overflow: hidden; + } +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; + } +/* Prevents IE11 from highlighting tiles in blue */ +.leaflet-tile::selection { + background: transparent; +} +/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ +.leaflet-safari .leaflet-tile { + image-rendering: -webkit-optimize-contrast; + } +/* hack that prevents hw layers "stretching" when loading new tiles */ +.leaflet-safari .leaflet-tile-container { + width: 1600px; + height: 1600px; + -webkit-transform-origin: 0 0; + } +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; + } +/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ +/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container .leaflet-overlay-pane svg { + max-width: none !important; + max-height: none !important; + } +.leaflet-container .leaflet-marker-pane img, +.leaflet-container .leaflet-shadow-pane img, +.leaflet-container .leaflet-tile-pane img, +.leaflet-container img.leaflet-image-layer, +.leaflet-container .leaflet-tile { + max-width: none !important; + max-height: none !important; + width: auto; + padding: 0; + } + +.leaflet-container img.leaflet-tile { + /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */ + mix-blend-mode: plus-lighter; +} + +.leaflet-container.leaflet-touch-zoom { + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; + } +.leaflet-container.leaflet-touch-drag { + -ms-touch-action: pinch-zoom; + /* Fallback for FF which doesn't support pinch-zoom */ + touch-action: none; + touch-action: pinch-zoom; +} +.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { + -ms-touch-action: none; + touch-action: none; +} +.leaflet-container { + -webkit-tap-highlight-color: transparent; +} +.leaflet-container a { + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); +} +.leaflet-tile { + filter: inherit; + visibility: hidden; + } +.leaflet-tile-loaded { + visibility: inherit; + } +.leaflet-zoom-box { + width: 0; + height: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + z-index: 800; + } +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; + } + +.leaflet-pane { z-index: 400; } + +.leaflet-tile-pane { z-index: 200; } +.leaflet-overlay-pane { z-index: 400; } +.leaflet-shadow-pane { z-index: 500; } +.leaflet-marker-pane { z-index: 600; } +.leaflet-tooltip-pane { z-index: 650; } +.leaflet-popup-pane { z-index: 700; } + +.leaflet-map-pane canvas { z-index: 100; } +.leaflet-map-pane svg { z-index: 200; } + +.leaflet-vml-shape { + width: 1px; + height: 1px; + } +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; + } + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 800; + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; + } +.leaflet-top { + top: 0; + } +.leaflet-right { + right: 0; + } +.leaflet-bottom { + bottom: 0; + } +.leaflet-left { + left: 0; + } +.leaflet-control { + float: left; + clear: both; + } +.leaflet-right .leaflet-control { + float: right; + } +.leaflet-top .leaflet-control { + margin-top: 10px; + } +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; + } +.leaflet-left .leaflet-control { + margin-left: 10px; + } +.leaflet-right .leaflet-control { + margin-right: 10px; + } + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; + } +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; + } +.leaflet-zoom-animated { + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + } +svg.leaflet-zoom-animated { + will-change: transform; +} + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); + } +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile { + -webkit-transition: none; + -moz-transition: none; + transition: none; + } + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; + } + + +/* cursors */ + +.leaflet-interactive { + cursor: pointer; + } +.leaflet-grab { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; + } +.leaflet-crosshair, +.leaflet-crosshair .leaflet-interactive { + cursor: crosshair; + } +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; + } +.leaflet-dragging .leaflet-grab, +.leaflet-dragging .leaflet-grab .leaflet-interactive, +.leaflet-dragging .leaflet-marker-draggable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; + } + +/* marker & overlays interactivity */ +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-image-layer, +.leaflet-pane > svg path, +.leaflet-tile-container { + pointer-events: none; + } + +.leaflet-marker-icon.leaflet-interactive, +.leaflet-image-layer.leaflet-interactive, +.leaflet-pane > svg path.leaflet-interactive, +svg.leaflet-image-layer.leaflet-interactive path { + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline-offset: 1px; + } +.leaflet-container a { + color: #0078A8; + } +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); + } + + +/* general typography */ +.leaflet-container { + font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; + font-size: 12px; + font-size: 0.75rem; + line-height: 1.5; + } + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; + } +.leaflet-bar a { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; + } +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + } +.leaflet-bar a:hover, +.leaflet-bar a:focus { + background-color: #f4f4f4; + } +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; + } +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; + } + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; + } +.leaflet-touch .leaflet-bar a:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; + } +.leaflet-touch .leaflet-bar a:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + } + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; + } + +.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { + font-size: 22px; + } + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; + } +.leaflet-control-layers-toggle { + background-image: url(images/layers.png); + width: 36px; + height: 36px; + } +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(images/layers-2x.png); + background-size: 26px 26px; + } +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; + } +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; + } +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; + } +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; + } +.leaflet-control-layers-scrollbar { + overflow-y: scroll; + overflow-x: hidden; + padding-right: 5px; + } +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; + } +.leaflet-control-layers label { + display: block; + font-size: 13px; + font-size: 1.08333em; + } +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; + } + +/* Default icon URLs */ +.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ + background-image: url(images/marker-icon.png); + } + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.8); + margin: 0; + } +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; + line-height: 1.4; + } +.leaflet-control-attribution a { + text-decoration: none; + } +.leaflet-control-attribution a:hover, +.leaflet-control-attribution a:focus { + text-decoration: underline; + } +.leaflet-attribution-flag { + display: inline !important; + vertical-align: baseline !important; + width: 1em; + height: 0.6669em; + } +.leaflet-left .leaflet-control-scale { + margin-left: 5px; + } +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; + } +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + white-space: nowrap; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(255, 255, 255, 0.8); + text-shadow: 1px 1px #fff; + } +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; + } +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; + } + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; + } +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; + } + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; + margin-bottom: 20px; + } +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; + } +.leaflet-popup-content { + margin: 13px 24px 13px 20px; + line-height: 1.3; + font-size: 13px; + font-size: 1.08333em; + min-height: 1px; + } +.leaflet-popup-content p { + margin: 17px 0; + margin: 1.3em 0; + } +.leaflet-popup-tip-container { + width: 40px; + height: 20px; + position: absolute; + left: 50%; + margin-top: -1px; + margin-left: -20px; + overflow: hidden; + pointer-events: none; + } +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + pointer-events: auto; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + } +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + color: #333; + box-shadow: 0 3px 14px rgba(0,0,0,0.4); + } +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + border: none; + text-align: center; + width: 24px; + height: 24px; + font: 16px/24px Tahoma, Verdana, sans-serif; + color: #757575; + text-decoration: none; + background: transparent; + } +.leaflet-container a.leaflet-popup-close-button:hover, +.leaflet-container a.leaflet-popup-close-button:focus { + color: #585858; + } +.leaflet-popup-scrolled { + overflow: auto; + } + +.leaflet-oldie .leaflet-popup-content-wrapper { + -ms-zoom: 1; + } +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); + } + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; + } + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; + } + + +/* Tooltip */ +/* Base styles for the element that has a tooltip */ +.leaflet-tooltip { + position: absolute; + padding: 6px; + background-color: #fff; + border: 1px solid #fff; + border-radius: 3px; + color: #222; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + box-shadow: 0 1px 3px rgba(0,0,0,0.4); + } +.leaflet-tooltip.leaflet-interactive { + cursor: pointer; + pointer-events: auto; + } +.leaflet-tooltip-top:before, +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + position: absolute; + pointer-events: none; + border: 6px solid transparent; + background: transparent; + content: ""; + } + +/* Directions */ + +.leaflet-tooltip-bottom { + margin-top: 6px; +} +.leaflet-tooltip-top { + margin-top: -6px; +} +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-top:before { + left: 50%; + margin-left: -6px; + } +.leaflet-tooltip-top:before { + bottom: 0; + margin-bottom: -12px; + border-top-color: #fff; + } +.leaflet-tooltip-bottom:before { + top: 0; + margin-top: -12px; + margin-left: -6px; + border-bottom-color: #fff; + } +.leaflet-tooltip-left { + margin-left: -6px; +} +.leaflet-tooltip-right { + margin-left: 6px; +} +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + top: 50%; + margin-top: -6px; + } +.leaflet-tooltip-left:before { + right: 0; + margin-right: -12px; + border-left-color: #fff; + } +.leaflet-tooltip-right:before { + left: 0; + margin-left: -12px; + border-right-color: #fff; + } + +/* Printing */ + +@media print { + /* Prevent printers from removing background-images of controls. */ + .leaflet-control { + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + } + } diff --git a/assets/vendor/leaflet/leaflet.js b/assets/vendor/leaflet/leaflet.js new file mode 100644 index 0000000..a3bf693 --- /dev/null +++ b/assets/vendor/leaflet/leaflet.js @@ -0,0 +1,6 @@ +/* @preserve + * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){"use strict";function l(t){for(var e,i,n=1,o=arguments.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.late.lng&&n.lng","http://www.w3.org/2000/svg"===(Wt.firstChild&&Wt.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Wt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Ft=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Ft,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Ft,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=F(e),o=0,s=n.length;othis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!We(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;sthis.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;se.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section,e=(this._preventClick=!0,S(t,"click",O),this.expand(),this);setTimeout(function(){k(t,"click",O),e._preventClick=!1})}})),qe=B.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ge=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280'+(b.inlineSvg?' ':"")+"Leaflet"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ke).addTo(this)}),B.Layers=Ve,B.Zoom=qe,B.Scale=Ge,B.Attribution=Ke,Ue.layers=function(t,e,i){return new Ve(t,e,i)},Ue.zoom=function(t){return new qe(t)},Ue.scale=function(t){return new Ge(t)},Ue.attribution=function(t){return new Ke(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Ye=b.touch?"touchstart mousedown":"mousedown",Xe=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Xe._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Xe._dragging===this&&this.finishDrag():Xe._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Xe._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1e&&(i.push(t[n]),o=n);oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function ri(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||yi.prototype._containsPoint.call(this,t,!0)}});var wi=ci.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;es.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Ii=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Bi,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Bi,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ci||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof fi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Ai.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ai.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.xthis.options.maxZoom||nthis.options.maxZoom||void 0!==this.options.minZoom&&oi.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Di=Ni.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Vi("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Vi("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Vi("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Vi("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},qi=b.vml?Vi:ct,Gi=Wi.extend({_initContainer:function(){this._container=qi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=qi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=qi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Ki(t){return b.svg||b.vml?new Gi(t):null}b.vml&&Gi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Ui(t)||Ki(t)}});var Yi=xi.extend({initialize:function(t,e){xi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Gi.create=qi,Gi.pointsToPath=dt,wi.geometryToLayer=bi,wi.coordsToLatLng=Li,wi.coordsToLatLngs=Ti,wi.latLngToCoords=Mi,wi.latLngsToCoords=zi,wi.getFeature=Ci,wi.asFeature=Zi,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Xe(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)e.getMaxZoom()&&1 @@ -311,7 +311,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
地址:深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314查看地图
微信扫码咨询客服二维码 diff --git a/case-detail.html b/case-detail.html index c0aedd7..14abda6 100644 --- a/case-detail.html +++ b/case-detail.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -414,7 +414,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/cases.html b/cases.html index 57e770e..207644b 100644 --- a/cases.html +++ b/cases.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -370,7 +370,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/company.html b/company.html index ca71c81..398e7b3 100644 --- a/company.html +++ b/company.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -339,7 +339,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/contact.html b/contact.html index 38e67ce..86cfb37 100644 --- a/contact.html +++ b/contact.html @@ -1,6 +1,7 @@ + @@ -134,6 +135,23 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G .wechat-qr::after{content:'';position:absolute;right:-9px;top:50%;transform:translateY(-50%);width:0;height:0;border:9px solid transparent;border-left-color:#fff;border-right:0} @media(max-width:768px){.sidebar-wechat{display:flex;flex-direction:column;align-items:center;gap:2px;position:fixed;right:0;top:auto;bottom:150px;transform:none;z-index:999}.wechat-qr{right:56px}} + /* ===== 公司地址地图 ===== */ + .map-wrap{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:stretch} + .map-info{background:var(--bg-dark);border-radius:var(--radius-lg);padding:30px 26px;display:flex;flex-direction:column;gap:22px} + .map-info-item{display:flex;gap:14px;align-items:flex-start} + .map-icon{flex:0 0 42px;width:42px;height:42px;border-radius:10px;background:rgba(0,200,87,.15);display:flex;align-items:center;justify-content:center;color:#00c857;font-size:1.05rem} + .map-label{font-size:.78rem;color:#8fa3cc;letter-spacing:1px;margin-bottom:4px} + .map-value{font-size:.9rem;color:#fff;line-height:1.6} + .map-open-btn,.map-nav-btn{text-align:center;font-size:.9rem;padding:12px 24px;margin-top:4px} + .map-box{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 14px 40px rgba(13,27,62,.12);min-height:420px;position:relative} + #office-map{position:absolute;inset:0;z-index:1} + .leaflet-container{background:#eef1f6;font:inherit} + .leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 10px 30px rgba(13,27,62,.2)} + .leaflet-popup-content{margin:14px 18px;line-height:1.5} + .map-popup-title{font-weight:700;color:var(--primary);font-size:.95rem;margin-bottom:4px} + .map-popup-addr{font-size:.82rem;color:var(--text-dim)} + .map-popup-btn{display:inline-block;margin-top:10px;background:var(--primary);color:#fff;padding:6px 14px;border-radius:6px;font-size:.8rem;text-decoration:none} + @media(max-width:900px){.map-wrap{grid-template-columns:1fr}.map-box{min-height:320px}} 联系我们 — 电话/邮箱/微信多渠道咨询 — 千视科技 @@ -157,7 +175,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -257,10 +275,48 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G

邮箱

105920869@qq.com

+

深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314

+
+
+
+

公司地址

+

欢迎莅临交流,我们随时恭候您的到访。

+
+
+
+
+ +
+
办公地址
+
深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314
+
+
+
+ +
+
咨询电话
+
18948732299
+
+
+
+ +
+
电子邮箱
+
105920869@qq.com
+
+
+ 在地图中打开 + 获取导航 +
+
+
+
+
+
+
@@ -324,7 +380,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
地址:深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314查看地图
微信扫码咨询客服二维码 @@ -383,5 +439,25 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G + + \ No newline at end of file diff --git a/cookie.html b/cookie.html index 28908a3..ff9b935 100644 --- a/cookie.html +++ b/cookie.html @@ -170,7 +170,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -304,7 +304,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/digital-human.html b/digital-human.html index c09d4ac..2dc223e 100644 --- a/digital-human.html +++ b/digital-human.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/disclaimer.html b/disclaimer.html index 736e4ea..526d9fd 100644 --- a/disclaimer.html +++ b/disclaimer.html @@ -170,7 +170,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -299,7 +299,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/edm-email.html b/edm-email.html index 3b9b851..1b8ac91 100644 --- a/edm-email.html +++ b/edm-email.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/enterprise-agent.html b/enterprise-agent.html index 914cb5a..024b71e 100644 --- a/enterprise-agent.html +++ b/enterprise-agent.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -257,42 +257,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
-
- -
-
-
-
- -
-

以上智能体均可按需定制开发

-

RAG知识库、AI私有专家、AI客服、数字人、OPC一人公司 —— 不是标准化产品,而是按你的业务流程、知识库与渠道深度定制开发,可二次集成进你的系统。

-
- 了解定制开发 -
-
-
-
-
-
- -
-

以上智能体均可按需定制开发

-

RAG知识库、AI私有专家、AI客服、数字人、OPC一人公司 —— 不是标准化产品,而是按你的业务流程、知识库与渠道深度定制开发,可二次集成进你的系统。

-
- 了解定制开发 -
-
-
+
@@ -334,60 +299,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
-
-
-
-

定制开发交付保障

-

智能体不是一次交付就结束,而是陪你持续调优。

-
-
-

1对1专属交付

-

专属项目经理与技术负责人,需求变更快速响应。

-

私有化数据不出域

-

支持私有化部署,知识库与业务数据全程留在你自己的环境内。

-

持续调优迭代

-

基于真实对话数据持续优化应答质量,AI应答率与提效可量化。

- -
-
-
-
-
-

定制开发交付保障

-

智能体不是一次交付就结束,而是陪你持续调优。

-
-
-

1对1专属交付

-

专属项目经理与技术负责人,需求变更快速响应。

-

私有化数据不出域

-

支持私有化部署,知识库与业务数据全程留在你自己的环境内。

-

持续调优迭代

-

基于真实对话数据持续优化应答质量,AI应答率与提效可量化。

- -
-
-
-
-
-

定制开发交付保障

-

智能体不是一次交付就结束,而是陪你持续调优。

-
-
-

1对1专属交付

-

专属项目经理与技术负责人,需求变更快速响应。

-

私有化数据不出域

-

支持私有化部署,知识库与业务数据全程留在你自己的环境内。

-

持续调优迭代

-

基于真实对话数据持续优化应答质量,AI应答率与提效可量化。

- -
-
+
500+
服务客户
24×7
数字员工在线
90%+
AI应答率
3x
平均提效
@@ -440,7 +352,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
地址:深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314查看地图
微信扫码咨询客服二维码 diff --git a/forum.html b/forum.html index 18c3db8..af089e1 100644 --- a/forum.html +++ b/forum.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -324,7 +324,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/geo-seo-sem.html b/geo-seo-sem.html index d4d0a2f..95f5db7 100644 --- a/geo-seo-sem.html +++ b/geo-seo-sem.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/i18n.js b/i18n.js index d82f8de..5fcf107 100644 --- a/i18n.js +++ b/i18n.js @@ -208,6 +208,116 @@ var DICT = { "基于真实对话数据持续优化应答质量,AI应答率与提效可量化。": "Continuously tuned on real conversations, with measurable answer rate and efficiency.", "标准化流程保障按期交付,每一步都有明确产出物": "A standardized process with clear outputs at every step", "真实落地案例,可复现、带交付物": "Real-world cases, reproducible with deliverables", + + // ===== 页面长文本(补齐缺失翻译)===== + "AI驱动的精准客户触达。": "AI-driven precision customer outreach.", + "7×24小时在线的智能客服,秒级响应、精准解答、自动识别商机": "24/7 intelligent customer service with instant responses, precise answers and automatic lead detection.", + "基于知识库的精准问答,覆盖FAQ、产品咨询、售后问题,应答率90%+。": "KB-powered answers covering FAQs, product queries and after-sales, 90%+ resolution rate.", + "全天候自动响应,夜间和节假日也能即时接待,零等待。": "Round-the-clock auto-response, even nights and holidays — zero wait time.", + "智能识别咨询中的购买意图,自动标记商机并推送销售跟进。": "Detects purchase intent in conversations, flags leads and pushes them to sales.", + "基于企业知识库训练专属AI专家,比通用AI更懂你的业务": "Train an AI expert on your knowledge base — one that knows your business better than generic AI.", + "按行业定制专家人设:法务顾问、财务分析师、技术专家、售后工程师等。": "Custom expert personas per industry: legal counsel, financial analyst, technical expert, support engineer.", + "基于企业知识库微调,输出贴合业务口径,避免通用AI的泛泛而谈。": "Fine-tuned on your knowledge base for business-consistent answers, avoiding generic AI output.", + "支持多轮上下文追问,理解复杂问题,给出可执行的专业建议。": "Handles multi-turn follow-ups, understands complex queries, gives actionable expert advice.", + "可嵌入OA/CRM/客服系统,在业务场景中实时调用专家能力。": "Embed into OA/CRM/support systems for on-demand expert capability within your workflows.", + "AI内容+专业团队,多平台全托管。": "AI content + pro team, full multi-platform management.", + "让AI搜索推荐你,让排名靠前。": "Get recommended by AI search and rank high.", + "高转化企业官网与落地页。": "High-converting websites and landing pages.", + "7×24全网舆情监控预警。": "24/7 web-wide sentiment monitoring and alerts.", + "干货文章、行业报告、案例拆解。": "Playbooks, industry reports and case studies.", + "让每一次AI落地,都带来可衡量的增长": "Every AI deployment brings measurable growth", + "我们自主研发的qianshiClaw智能体平台,已服务超过500家企业客户,覆盖内容生产、数字营销、数据分析、视频制作和运营自动化五大场景。以": "Our self-developed qianshiClaw agent platform serves 500+ enterprise clients across content, digital marketing, data analytics, video production and operations automation. Driven by technology and results, we make AI accessible to every business.", + "无论你有任何需求,我们都将第一时间响应": "Whatever your needs, we respond at once.", + "18948732299(24小时热线)": "18948732299 (24-hour hotline)", + "更新日期:2026年8月23日 生效日期:2026年8月23日": "Updated: 2026年8月23日 Effective: 2026年8月23日", + "真人克隆×AI大脑,爆款视频复刻,打造企业专属数字IP": "Human cloning × AI brain, viral video replication, and your own digital IP.", + "上传视频/照片克隆真人形象与声音,3分钟生成写实级数字人,口播/直播/客服全场景。": "Clone real avatars & voices from video/photos in 3 minutes — for voiceover, live streaming and service.", + "上传爆款视频AI拆解,一键替换人/服装/产品/背景重新生成,10分钟出片。": "Upload a viral video, AI deconstructs it, one-click replace person/clothing/product/background — 10-min output.", + "注入品牌知识库+人设,让数字IP在社交媒体7×24自动回复互动,持续涨粉。": "Inject brand KB & persona so your digital IP auto-engages on social media 24/7, growing followers steadily.", + "单人日产3条原创视频,相当于5人团队一周产能,成本下降70%。": "3 original videos/day per person — a 5-person team's weekly output, at 70% lower cost.", + "某MCN借助视频复刻系统日产3条原创视频,账号半年涨粉30万。": "An MCN produced 3 original videos daily via our replication system, gaining 300K followers in six months.", + "基于用户画像与行为数据,精准分组投放,大幅提升打开率。": "Segmented sends based on persona & behavior, dramatically lifting open rates.", + "AI根据场景自动生成个性化邮件文案,千人千面。": "AI generates personalized copy per scenario — a thousand emails, a thousand faces.", + "专业邮件通道+域名信誉维护,避开垃圾箱,送达率95%+。": "Dedicated channels + domain reputation management, 95%+ deliverability.", + "打开率/点击率/转化率实时追踪,自动A/B测试优化。": "Real-time open/click/conversion tracking with automated A/B testing.", + "某B2B企业EDM触达10万目标客户,带来2%注册转化和1200条有效线索。": "A B2B firm reached 100K targets via EDM, achieving 2% signup conversion and 1,200 qualified leads.", + "私有化部署,把企业文档变成AI可检索的知识资产。": "Private deployment turning documents into AI-searchable knowledge.", + "基于企业知识库训练的专属AI专家。": "AI experts trained on your knowledge base.", + "7×24在线智能客服,秒级响应。": "24/7 intelligent customer service with instant responses.", + "真人克隆、爆款复刻、数字IP打造。": "Human cloning, viral replication and digital IP.", + "AI数字员工替代传统团队。": "AI digital workforce replacing traditional teams.", + "AI从业者交流社区,提问答疑、经验分享、资源对接": "A community for AI practitioners — Q&A, experience sharing and resource matching.", + "AI技术、营销实战问题互帮互助,专家在线解答。": "Peer support on AI tech and marketing, with expert answers.", + "真实项目经验、踩坑复盘、成功案例分享。": "Real project experience, lessons learned and success stories.", + "甲方乙方资源对接,找人找方案找合作。": "Connect supply and demand — find people, solutions and partners.", + "让AI搜索推荐你,让搜索引擎排名靠前,让付费投放高效转化": "Get recommended by AI search, rank high on engines, and convert paid traffic efficiently.", + "针对ChatGPT/豆包/文心等AI搜索优化,让品牌被AI优先推荐。": "Optimize for ChatGPT, Doubao, Wenxin & more — get your brand recommended by AI search.", + "站内优化+高质量外链+AI内容矩阵,稳定提升关键词排名。": "On-page SEO + quality backlinks + AI content matrix for stable keyword rankings.", + "关键词策略+落地页优化+智能出价,ROI最大化。": "Keyword strategy + landing page + smart bidding to maximize ROI.", + "搜索词、点击、转化全链路数据,持续迭代优化。": "Full-funnel data on queries, clicks and conversions for continuous iteration.", + "某SaaS企业GEO优化后,AI搜索正面提及率提升217%,自然线索月增40%。": "A SaaS firm saw 217% more positive AI-search mentions and 40% monthly organic lead growth.", + "来自1000+客户的肯定": "Trusted by 1,000+ Clients", + "每一份信任,都是我们前行的动力": "Every trust drives us forward", + "洞察行业趋势,见证千视成长": "Insights and company milestones", + "和我们一起,用AI改变企业运营方式": "Join us in transforming how businesses operate with AI.", + "负责AI智能体/大模型应用开发。": "Developing AI agents and LLM applications.", + "负责官网与业务系统前端开发。": "Building the website and business system frontend.", + "为客户设计AI落地方案。": "Designing AI solutions for clients.", + "投递简历:105920869@qq.com": "Send your CV to: 105920869@qq.com", + "AI营销干货、行业报告、实操案例,持续更新的知识库": "AI marketing playbooks, industry reports and real cases — a constantly updated library.", + "AI应用、拓客、推广实战方法,可落地的操作指南。": "Hands-on guides on AI adoption, prospecting and promotion.", + "AI与数字营销趋势报告,数据驱动的决策参考。": "Trend reports on AI & digital marketing for data-driven decisions.", + "资料中心持续更新,注册即可免费获取。": "Continuously updated; register for free access.", + "AI生产内容+专业运营团队,多平台自媒体全托管": "AI content production plus a professional ops team — full social media management.", + "AI抓取热点→生成脚本→自动发布,覆盖图文/短视频/直播。": "AI hotspot capture → script → auto-publish across articles, short video and live.", + "抖音/小红书/视频号/公众号多平台同步运营,账号矩阵放大流量。": "Synchronized ops across Douyin, RED, Channels and WeChat — account matrix amplifies traffic.", + "专业人设策划与内容规划,从0到1打造行业KOL。": "Professional persona & content planning, building industry KOLs from scratch.", + "粉丝增长、互动率、转化数据周报,持续优化内容策略。": "Weekly reports on growth, engagement and conversion, with continuous strategy tuning.", + "用AI数字员工替代传统团队,一个人也能运营一家公司": "Replace a traditional team with AI digital employees — run a company solo.", + "客服+内容+数据+交付全岗位AI数字员工,24×7自动运转。": "AI digital employees across support, content, data and delivery, running 24/7.", + "从获客、成交到交付的全自动运营链路搭建,一个人干一个团队的活。": "Full auto-ops pipeline from acquisition to delivery — one person, one team's output.", + "内容Agent、数据Agent、运营Agent协同工作,任务自动流转。": "Content, data and ops agents collaborate with automatic task handoff.", + "无需租赁办公室和雇佣团队,运营成本降低80%+。": "No office or hiring overhead — 80%+ reduction in operating cost.", + "某自由职业者部署OPC方案后,一人同时运营3个自媒体账号和1家网店。": "A freelancer runs 3 social accounts and an online store solo with our OPC solution.", + "把企业私有文档变成AI可检索的知识资产,数据不出域、安全合规": "Turn your private documents into AI-searchable knowledge assets, with data staying on-premises and fully compliant.", + "支持本地服务器/私有云/内网部署,数据不出域,满足金融、医疗、制造等行业的合规要求。": "Deploy on-premises, private cloud or intranet. Data never leaves your network, meeting compliance for finance, healthcare and manufacturing.", + "支持PDF/Word/Excel/PPT/网页/扫描件等多格式文档,自动清洗、切分、向量化。": "Parses PDF, Word, Excel, PPT, web pages and scans — auto-cleaned, chunked and vectorized.", + "基于向量检索+重排序的混合检索,海量文档中秒级定位答案,回答附原文出处。": "Hybrid vector + rerank retrieval answers in seconds with source citations, even across huge corpora.", + "细粒度文档权限隔离,AI只回答用户有权访问的内容,审计日志全程留痕。": "Granular document-level permissions — AI answers only what the user can access, with full audit trails.", + "某律所部署RAG知识库后,千份案例检索从2小时缩短到10秒,律师效率提升6倍。": "A law firm cut case retrieval from 2 hours to 10 seconds with our RAG KB, a 6x lawyer productivity boost.", + "7×24全网舆情监控,负面早发现、早处置、早化解": "24/7 monitoring across the web — catch, handle and defuse negatives early.", + "AI情感分析分级预警(红/橙/黄),负面5分钟内推送。": "AI sentiment tiers (red/orange/yellow); negatives pushed within 5 minutes.", + "自动生成回应口径与处置方案,帮助危机公关快速响应。": "Auto-drafted responses and action plans for rapid crisis handling.", + "日报/周报/季度报告自动生成,舆情态势一目了然。": "Auto daily/weekly/quarterly reports for a clear sentiment picture.", + "某上市公司舆情预警响应从4小时缩至5分钟,全年零重大舆情事故。": "A listed company cut alert response from 4 hours to 5 minutes — zero major incidents all year.", + "深入沟通业务场景,梳理核心需求与优先级。": "Deep-dive into your business scenarios to map core needs and priorities.", + "输出架构方案、UI原型与项目排期报价。": "Deliver architecture, UI prototypes and a scheduled, quoted plan.", + "敏捷迭代开发,分阶段交付可验收版本。": "Agile iteration with deliverables at every stage.", + "功能与性能测试,协助部署上线。": "Functional and performance testing, then deployment support.", + "AI驱动的精准触达,把每个潜在客户变成成交线索": "AI-driven precision outreach that turns every prospect into a closed lead.", + "基于行业/规模/需求多维数据建模,精准锁定高意向客户。": "Multi-dimension modeling on industry, size and needs to lock onto high-intent customers.", + "AI自动生成个性化触达内容,多渠道(企微/邮件/短信)自动跟进。": "AI drafts personalized outreach and auto-follows across WeCom, email and SMS.", + "识别到意向自动标记并推送销售,全程记录跟进轨迹。": "Detects intent, routes to sales, tracks every touchpoint.", + "获客成本、转化率、成交额数据面板,投放效果一目了然。": "Dashboard for CAC, conversion and revenue — see ROI at a glance.", + "企业官网/营销落地页/B2B平台,高转化、响应式、SEO友好": "Corporate sites, landing pages and B2B platforms — high-converting, responsive and SEO-friendly.", + "品牌展示型官网/外贸站/B2B商城,视觉与功能并重。": "Brand sites, export sites and B2B stores — beautiful and functional.", + "高转化落地页设计,配合投放快速验证获客模型。": "High-converting landing pages that quickly validate acquisition models.", + "PC/平板/手机全适配,多终端一致体验。": "Fully responsive across desktop, tablet and mobile.", + "语义化结构+结构化数据,为SEO与GEO打好地基。": "Semantic markup + structured data, laying the foundation for SEO and GEO.", + "为某制造企业重建官网后,自然搜索流量3个月增长80%。": "A manufacturer's rebuilt site grew organic search traffic 80% in three months.", + +// ===== 公司地址与地图 ===== + "地址:深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314": "A314, Honghui Sci-Tech Space, Tangxi Building, Gushu 1st Rd, Xixiang Sub-district, Bao'an District, Shenzhen", + "深圳市宝安区西乡街道固戍一路塘西综合楼洪辉科创空间A314": "A314, Honghui Sci-Tech Space, Tangxi Building, Gushu 1st Rd, Xixiang Sub-district, Bao'an District, Shenzhen", + "深圳市宝安西乡固戍一路塘西综合楼洪辉科创空间A314": "A314, Honghui Sci-Tech Space, Tangxi Building, Gushu 1st Rd, Xixiang Sub-district, Bao'an District, Shenzhen", + "在地图中打开": "Open in Maps", + "获取导航": "Get Directions", + "公司地址": "Our Office", + "办公地址": "Office Address", + "咨询电话": "Phone", + "电子邮箱": "Email", + "欢迎莅临交流,我们随时恭候您的到访。": "Welcome to visit our office anytime.", + "查看地图": "View on Map", }; // 构建反向字典 diff --git a/index.html b/index.html index 3017ada..aecba60 100644 --- a/index.html +++ b/index.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -785,7 +785,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/join.html b/join.html index 36c1773..1d92d55 100644 --- a/join.html +++ b/join.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -324,7 +324,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/legal.html b/legal.html index d45b7ae..e3d1e26 100644 --- a/legal.html +++ b/legal.html @@ -170,7 +170,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -317,7 +317,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/marketing-resources.html b/marketing-resources.html index 13d0546..c58df09 100644 --- a/marketing-resources.html +++ b/marketing-resources.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -324,7 +324,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/media-ops.html b/media-ops.html index 8f14db9..ff80a2b 100644 --- a/media-ops.html +++ b/media-ops.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/news-detail.html b/news-detail.html index 3ca2945..49a2856 100644 --- a/news-detail.html +++ b/news-detail.html @@ -170,7 +170,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -308,7 +308,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/news.html b/news.html index c2f318f..50c9148 100644 --- a/news.html +++ b/news.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -373,7 +373,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/opc-solution.html b/opc-solution.html index 83ef610..da1c416 100644 --- a/opc-solution.html +++ b/opc-solution.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/privacy.html b/privacy.html index 31083da..2dd18c9 100644 --- a/privacy.html +++ b/privacy.html @@ -170,7 +170,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -334,7 +334,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/rag-kb.html b/rag-kb.html index 7f468f1..09c3ff5 100644 --- a/rag-kb.html +++ b/rag-kb.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/sentiment-management.html b/sentiment-management.html index fecd885..eb43f36 100644 --- a/sentiment-management.html +++ b/sentiment-management.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/sitemap.html b/sitemap.html index 9164d80..7c67d69 100644 --- a/sitemap.html +++ b/sitemap.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -301,7 +301,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/software-detail.html b/software-detail.html index 4330f5d..fef2574 100644 --- a/software-detail.html +++ b/software-detail.html @@ -152,7 +152,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -338,7 +338,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/software.html b/software.html index 256a988..f15c62c 100644 --- a/software.html +++ b/software.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -286,48 +286,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G

完整交付源码与技术文档,无技术债、无锁定,可自主二次开发。

-
-
-
-

定制开发五步流程

-

标准化流程保障按期交付,每一步都有明确产出物

-
-
-

需求调研

-

深入沟通业务场景,梳理核心需求与优先级,输出需求文档。

-

方案设计

-

输出技术架构方案、UI原型与项目排期报价,确认后启动开发。

-

开发交付

-

敏捷迭代开发,分阶段交付可验收版本,进度全程透明。

-

测试上线

-

功能、性能与安全测试,协助部署上线并交付文档与源码。

-

运维迭代

-

7×24运维保障,按业务变化持续迭代优化,保障系统长期稳定。

-

源码交付

-

完整交付源码与技术文档,无技术债、无锁定,可自主二次开发。

-
-
-
-
-
-

定制开发五步流程

-

标准化流程保障按期交付,每一步都有明确产出物

-
-
-

需求调研

-

深入沟通业务场景,梳理核心需求与优先级,输出需求文档。

-

方案设计

-

输出技术架构方案、UI原型与项目排期报价,确认后启动开发。

-

开发交付

-

敏捷迭代开发,分阶段交付可验收版本,进度全程透明。

-

测试上线

-

功能、性能与安全测试,协助部署上线并交付文档与源码。

-

运维迭代

-

7×24运维保障,按业务变化持续迭代优化,保障系统长期稳定。

-

源码交付

-

完整交付源码与技术文档,无技术债、无锁定,可自主二次开发。

-
-
+
100%
定制贴合
1对1
专属团队
7×24
运维保障
0
技术债
@@ -380,7 +339,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/superlink.html b/superlink.html index acc9cd1..c53906f 100644 --- a/superlink.html +++ b/superlink.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+
微信扫码咨询客服二维码 diff --git a/terms.html b/terms.html index e069f76..3fe78fb 100644 --- a/terms.html +++ b/terms.html @@ -44,7 +44,7 @@ p{margin:12px 0} diff --git a/website-building.html b/website-building.html index c98c0e8..9c0ba56 100644 --- a/website-building.html +++ b/website-building.html @@ -157,7 +157,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G @@ -326,7 +326,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans G
联系方式
18948732299
105920869@qq.com
-
地址:深圳
+