"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;
|