| | |
| | | const webUrl = location.href.indexOf("/chat") > -1 ? "/chat/" : "";
|
| | | const webUrl = location.href.indexOf("/GeoAgent") > -1 ? "/GeoAgent/" : "";
|
| | | const webHost = location.origin + webUrl;
|
| | | const config = {
|
| | | StaticFileBaseUrl: webUrl + "/CimSDK/",
|
| | |
| | | loadTime: 2000,
|
| | | //é´éå¤ä¹
åæ¶æ¯
|
| | | retTime: 2000,
|
| | | apiUrl: "http://192.168.11.169:8080/"
|
| | | // apiUrl: "http://192.168.11.41:7777/",
|
| | | apiUrl: "http://106.120.22.26:5367/",
|
| | | imgUrl: webHost + "/image/"
|
| | | };
|
| | |
| | | import service from "../utils/service.js"; |
| | | export function getAIMessage(params) { |
| | | //请æ±å°å |
| | | return service.get("/api/v1/chat?message=" + params); |
| | | // return service.get("/api/v1/chat?message=" + params); |
| | | return service.get("/intention?message=" + params); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import mapServer from "./mapServer"; |
| | | |
| | | const mapInfo = { |
| | | init(res) { |
| | | switch (res) { |
| | | case "flyToImageryLayer": |
| | | this.setFlyToImageryLayer(); |
| | | break; |
| | | } |
| | | }, |
| | | setFlyToImageryLayer() { |
| | | mapServer.addServer({ |
| | | sourceType: "tms", |
| | | url: "http://test.smartearth.cn:9037/gisserver/tmsserver/SubicBayArea" |
| | | }); |
| | | } |
| | | }; |
| | | export default mapInfo; |
| | |
| | | sourceType: null, |
| | | init() {}, |
| | | addServer(res) { |
| | | this.remoServer(res); |
| | | this.sourceType = res.sourceType; |
| | | console.log(this.sourceType); |
| | | |
| | | switch (this.sourceType) { |
| | | case "arcgis": |
| | | this.addArcgisServer(res); |
| | |
| | | break; |
| | | } |
| | | }, |
| | | remoServer(res) { |
| | | for (var i in this.listData) { |
| | | const obj = this.listData[i]; |
| | | if (obj.type == res.sourceType) { |
| | | obj.layer.removeFromMap(); |
| | | this.listData.splice(i, 1); |
| | | } |
| | | } |
| | | }, |
| | | addTmsLayer(res) { |
| | | console.log(res.url); |
| | | var layer = earthCtrl.factory.createImageryLayer({ |
| | | sourceType: "tms", |
| | | url: "http://test.smartearth.cn:9037/gisserver/tmsserver/SubicBayArea", |
| | | // url: "http://test.smartearth.cn:9037/gisserver/tmsserver/SubicBayArea" |
| | | url: res.url |
| | | }); |
| | | this.listData.push({ |
| | | layer: layer, |
| | | type: this.sourceType |
| | | }); |
| | | mapConfig.flyToImageryLayer(layer) |
| | | mapConfig.flyToImageryLayer(layer); |
| | | }, |
| | | addArcgisServer(res) { |
| | | const layer = earthCtrl.factory.createImageryLayer({ |
| | |
| | | layer: layer, |
| | | type: this.sourceType |
| | | }); |
| | | |
| | | }, |
| | | addGeoServer(res) { |
| | | const layer = earthCtrl.factory.createWfsLayer("polygon", { |
| | |
| | | const msgData = {
|
| | | mine: null,
|
| | | getRole(type, msg) {
|
| | | |
| | | const imgurl = this.getImgUrl(type);
|
| | | var roleMsg = this.getTest(msg);
|
| | | this.mine = this.getMine(type);
|
| | | return {
|
| | | msg: this.getMsg(imgurl, roleMsg[0]),
|
| | | |
| | | msg: this.getMsg(imgurl, roleMsg[0])
|
| | | };
|
| | | },
|
| | | getTest(res) {
|
| | |
| | | if (img) {
|
| | | var val_img = "";
|
| | | for (var i in img) {
|
| | | var img_url = webHost + "/image/" + img[i];
|
| | | var img_url = config.imgUrl + img[i];
|
| | | if (val_img) {
|
| | | val_img += ",";
|
| | | }
|
| | |
| | | return val;
|
| | | },
|
| | | getImgUrl(type) {
|
| | | var url = webHost + "/image/";
|
| | | var url = config.imgUrl;
|
| | | if (type == "ai") {
|
| | | url = url + aiData.aiRole_img;
|
| | | } else if (type == "role") {
|
| | |
| | | }
|
| | | },
|
| | | setmsgtab(tab) {
|
| | | var url = webHost + "/image/" + aiData.aiRole_img;
|
| | | var url = config.imgUrl + aiData.aiRole_img;
|
| | | var thead = tab[0];
|
| | | var tbody = tab[1];
|
| | | var header = "<thead class ='tabHeader'><tr>";
|
| | |
| | | setmsgImg(img) {
|
| | | var val_img = "";
|
| | | for (var i in img) {
|
| | | var img_url = webHost + "/image/" + img[i];
|
| | | var img_url = config.imgUrl + img[i];
|
| | | // if (val_img) {
|
| | | // val_img += ","
|
| | | // }
|
| | | val_img += "<img data-src= " + img_url + "></img>";
|
| | | }
|
| | |
|
| | | var url = webHost + "/image/" + aiData.aiRole_img;
|
| | | var url = config.imgUrl + aiData.aiRole_img;
|
| | | var obj = {
|
| | | date: this.getDate(),
|
| | | text: { text: val_img },
|
| | |
| | | }, 150);
|
| | | },
|
| | | getLoader() {
|
| | | this.mine = false;
|
| | | var url = webHost + "/image/" + aiData.aiRole_img;
|
| | | this.mine = true;
|
| | | var url = config.imgUrl + aiData.aiRole_img;
|
| | | var msg = {
|
| | | text: "<div class='loading'></div>"
|
| | | // text: "<div class='loading'></div>"
|
| | | text: " <div class='parentBox'> <div class='loadBox'> <div class='loaderContantBox'></div> </div> </div>"
|
| | | };
|
| | | return this.getMsg(url, msg);
|
| | | },
|
| | |
| | | date: this.getDate(),
|
| | | text: msg,
|
| | | mine: false,
|
| | | name:this.mine?'[GeoAgent]':'[æ¨]',
|
| | | name: this.mine ? "[GeoAgent]" : "[æ¨]",
|
| | | img: imgurl
|
| | | };
|
| | | },
|
| | |
| | | max-width: 200px;
|
| | | }
|
| | | </style>
|
| | | <style>
|
| | | .parentBox {
|
| | | height: 100%;
|
| | | /* background: rgb(31, 31, 31); */
|
| | | padding: 20px;
|
| | | }
|
| | | .loadBox .loaderContantBox {
|
| | | color: white;
|
| | | font-size: 40px;
|
| | | overflow: hidden;
|
| | | width: 40px;
|
| | | height: 40px;
|
| | | border-radius: 50%;
|
| | | transform: translateZ(0);
|
| | | /* animationï¼è§å®å®æå¨ç»æè±è´¹çæ¶é´ï¼è¯¥å±æ§å¿
é¡»è§å®ï¼å¦åå¨ç»æ¶é¿ä¸º0ï¼æ æ³ææ¾ */
|
| | | animation: loadBox 1.7s infinite ease, round 1.7s infinite ease;
|
| | | }
|
| | |
|
| | | @keyframes loadBox {
|
| | | 0% {
|
| | | box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em,
|
| | | 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
| | | }
|
| | |
|
| | | 5%,
|
| | | 95% {
|
| | | box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em,
|
| | | 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
| | | }
|
| | |
|
| | | 10%,
|
| | | 59% {
|
| | | box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em,
|
| | | -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em,
|
| | | -0.297em -0.775em 0 -0.477em;
|
| | | }
|
| | |
|
| | | 20% {
|
| | | box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em,
|
| | | -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em,
|
| | | -0.749em -0.34em 0 -0.477em;
|
| | | }
|
| | |
|
| | | 38% {
|
| | | box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em,
|
| | | -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em,
|
| | | -0.82em -0.09em 0 -0.477em;
|
| | | }
|
| | |
|
| | | 100% {
|
| | | box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em,
|
| | | 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
| | | }
|
| | | }
|
| | |
|
| | | @keyframes round {
|
| | | 0% {
|
| | | transform: rotate(0deg); /* å¼å§æè½¬ div å
ç´ */
|
| | | }
|
| | |
|
| | | 100% {
|
| | | transform: rotate(360deg); /* ç»ææè½¬ div å
ç´ */
|
| | | }
|
| | | }
|
| | | </style>
|
| | |
| | | import store from "../../store";
|
| | | import bus from "./../../assets/js/bus.js";
|
| | | import { getAIMessage } from "../../api/api.js";
|
| | | import mapInfo from "../../assets/js/map/mapInfo.js";
|
| | | export default {
|
| | | name: "jwChat",
|
| | |
|
| | |
| | | clearInterval(window.timer);
|
| | | window.timer = null;
|
| | | }
|
| | | // this.setLoading();
|
| | | setTimeout(() => {
|
| | | this.setMsgStart("æ¨å¥½");
|
| | | // this.setMsgStart("æ¨å¥½");
|
| | | }, config.loadTime);
|
| | | bus.$on("mapInfo", (res) => {
|
| | | if (res) {
|
| | |
| | | const msg = this.inputMsg;
|
| | | if (!msg) return;
|
| | | this.getMsg("role", msg);
|
| | | this.setLoading();
|
| | | setTimeout(() => {
|
| | | // this.loading = true;
|
| | | this.setMsgStart(msg);
|
| | | // const loader = msgData.getLoader();
|
| | | // this.list.push(loader);
|
| | | }, 200);
|
| | | },
|
| | | async setMsgStart(res) {
|
| | | const data = await getAIMessage(res);
|
| | |
|
| | | // var msg = aiData.aiMsg[0]
|
| | | this.getMsg("ai", data);
|
| | | if (res == "hi") {
|
| | | this.$nextTick(() => {
|
| | | setTimeout(() => {
|
| | | this.$store.state.erroInfoMessage = {
|
| | | title: "è¦åï¼è²å¾å®¾èæ¯å
æ¹¾åºåæ£æµåºå¼å¸¸åäºç®æ ï¼",
|
| | | val: "å¼å¸¸ä»£å·ï¼4r5as5s001"
|
| | | };
|
| | | }, 5000);
|
| | | });
|
| | | const message = data.order;
|
| | | if (data.order.args && data.order.args.place) {
|
| | | message = data.order.args.place;
|
| | | }
|
| | | this.getMsg("ai", message);
|
| | | if (data.order.name) {
|
| | | mapInfo.init(data.order.name);
|
| | | }
|
| | | |
| | | },
|
| | | setMapInfo(res) {
|
| | | var msg = "";
|
| | |
| | | msg = "<div>å¼å¸¸æ¥è¯¢</div>" + res.value;
|
| | | }
|
| | | this.getMsg("role", msg);
|
| | | this.setMsgStart(res.value);
|
| | | },
|
| | | getMsg(type, msg) {
|
| | | var roleMsg = msgData.getRole(type, msg);
|
| | | if (this.loading) {
|
| | | this.loading = false;
|
| | | const length = this.list.length - 1;
|
| | | this.list[length].text = roleMsg.msg.text;
|
| | | } else {
|
| | | this.list.push(roleMsg.msg);
|
| | | }
|
| | | },
|
| | | setShowMsg() {
|
| | | if (this.msgData.text) {
|
| | |
| | | this.list.push(val);
|
| | | }
|
| | | },
|
| | | setLoading() {
|
| | | const loader = msgData.getLoader();
|
| | | this.list.push(loader);
|
| | | this.loading = true;
|
| | | },
|
| | | getLoadingFlag() {
|
| | | if (this.list.length == 0) {
|
| | | return;
|
| | |
| | | }, |
| | | methods: { |
| | | setMenuChange(res) { |
| | | this.menuCheckFlg = res.id; |
| | | // this.menuCheckFlg = res.id; |
| | | if (res.id == "c2") { |
| | | this.$store.state.setScreenFlag = !this.$store.state.setScreenFlag; |
| | | } |
| | |
| | | dataTypes(newValue, oldValue) { |
| | | if (newValue) { |
| | | this.menuOption = newValue; |
| | | this.menuCheckFlg = this.menuOption[0].id; |
| | | // this.menuCheckFlg = this.menuOption[0].id; |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <div class="mapChart"> |
| | | <div class="leftChart"> |
| | | <map-chart></map-chart> |
| | | <div |
| | | :class=" |
| | | $store.state.setScreenFlag ? 'leftContentActive' : 'leftContent' |
| | | " |
| | | > |
| | | <map-chart></map-chart></div> |
| | | <!-- --> |
| | | </div> |
| | | <div :class="$store.state.setScreenFlag ? 'rightMapActive' : 'rightMap'"> |
| | | <map-view></map-view> |
| | |
| | | } |
| | | .leftChart { |
| | | flex: 1; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | .leftContent { |
| | | width: 50%; |
| | | height: 100%; |
| | | transition: 1s ease-out; |
| | | } |
| | | .leftContentActive { |
| | | width: 100%; |
| | | height: 100%; |
| | | transition: 1s ease-out; |
| | | |
| | | } |
| | | .rightMapActive { |
| | | width: 50%; |
| | |
| | | type: "erroInfo", |
| | | value: obj.val |
| | | }); |
| | | mapServer.addServer({ |
| | | sourceType: "tms", |
| | | url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer" |
| | | }); |
| | | |
| | | } |
| | | this.$nextTick(() => { |
| | | this.errInfoFlag = false; |