import { getToken } from "@/utils/auth";
|
//配置文件地址
|
import config from "./config";
|
const server = {
|
layerList: [],
|
addTreeData(treeNode) {
|
if (!treeNode.checked) {
|
this.delLayer(treeNode.id);
|
return;
|
}
|
|
// comment on table lf.sys_res is '资源表';
|
// comment on column lf.sys_res.id is '主键ID';
|
// comment on column lf.sys_res.pid is '父ID:0-根节点';
|
// comment on column lf.sys_res.cn_name is '中文名称';
|
// comment on column lf.sys_res.en_name is '英文名称';
|
// comment on column lf.sys_res.type is '类型:1-图层组,2-普通图层,3-代理图层';
|
// comment on column lf.sys_res.status is '状态:-1-废弃,0-停用,1-启用';
|
// comment on column lf.sys_res.category is '类型:0-URL,1-TMS,2-WMTS,3-WFS,4-Tileset';
|
// comment on column lf.sys_res.firm is '厂商:0-其他,1-GisServer,2-GeoServer,3-数简';
|
// comment on column lf.sys_res.url is '服务地址';
|
// comment on column lf.sys_res.test is '测试地址';
|
// comment on column lf.sys_res.proxy is '代理地址';
|
// comment on column lf.sys_res.descr is '描述';
|
// comment on column lf.sys_res.depid is '单位编码';
|
// comment on column lf.sys_res.dirid is '项目编码';
|
// comment on column lf.sys_res.img is '缩略图';
|
// comment on column lf.sys_res.level is '层级:0-根节点';
|
// comment on column lf.sys_res.sort is '排序';
|
// comment on column lf.sys_res.create_user is '创建人ID';
|
// comment on column lf.sys_res.create_time is '创建时间';
|
// comment on column lf.sys_res.update_user is '更新人ID';
|
// comment on column lf.sys_res.update_time is '更新时间';
|
// comment on column lf.sys_res.bak is '备注';
|
// 代理:/proxy/{token}/4
|
// 地址:http://192.168.20.83:8088/MoonServer + proxy.replace("{token}", token)
|
// order_num -> sort
|
// serve_type -> category
|
|
switch (treeNode.type) {
|
case 1:
|
treeNode.useUrl = treeNode.url;
|
break;
|
case 2:
|
treeNode.useUrl = treeNode.url;
|
break;
|
case 3:
|
treeNode.useUrl = treeNode.url;
|
// var token = getToken();
|
// treeNode.useUrl = BASE_URL + treeNode.proxy.replace("{token}", token);
|
break;
|
}
|
this.addGisServer(treeNode);
|
// if (treeNode.firm == 2) {
|
// this.addGeoServer(treeNode);
|
// } else {
|
// this.addGisServer(treeNode);
|
// }
|
},
|
//清除图层
|
delLayer(code) {
|
this.layerList.forEach((e, i) => {
|
if (e.id === code) {
|
switch (e.type) {
|
case "wmts":
|
window.Viewer.imageryLayers.remove(e.layerData.item);
|
break;
|
case "tms":
|
|
window.Viewer.imageryLayers.remove(e.layerData.item);
|
break;
|
case "dem":
|
window.Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(
|
{}
|
);
|
break;
|
}
|
this.layerList.splice(i, 1);
|
}
|
});
|
},
|
addGisServer(treeNode) {
|
// 0-URL,1-TMS,2-WMTS,3-WFS,4-Tileset';
|
//判断服务是否已存在
|
var service = [];
|
if (this.layerList.length > 0) {
|
service = this.layerList.filter((res) => {
|
if (res.id == treeNode.id) {
|
return res
|
}
|
})
|
}
|
if (service.length > 0) return
|
|
switch (treeNode.type) {
|
case 1:
|
this.AddTmsLayer(treeNode.useUrl, treeNode.id);
|
break;
|
case 2:
|
this.AddWmtesLayer(treeNode.useUrl, treeNode.id);
|
break;
|
case 3:
|
break;
|
case 4:
|
break;
|
}
|
},
|
addGeoServer(treeNode) {
|
// 0-URL,1-TMS,2-WMTS,3-WFS,4-Tileset';
|
switch (treeNode.type) {
|
case 1:
|
break;
|
case 2:
|
this.AddGeoWmsLayer(treeNode.useUrl, treeNode.id, treeNode.tab);
|
break;
|
case 3:
|
break;
|
case 4:
|
break;
|
}
|
},
|
//添加geoserver服务wms服务
|
AddGeoWmsLayer(url, id, tab) {
|
let layer = new SmartEarth.Cesium.WebMapServiceImageryProvider({
|
// url: "http://192.168.22.198:8090/geoserver/moon/wms",
|
url: url,
|
layers: tab,
|
parameters: {
|
transparent: true,
|
format: "image/png",
|
srs: "EPSG:104903",
|
styles: "",
|
},
|
tileWidth: 512,
|
tileHeight: 512,
|
});
|
layer.name = `Wms_Layer${id}`;
|
|
let img_layer = Viewer.imageryLayers.addImageryProvider(layer);
|
this.layerList.push({ id: id, layerData: img_layer, type: "wmts" });
|
},
|
//添加GisServer服务TMS切片服务
|
AddTmsLayer(url, id) {
|
// var urlTemplateImageryProvider = new SmartEarth.Cesium.UrlTemplateImageryProvider({
|
// url: url + "/{z}/{x}/{y}.png"
|
// });
|
// Viewer.imageryLayers.addImageryProvider(urlTemplateImageryProvider);
|
let img_layer = earthCtrl.Creator.createUrlTemplateImageryProvider(
|
"tms服务",
|
{
|
url: Cesium.buildModuleUrl(url + "/{z}/{x}/{y}.png"),
|
},
|
"0",
|
undefined,
|
true,
|
""
|
);
|
this.layerList.push({ id: id, layerData: img_layer, type: "tms" });
|
},
|
AddWmtesLayer(url, id) {
|
var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({
|
sourceType: "wmts",
|
url: url,
|
layer: "",
|
format: "image/png",
|
tileMatrixSetID: "GoogleCRS84Quad01",
|
tileMatrixLabels: [
|
"0",
|
"1",
|
"2",
|
"3",
|
"4",
|
"5",
|
"6",
|
"7",
|
"8",
|
"9",
|
"10",
|
"11",
|
"12",
|
"13",
|
"14",
|
"15",
|
"16",
|
"17",
|
"18",
|
],
|
style: "",
|
tilingScheme: new Cesium.GeographicTilingScheme({
|
ellipsoid: Cesium.Ellipsoid.MOON,
|
}),
|
});
|
console.log(urlTemplateImageryProvider);
|
this.layerList.push({
|
id: id,
|
layerData: urlTemplateImageryProvider._primitive,
|
type: "wmts",
|
});
|
},
|
AddDemLayer(url, id) {
|
var terrain = new Cesium.CesiumTerrainProvider({
|
url: config.moonTerrain,
|
// url: url,
|
tilingScheme: new Cesium.GeographicTilingScheme({
|
ellipsoid: Cesium.Ellipsoid.MOON,
|
}),
|
});
|
window.Viewer.terrainProvider = terrain;
|
|
// let img_layer = Viewer.imageryLayers.addImageryProvider(layer);
|
this.layerList.push({ id: id, type: "dem" });
|
},
|
};
|
export default server;
|