299 lines
7.7 KiB
JavaScript
299 lines
7.7 KiB
JavaScript
/**
|
|
* 地块信息管理系统 API 接口
|
|
* Land Information System API
|
|
*/
|
|
|
|
/**
|
|
* 地块档案管理 API
|
|
*/
|
|
export const createFieldArchiveAPI = (api) => ({
|
|
// 获取地块列表
|
|
getFieldList: (params = {}) => {
|
|
return api.get('/land/field/archive/list', { params });
|
|
},
|
|
|
|
// 获取地块详情
|
|
getFieldDetail: (fieldId) => {
|
|
return api.get(`/land/field/archive/detail/${fieldId}`);
|
|
},
|
|
|
|
// 创建地块档案
|
|
createField: (fieldData) => {
|
|
return api.post('/land/field/archive/create', fieldData);
|
|
},
|
|
|
|
// 更新地块档案
|
|
updateField: (fieldId, fieldData) => {
|
|
return api.put(`/land/field/archive/update/${fieldId}`, fieldData);
|
|
},
|
|
|
|
// 删除地块档案
|
|
deleteField: (fieldId) => {
|
|
return api.delete(`/land/field/archive/delete/${fieldId}`);
|
|
},
|
|
|
|
// 地块分类标签
|
|
getFieldCategories: () => {
|
|
return api.get('/land/field/archive/categories');
|
|
},
|
|
|
|
getFieldTags: () => {
|
|
return api.get('/land/field/archive/tags');
|
|
},
|
|
|
|
// 批量操作
|
|
batchDeleteFields: (fieldIds) => {
|
|
return api.post('/land/field/archive/batch-delete', { fieldIds });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* 地块数字化地图管理 API
|
|
*/
|
|
export const createFieldMapAPI = (api) => ({
|
|
// GIS地图管理
|
|
getGISMapData: (params = {}) => {
|
|
return api.get('/land/field/map/gis', { params });
|
|
},
|
|
|
|
// 上传地块边界数据
|
|
uploadFieldBoundary: (fieldId, boundaryData) => {
|
|
return api.post(`/land/field/map/boundary/upload/${fieldId}`, boundaryData);
|
|
},
|
|
|
|
// 数字化绘制与编辑
|
|
saveFieldDrawing: (drawingData) => {
|
|
return api.post('/land/field/map/drawing/save', drawingData);
|
|
},
|
|
|
|
getFieldDrawing: (fieldId) => {
|
|
return api.get(`/land/field/map/drawing/${fieldId}`);
|
|
},
|
|
|
|
// 空间数据管理
|
|
getSpatialData: (params = {}) => {
|
|
return api.get('/land/field/map/spatial-data', { params });
|
|
},
|
|
|
|
// 空间查询
|
|
spatialQuery: (queryData) => {
|
|
return api.post('/land/field/map/spatial-query', queryData);
|
|
},
|
|
|
|
// 地块影像
|
|
getSatelliteImages: (fieldId, params = {}) => {
|
|
return api.get(`/land/field/map/satellite/${fieldId}`, { params });
|
|
},
|
|
|
|
// 地图瓦片
|
|
getMapTiles: (params = {}) => {
|
|
return api.get('/land/field/map/tiles', { params });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* 空间分析与决策支持 API
|
|
*/
|
|
export const createFieldAnalysisAPI = (api) => ({
|
|
// 土壤基础数据
|
|
getSoilData: (fieldId) => {
|
|
return api.get(`/land/field/analysis/soil-data/${fieldId}`);
|
|
},
|
|
|
|
updateSoilData: (fieldId, soilData) => {
|
|
return api.put(`/land/field/analysis/soil-data/${fieldId}`, soilData);
|
|
},
|
|
|
|
// 分层采样分析
|
|
getLayerSampling: (fieldId, params = {}) => {
|
|
return api.get(`/land/field/analysis/layer-sampling/${fieldId}`, { params });
|
|
},
|
|
|
|
createLayerSampling: (samplingData) => {
|
|
return api.post('/land/field/analysis/layer-sampling/create', samplingData);
|
|
},
|
|
|
|
// 土壤质量评价
|
|
getSoilQualityAssessment: (fieldId) => {
|
|
return api.get(`/land/field/analysis/soil-quality/${fieldId}`);
|
|
},
|
|
|
|
generateSoilQualityReport: (fieldId) => {
|
|
return api.post(`/land/field/analysis/soil-quality/report/${fieldId}`);
|
|
}
|
|
});
|
|
|
|
/**
|
|
* 地块环境监测 API
|
|
*/
|
|
export const createFieldMonitoringAPI = (api) => ({
|
|
// 气象监测
|
|
getWeatherData: (params = {}) => {
|
|
return api.get('/land/field/monitoring/weather', { params });
|
|
},
|
|
|
|
getWeatherForecast: (fieldId, days = 7) => {
|
|
return api.get(`/land/field/monitoring/forecast/${fieldId}`, { params: { days } });
|
|
},
|
|
|
|
// 环境监测
|
|
getEnvironmentalData: (fieldId, params = {}) => {
|
|
return api.get(`/land/field/monitoring/environment/${fieldId}`, { params });
|
|
},
|
|
|
|
// 传感器数据
|
|
getSensorData: (fieldId, sensorType) => {
|
|
return api.get(`/land/field/monitoring/sensors/${fieldId}`, { params: { type: sensorType } });
|
|
},
|
|
|
|
// 监测历史数据
|
|
getMonitoringHistory: (fieldId, params = {}) => {
|
|
return api.get(`/land/field/monitoring/history/${fieldId}`, { params });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* 地块适宜性评价 API
|
|
*/
|
|
export const createFieldSuitabilityAPI = (api) => ({
|
|
// 多因子综合评价
|
|
getComprehensiveEvaluation: (fieldId) => {
|
|
return api.get(`/land/field/suitability/comprehensive/${fieldId}`);
|
|
},
|
|
|
|
generateComprehensiveEvaluation: (fieldId, factors) => {
|
|
return api.post(`/land/field/suitability/comprehensive/generate/${fieldId}`, { factors });
|
|
},
|
|
|
|
// 自动化空间分析
|
|
getBatchAnalysis: (params = {}) => {
|
|
return api.get('/land/field/suitability/batch-analysis', { params });
|
|
},
|
|
|
|
startBatchAnalysis: (analysisConfig) => {
|
|
return api.post('/land/field/suitability/batch-analysis/start', analysisConfig);
|
|
},
|
|
|
|
// 作物适配推荐
|
|
getCropRecommendation: (fieldId) => {
|
|
return api.get(`/land/field/suitability/crop/${fieldId}`);
|
|
},
|
|
|
|
generateCropRecommendation: (fieldId, preferences) => {
|
|
return api.post(`/land/field/suitability/crop/generate/${fieldId}`, preferences);
|
|
},
|
|
|
|
// 权重配置
|
|
getWeightConfig: () => {
|
|
return api.get('/land/field/suitability/weight-config');
|
|
},
|
|
|
|
updateWeightConfig: (configData) => {
|
|
return api.put('/land/field/suitability/weight-config', configData);
|
|
}
|
|
});
|
|
|
|
/**
|
|
* 地块对比分析 API
|
|
*/
|
|
export const createFieldComparisonAPI = (api) => ({
|
|
// 多维度指标看板
|
|
getMultiIndicatorDashboard: (fieldIds, params = {}) => {
|
|
return api.post('/land/field/comparison/indicator', { fieldIds, ...params });
|
|
},
|
|
|
|
// 可视化图表分析
|
|
getChartAnalysis: (comparisonData) => {
|
|
return api.post('/land/field/comparison/chart', comparisonData);
|
|
},
|
|
|
|
// 对比报告生成
|
|
generateComparisonReport: (reportConfig) => {
|
|
return api.post('/land/field/comparison/report/generate', reportConfig);
|
|
},
|
|
|
|
getComparisonReport: (reportId) => {
|
|
return api.get(`/land/field/comparison/report/${reportId}`);
|
|
},
|
|
|
|
// 导出对比报告
|
|
exportComparisonReport: (reportId, format = 'pdf') => {
|
|
return api.get(`/land/field/comparison/report/export/${reportId}`, {
|
|
params: { format },
|
|
responseType: 'blob'
|
|
});
|
|
}
|
|
});
|
|
|
|
/**
|
|
* 地块风险预警 API
|
|
*/
|
|
export const createFieldRiskAPI = (api) => ({
|
|
// 实时风险监测
|
|
getRiskMonitoring: (fieldId) => {
|
|
return api.get(`/land/field/risk/monitoring/${fieldId}`);
|
|
},
|
|
|
|
// 获取风险等级
|
|
getRiskLevel: (fieldId, riskType) => {
|
|
return api.get(`/land/field/risk/level/${fieldId}`, { params: { type: riskType } });
|
|
},
|
|
|
|
// 预警推送管理
|
|
getWarningPushSettings: (fieldId) => {
|
|
return api.get(`/land/field/risk/push-settings/${fieldId}`);
|
|
},
|
|
|
|
updateWarningPushSettings: (fieldId, settings) => {
|
|
return api.put(`/land/field/risk/push-settings/${fieldId}`, settings);
|
|
},
|
|
|
|
// 预警记录
|
|
getWarningHistory: (params = {}) => {
|
|
return api.get('/land/field/risk/warning-history', { params });
|
|
},
|
|
|
|
// 预警处置跟踪
|
|
getDisposalTracking: (warningId) => {
|
|
return api.get(`/land/field/risk/disposal/${warningId}`);
|
|
},
|
|
|
|
updateDisposalStatus: (warningId, disposalData) => {
|
|
return api.put(`/land/field/risk/disposal/${warningId}`, disposalData);
|
|
},
|
|
|
|
// 创建预警规则
|
|
createWarningRule: (ruleData) => {
|
|
return api.post('/land/field/risk/warning-rules/create', ruleData);
|
|
},
|
|
|
|
getWarningRules: (params = {}) => {
|
|
return api.get('/land/field/risk/warning-rules', { params });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* 导出地块信息管理系统的所有API
|
|
*/
|
|
export const landInformationAPI = (api) => ({
|
|
// 地块档案
|
|
archive: createFieldArchiveAPI(api),
|
|
|
|
// 地图管理
|
|
map: createFieldMapAPI(api),
|
|
|
|
// 空间分析
|
|
analysis: createFieldAnalysisAPI(api),
|
|
|
|
// 环境监测
|
|
monitoring: createFieldMonitoringAPI(api),
|
|
|
|
// 适宜性评价
|
|
suitability: createFieldSuitabilityAPI(api),
|
|
|
|
// 对比分析
|
|
comparison: createFieldComparisonAPI(api),
|
|
|
|
// 风险预警
|
|
risk: createFieldRiskAPI(api)
|
|
}); |