"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _modelBase = require("../../../api/modelBase.js"); var _jsencrypt = _interopRequireDefault(require("jsencrypt")); var _index = _interopRequireDefault(require("../../../store/index.js")); var _auth = require("../../../utils/auth.js"); var _mapConfig = _interopRequireDefault(require("./mapConfig.js")); var _axios = _interopRequireDefault(require("axios")); var _mapServer = _interopRequireDefault(require("./mapServer.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var modelLayer = { modelBase: null, dbid: null, geom: null, layers: null, publickey: null, layerList: [], init: function init() { var _this = this; this.modelBase = config.modelBase; this.getSettingPublicKey(); var token = (0, _auth.getToken)(); if (token) { this.getModelLayerList(); } else { (0, _modelBase.getPublickey)().then(function (response) { var password = _this.modelBase.password; var userId = _this.modelBase.userId; _this.publickey = response.data; var encrypt = new _jsencrypt["default"](); encrypt.setPublicKey(_this.publickey); var encrypted = encrypt.encrypt(password.substring(0, 50)) + ""; var submit = { userid: userId, password: encrypted }; _this.setLoginsubmit(submit); }); } }, getSettingPublicKey: function getSettingPublicKey() { var _this2 = this; (0, _modelBase.getSettingPublickey)().then(function (response) { _this2.publickey = response.data; }); }, // 获取Token setLoginsubmit: function setLoginsubmit(res) { var _this3 = this; (0, _modelBase.getSecurityLogin)(res).then(function (response) { var val = response.data.token; (0, _auth.setToken)(val); _this3.getModelLayerList(); }); }, // 获取列表 getModelLayerList: function getModelLayerList() { var _this4 = this; var token = (0, _auth.getToken)(); (0, _modelBase.getListCanview)({ token: token }).then(function (response) { var data = response.data; var obj = data.filter(function (item) { if (item.name == _this4.modelBase.modelLayer) { return item; } }); console.log("dbid", response); if (obj.length > 0) { _this4.dbid = obj[0].dbid; _this4.getmapConfig(); } }); }, getmapConfig: function getmapConfig() { var _this5 = this; (0, _modelBase.getmapConfig)({ dbid: this.dbid, token: (0, _auth.getToken)() }).then(function (response) { if (response.code != 200) return; var layers = response.data.layers; _this5.layers = layers; console.log(layers); for (var i in layers) { if (layers[i].name == config.modelLayer) { var url = null; for (var key in layers[i].lod_url["3d"]) { url = layers[i].lod_url["3d"][key]; } _mapServer["default"].addServer({ sourceType: "Tileset", url: url, id: layers[i].id }); } else { if (layers[i].lod_url) { if (layers[i].lod_url["3d"]) { if (layers[i].name != "底图" && layers[i].name != "FW12") { for (var key in layers[i].lod_url["3d"]) { var mdurl = layers[i].lod_url["3d"][key]; if (mdurl) { var tileset = new Cesium.Cesium3DTileset({ url: mdurl }); tileset.show = false; earthCtrl.primitives.add(tileset); _this5.layerList.push(tileset); } } } } } } } }); }, getQueryGroupBy: function getQueryGroupBy(layer, filed, ction) { var layerId = this.layers.filter(function (item) { if (item.name == layer) { return item; } }); if (layerId.length <= 0) { return; } var url = config.modelBase.url + config.modelBase.geo + "/entitydbdata/query/entity"; var obj = [{ type: "count", field: filed, outfield: "count_" + filed }]; _axios["default"].post(url, { layerid: layerId[0].id, dbid: this.dbid, token: (0, _auth.getToken)(), statistics: JSON.stringify(obj), containCount: true, groupby: filed }, { headers: { Authorization: (0, _auth.getToken)(), "Content-Type": "application/x-www-form-urlencoded" } }).then(function (response) { ction(response); })["catch"](function (error) { error; }); }, setLayerQuery: function setLayerQuery() { var token = (0, _auth.getToken)(); this.geom = _mapConfig["default"].setPointToCrical(120.27, 14.79, null); // const obj = { // type: "FeatureCollection", // totalFeatures: 1086, // features: [this.geom] // }; // earthCtrl.factory.createFeatureLayer({ // sourceType: "geojson", // url: obj, // style: { // layerType: "polygon", // material: new SmartEarth.Cesium.ColorMaterialProperty( // new SmartEarth.Cesium.Color.fromCssColorString("#00f") // ), // outlineColor: new SmartEarth.Cesium.Color.fromCssColorString("#fff"), // outline: true // } // }); this.configTooles = { url: config.modelBase.url + config.modelBase.geo + "/entitydbdata/query/entity", layerid: "432a7d4f-b136-4649-91a3-52709db9c3ef", dbid: "a02c1f922bd64a0ea5979dbebc60d337", geometry: this.geom.geometry, start: 1, token: token, outfields: "*", containCount: true, contentType: "application/x-www-form-urlencoded" }; this.getLayerModelCount(this.configTooles); }, getLayerModelCount: function getLayerModelCount(res) { var _this6 = this; _axios["default"].post(res.url, { dbid: res.dbid, geometry: res.geometry, layerid: res.layerid, returnCountOnly: res.containCount, token: res.token }, { headers: { Authorization: res.token, "Content-Type": res.contentType } }).then(function (response) { if (response.status === 200) { _this6.getLayerModelList(res, response.data.data); } else { _this6.getLayerModelList(res, 200); } }); }, getLayerModelList: function getLayerModelList(res, count) { var that = this; _axios["default"].post(res.url, { dbid: res.dbid, geometry: res.geometry, layerid: res.layerid, containCount: res.containCount, token: res.token, count: count, start: 1, outfields: res.outfields }, { headers: { Authorization: res.token, "Content-Type": res.contentType } }).then(function (response) { that.setLayerFilter(response.data.data.items); }); }, setLayerFilter: function setLayerFilter(rs) { var obj = _mapServer["default"].listData.filter(function (item) { if (item.type == "Tileset") { return item; } }); if (!obj) return; var tileset = obj[0].layer; var a = []; // rs.filter((item) => { // if (item.targettype == "军事目标") { // // a.push(["${id} === '" + item.sid + "'", "color('#FF0000', 0.5)"]); // } // }); // a.push([// "${id} == '1_b092c0c26de646b984801e29fba37f82'", "${id} == 1_b092c0c26de646b984801e29fba37f82", 'color("purple", 0.5)']); a.push(["true", "color('#E8F1F2', 0.5)"]); tileset.style = new Cesium.Cesium3DTileStyle({ // color: "vec4(1.0,1.0,1.0, 1.0)", // 红色 color: { conditions: [[// "${id} == '1_b092c0c26de646b984801e29fba37f82'", '${targettype} == "军事目标"', 'color("purple", 0.5)']] } }); // window.Cesium.when(tileset.readyPromise, function(tileset) { // var tilesetId = tileset.id; // }); // tileset.readyPromise.then( (item)=> { // tileset.tileVisible.addEventListener( (tile)=> { // }) // }) } }; var _default = modelLayer; exports["default"] = _default;