Files
4.0/src/renderer/api/gisAPI.js
2025-11-14 09:42:30 +08:00

1240 lines
23 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { request } from "@/utils/request";
import { request_get } from "../utils/request";
/**
* 获取配置信息
* @return {*}
*/
export function getIniInfo() {
return request({
url: "/api/v1/ini/info",
method: "get",
});
}
/**
* 获取图层指挥舱的记录
* @return {*}
*/
export function get_source_list() {
return request({
url: "/api/v1/source/list",
method: "post",
data: {},
});
}
/**
* 添加记录
* @param data
* @return {*}
*/
export function addSource(data) {
if (!data.tree_index) {
let nodes = window.treeObj.getSelectedNodes();
console.log("nodes", nodes);
// 获取最大tree_index的辅助函数
const getMaxTreeIndex = (items = []) => items.reduce((max, item) => Math.max(max, item.tree_index || 0), 0);
if (nodes.length > 0) {
// 检查当前节点是否有子节点
let children = nodes[0].children;
if (children && children.length > 0) {
// 从子节点中获取最大tree_index
data.tree_index = getMaxTreeIndex(children) + 1;
} else {
// 获取父节点
let parentNode = nodes[0].getParentNode();
if (parentNode) {
// 从父节点的子节点中获取最大tree_index
data.tree_index = getMaxTreeIndex(parentNode.children) + 1;
} else {
// 没有父节点,获取根节点列表
let nodes = window.treeObj.getNodes();
if (nodes.length > 0) {
data.tree_index = getMaxTreeIndex(nodes) + 1;
}else{
data.tree_index = nodes.length+ 1;
}
}
}
} else {
// 没有选中节点,获取根节点列表
// 获取根节点列表,处理可能为undefined的情况
const nodes = window.treeObj.getNodes() || [];
console.log("nodes", nodes);
let max
if (nodes.length > 0) {
max = getMaxTreeIndex(nodes)
}else{
max = nodes.length
}
data.tree_index = max + 1;
}
}
console.log("addSource", data);
return request({
url: "/api/v1/source/add",
method: "post",
data,
});
}
/**
* 添加点标注
*/
export function addPoint(data, cb) {
return request({
url: "/api/v1/source/add-point",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 删除记录
* @param data
* @return {*}
*/
export function delSource(data) {
return request({
url: "/api/v1/source/del",
method: "post",
data,
});
}
/*export function hideSource(data, cb) {
return request({
url: "/api/v1/source/hide",
method: "post",
data
});
}*/
let requestCallback = (res, cb, notice = true) => {
if ([0, 200].includes(res.code)) {
if (notice)
$root_home.$message({
message: "操作成功",
type: "success",
});
cb(res.data);
} else {
$root_home.$message.error(res.message);
cb("error");
}
};
/**
* 隐藏地图上的所显示的资源
* @param data
* @param cb
*/
export function hideSource(data, cb) {
request({
url: "/api/v1/source/hide",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 显示地图上的所隐藏的资源
* @param data
* @param cb
*/
export function showSource(data, cb) {
request({
url: "/api/v1/source/show",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 更新资源父id和在树上的顺序
* @param data
* @param cb
*/
export function updatePidTree_index(data, cb) {
request({
url: "/api/v1/source/update-pid-tree_index",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 更新资源名称和资源自定义参数
* @param data
* @param cb
*/
export function updateInfo(
data = {
source_id: "",
source_name: "",
detail: "",
},
cb
) {
request({
url: "/api/v1/source/update-info",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
export function updatePid(data = { source_ids: [], p_id: "", trees: [] }, cb) {
request({
url: "/api/v1/source/update-pid-tree_index",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/*查询bim构件信息*/
export function getBimInfo(data = { source_id: "", bim_id: "" }, cb) {
request_get("/api/v1/bim/queryInfos", data).then((res) => {
requestCallback(res, cb, false);
});
}
/*更新bim构件信息*/
export function addBimInfo(
data = { source_id: "", bim_id: "", detail: "" },
cb
) {
request({
url: "/api/v1/bim/addInfos",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 导入模型库
* @param data {model_lib_path}: 模型库路径(文件)
* @param cb
*/
export function importModel(data = { model_lib_path: "" }, cb) {
request({
url: "/api/v1/model/import",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
/**
* 获取模型列表
* @param cb
*/
export function modelList(cb, data = { page: 1, page_size: 0 }) {
request({
url: "/api/v1/model/list",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
/**
* 创建模型库
* @param data
* @param cb
*/
export function createModel(
data = { model_lib_name: "", model_lib_path: "" },
cb
) {
request({
url: "/api/v1/model/create",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 添加模型
* @param data
*/
export function addModel(data = { model_paths: [], p_id: "" }, cb) {
request({
url: "/api/v1/model/add",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/*
* 添加模型类型
* */
export function addModelType(data = { type_name: "" }, cb) {
request({
url: "/api/v1/model/type/add",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/*
* 删除模型类型
* */
export function delModelType(data = { type_id: "" }, cb) {
request({
url: "/api/v1/model/type/del",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/*
* 修改模型类型
* */
export function editModelType(data = { type_name: "", type_id: "" }, cb) {
request({
url: "/api/v1/model/type/edit",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
export function getModelType(cb) {
request_get("/api/v1/model/type/list", {}).then((res) => {
requestCallback(res, cb, false);
});
}
/**
* 更新模型缩略图
* @param data
*/
export function updatePoster(
data = {
model_id: "string",
poster_path: "string",
}
) {
return request({
url: "/api/v1/model/update-poster",
method: "post",
data,
// timeout: 10000000,
});
}
/**
* 删除模型缩略图
* @param data
*/
export function delModel(
data = {
model_id: "string",
},
cb
) {
request({
url: "/api/v1/model/del",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/*
*创建军标库
* */
export function createGraphLabel(
data = { junbiao_lib_path: "", junbiao_lib_name: "'" },
cb
) {
request({
url: "/api/v1/junbiao_2d/create",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 导入军标库
* @param data {model_lib_path}: 模型库路径(文件)
* @param cb
*/
export function importGraphLabel(data = { junbiao_lib_path: "" }, cb) {
request({
url: "/api/v1/junbiao_2d/import",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
/*
* 获取军标类型(同时返回对应类型下的军标)
* */
export function getGraphLabelType(type, cb) {
// request_get("/api/v1/junbiao_2d/type/list", {}).then((res) => {
// requestCallback(res, cb, false);
// });
request_get("/api/v1/junbiao_2d/type/list", { imgType: type }).then((res) => {
console.log("getGraphLabelType", res);
// res=res.data
// res.data = res.data.list
requestCallback(res, cb, false);
});
}
/*
* 获取军标类型(同时返回对应类型下的军标)
* */
export function getGraphLabelType2(cb) {
request_get("/api/v1/junbiao_2d/type/list", {}).then((res) => {
requestCallback(res, cb, false);
});
}
/*
* 添加军标类型
* */
export function addJunbiaoType(data = { type_name: "", type_id: "" }, cb) {
request({
url: "/api/v1/junbiao_2d/type/add",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/*
* 修改军标类型
* */
export function editGraphLabelType(data = { type_name: "", type_id: "" }, cb) {
request({
url: "/api/v1/junbiao_2d/type/edit",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
// $root_home_index.$message.warning("后端无相关接口")
}
/*
* 删除军标类型
* */
export function delGraphLabelType(data = { type_id: "" }, cb) {
request({
url: "/api/v1/junbiao_2d/type/del",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 添加军标
* @param data
*/
export function addGraphLabel(data = { name: "", p_id: "", data: "" }, cb) {
request({
url: "/api/v1/junbiao_2d/add",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 删除军标
* @param data
*/
export function delGraphLabels(data = { jun_biao_id: "" }, cb) {
request({
url: "/api/v1/junbiao_2d/del",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
export function editGraphLabel(data = { jun_biao_id: "", name: "" }, cb) {
request({
url: "/api/v1/junbiao_2d/edit",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 获取角色列表
* @param cb
*/
export function roleList(cb, data = { page: 1, page_size: 0 }) {
request_get("/api/v1/role/list", data).then((res) => {
requestCallback(res, cb, false);
});
}
/**
* 删除角色{role_id: 0}
* @param cb
*/
export function delRole(data, cb) {
request({
url: "/api/v1/role/del",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 创建角色
* @param cb
*/
export function createRole(
data = {
role_name: "",
},
cb
) {
request({
url: "/api/v1/role/add",
method: "post",
data,
}).then((res) => {
console.log("createUser得 requestCallback", res);
requestCallback(res, cb);
});
}
// 获取角色权限-yjq
export function getRole(params) {
return request({
url: "/api/v1/role/get",
method: "get",
params,
});
}
/**
* 角色权限修改-yjs
* @param cb
*/
export function editRole(
data = {
role_id: "",
key: "",
status: "",
},
cb
) {
request({
url: "/api/v1/role/edit",
method: "post",
data,
}).then((res) => {
console.log("createUser得 requestCallback", res);
requestCallback(res, cb);
});
}
/**
* 给用户添加角色-yjs
* @param cb
*/
export function useraddRole(
data = {
username: "",
role_id: "",
},
cb
) {
request({
url: "/api/v1/user/addRole",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 获取用户列表
* @param cb
*/
export function userList(cb, data = { page: 1, page_size: 0, depart_id: "" }) {
request_get("/api/v1/user/list", data).then((res) => {
requestCallback(res, cb, false);
});
}
/**
* 设置用户状态 (1:禁用0启用)
* @param cb
*/
export function userState(data = { username: "", status: 0 }, cb) {
request({
url: "/api/v1/user/state",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 删除用户
* @param cb
*/
export function delUser(data = { username: "" }, cb) {
request({
url: "/api/v1/user/del",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 创建用户
* @param cb
*/
export function createUser(
data = {
username: "",
nick_name: "",
depart_id: "",
password: "",
password2: "",
},
cb
) {
request({
url: "/api/v1/user/sign-up",
method: "post",
data,
}).then((res) => {
console.log("createUser得 requestCallback", res);
requestCallback(res, cb);
});
}
export function uploadExcel(formData, cb) {
console.log(formData);
request({
url: "/api/v1/user/import",
method: "post",
data: formData,
}).then((res) => {
console.log("createUser得 requestCallback", res);
requestCallback(res, cb);
});
}
/**
* 部门列表-yjq
* @param cb
*/
export function listDepart(params) {
return request({
url: "/api/v1/depart/list",
method: "get",
params,
});
}
/**
* 删除部门-yjq
* @param cb
*/
export function delDepart(data = { depart_id: "" }, cb) {
request({
url: "/api/v1/depart/del",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 添加部门-yjq
* @param cb
*/
export function addDepart(data = { depart_name: "", p_id: "" }, cb) {
request({
url: "/api/v1/depart/add",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 修改部门-yjq
* @param cb
*/
export function editDepart(
data = { depart_id: "", p_id: "", depart_name: "" },
cb
) {
request({
url: "/api/v1/depart/edit",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 检查授权
* @param cb
*/
export function checkAuth(url = "", cb) {
console.log((url ? url : "") + "/yjearth4.0/api/v1/auth/check");
request({
url: (url ? url : "") + "/yjearth4.0/api/v1/auth/check",
method: "post",
}).then((res) => {
requestCallback(res, cb, false);
});
}
/**
* 导入POI
* @param cb
*/
export function importPOI(data = { path: "" }, cb) {
request({
url: "/api/v1/poi/import",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 查询POI
* @param cb
*/
export function queryPOI(
data = {
key: "",
page: 1,
page_size: 5,
},
cb
) {
request_get("/api/v1/poi/query", data).then((res) => {
requestCallback(res, cb, false);
});
}
/*查询省份*/
export function getProvince(cb) {
request_get("/api/v1/poi/getProvince", {}).then((res) => {
requestCallback(res, cb, false);
});
}
export function queryByArea(data = { area: [], province_id: "" }, cb) {
request({
url: "/api/v1/poi/queryByArea",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
// 同步资源
export function tongbus(cb) {
request({
url: "/api/v1/source/tongbu",
method: "post",
data: {},
}).then((res) => {
requestCallback(res, cb);
});
}
export function junbiaoList(data, cb) {
request({
url: "/api/v1/junbiao/list",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
export function updateLayerIndex(data, cb) {
request({
url: "/api/v1/source/update_layer_index",
method: "post",
data: { params: data },
}).then((res) => {
requestCallback(res, cb);
});
}
export function getTinymce() {}
export function uploadImg(data, cb) {}
/*
* 态势新增
* */
export function addSituation(data = { ts_name: "", Ts_data: "" }, cb) {
request({
url: "/api/v1/ts/add",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/*
* 态势列表
* */
export function listSituation(data = {}, cb) {
request_get("/api/v1/ts/list", {}).then((res) => {
requestCallback(res, cb, false);
});
}
/*
* 态势编辑
* */
export function editSituation(data = {}, cb) {
request({
url: "/api/v1/ts/edit",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
*
*/
export function getUrl(data = {}, cb) {
request({
url: "/data/service/load-compact-service",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 导入路网
*/
export function importLuWang(data = { path: "" }, cb) {
request({
url: "/api/v1/pathPlan/import",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/*
*查询路径
*/
export function queryRoute(data = {}, cb) {
request({
url: "/api/v1/pathPlan/query",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
/**
* 添加无人机航拍图片
*/
export function addPicture(data = {}, cb) {
request({
url: "/api/v1/picture/import",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
/**
* 添加全景图片
*/
export function addPanorama(data = {}, cb) {
request({
url: "/api/v1/vr/import",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
/**
* 获取北斗卫星的链接状态
*/
export function getStatus(cb) {
request({
url: "/api/v1/gps/current_state",
method: "get",
}).then((res) => {
requestCallback(res, cb, false);
});
}
// 根据VR图片查找其邻居并计算距离和方位角 http://127.0.0.1:8890/yjearth4.0/api/v1/vr/find_neighbor
export function find_neighbor(data, cb) {
request({
url: "/api/v1/vr/find_neighbor",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
// 获取自定义列表
export function zidinyi(data, cb) {
request({
url: "/api/v1/icon/list",
method: "get",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
// http://192.168.110.19:8891/yjearth4.0
export function add_default(data, cb) {
request({
url: "/api/v1/source/add_default",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
// 加载数据进度 http://192.168.110.43:8891/yjearth4.0/api/v1/service/progress
export function service_progress(data) {
return request({
url: "/api/v1/service/progress",
method: "get",
data,
});
}
// 获取gps串口列表
export function getGpsList(cb) {
request_get("/api/v1/gps/list", {}).then((res) => {
requestCallback(res, cb, false);
});
}
//更新gps的串口更新后需要重启http://127.0.0.1:8891/yjearth4.0/api/v1/gps/update
export function updateGps(data = { com: "" }, cb) {
request({
url: "/api/v1/gps/update",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb);
});
}
// 0827
// 获取isc平台信息
export function getIscInfo(cb) {
request_get("/api/v1/isc/info", {}).then((res) => {
requestCallback(res, cb, false);
});
}
// 设置isc平台信息
export function setIscInfo(data, cb) {
request({
url: "/api/v1/isc/info",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
//从isc平台同步监控点列表到数据库
export function tongbuIsc(data = {}, cb) {
request({
url: "/api/v1/isc/tongbu",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
// 监控点预览地址
export function getIscPreviewURL(data = { cameraIndexCode: "" }, cb) {
request_get("/api/v1/isc/previewURL", data).then((res) => {
requestCallback(res, cb, false);
});
}
export function getBatteryInfo(cb) {
request_get("/api/v1/battery/get", {}).then((res) => {
requestCallback(res, cb, false);
});
}
export function setBattery(data = {}, cb) {
request({
url: "/api/v1/battery/set",
method: "post",
data,
}).then((res) => {
requestCallback(res, cb, false);
});
}
// 上传链接link
export function linkFile(data = {}) {
return request({
url: "/api/v1/linkFile/import",
method: "post",
data,
});
}
// 删除自定义图标 /api/v1/icon/batch-delete
export function deleteIcon(data) {
return request({
url: "/api/v1/icon/batch-delete",
method: "delete",
data,
});
}
// 获取文件夹 /api/v1/customization/qinghai/haidong/dir/list
export function getFolder(data) {
return request({
url: "/api/v1/customization/qinghai/haidong/dir/list",
method: "get",
data,
});
}
// /api/v1/customization/qinghai/haidong/dir/add
// 添加文件夹
export function addFolder(data) {
return request({
url: "/api/v1/customization/qinghai/haidong/dir/add",
method: "post",
data,
});
}
// /api/v1/customization/qinghai/haidong/import
// 上传文件
export function addFile(data) {
return request({
url: "/api/v1/customization/qinghai/haidong/import",
method: "post",
data,
timeout: 1000000,
});
}
// 删除文件夹 /api/v1/customization/qinghai/haidong/dir/del
export function delFolder(data) {
return request({
url: "/api/v1/customization/qinghai/haidong/dir/del",
method: "post",
data,
});
}
// 获取文件列表 /api/v1/customization/qinghai/haidong/get_data_by_fileid
export function getFileList(data) {
return request({
url: "/api/v1/customization/qinghai/haidong/get_data_by_fileid",
method: "get",
params: data,
});
}
//更新label /api/v1/customization/qinghai/haidong/update/label
export function updateLabel(data) {
return request({
url: "/api/v1/customization/qinghai/haidong/update/label",
method: "post",
data,
});
}
// /api/v1/customization/qinghai/haidong/update/detail
// 更新详情
export function updateDetail(data) {
return request({
url: "/api/v1/customization/qinghai/haidong/update/detail",
method: "post",
data,
});
}
// /api/v1/customization/qinghai/haidong/update/show
export function updateShow(data) {
return request({
url: "/api/v1/customization/qinghai/haidong/update/show",
method: "post",
data,
});
}
// 工程导入
export function projectImport(data) {
return request({
url: "/api/v1/project/import",
method: "post",
data,
});
}
// 字段对应 /api/v1/source/import_tablehead
export function importTablehead(data) {
return request({
url: "/api/v1/source/import_tablehead",
method: "post",
data,
});
}
// 无人机配置添加
export function addUavConfig(data) {
return request({
url: "/api/v1/system/add_plane_service",
method: "post",
data,
});
}
// 删除无人机配置
export function delUavConfig(data) {
return request({
url: "/api/v1/system/del_plane_service",
method: "post",
data,
});
}
// 获取无人机配置列表
export function getUavConfig(data) {
return request({
url: "/api/v1/system/plane_service_list",
method: "get",
data,
});
}
// 更新无人机配置
export function updateUavConfig(data) {
return request({
url: "/api/v1/system/update_plane_service",
method: "post",
data,
});
}
// 选中无人机配置
export function selectUavConfig(data) {
return request({
url: "/api/v1/system/select_plane_service",
method: "post",
data,
});
}
/**
* 获取header列表
* @return {*}
*/
export function getHeaderList(data) {
return request_get("/api/v1/header/list",data);
}
/**
* 添加header图片
* @return {*}
*/
export function addHeader(data) {
return request({
url: "/api/v1/header/add",
method: "post",
data
});
}
/**
* 选择header图片
* @return {*}
*/
export function selectHeader(data) {
return request({
url: "/api/v1/header/select",
method: "post",
data
});
}
/**
* 删除header图片
* @return {*}
*/
export function deleteHeader(data) {
return request({
url: "/api/v1/header/del",
method: "post",
data
});
}
// 查询物资列表
export function getGoodsList(
data = {
page: 1,
page_size: 5,
}
) {
return request_get("/api/v1/goods/list", data);
}