Files
smart-crop-ui/crop-x/apis/subModules/landInformation.js

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)
});