const getApiHost = () => { if (typeof window !== 'undefined' && window.process?.env?.app?.API_HOST) { return window.process.env.app.API_HOST; } return ''; }; async function request(path, params = {}) { const apiHost = getApiHost(); const url = new URL(path, apiHost); Object.entries(params).forEach(([k, v]) => { if (v !== undefined && v !== null && v !== '') { url.searchParams.append(k, v); } }); const response = await fetch(url.toString()); if (!response.ok) { throw new Error(`HTTP ${response.status}`); } const json = await response.json(); if (json.code !== '0') { throw new Error(json.errMessage || json.message || 'API error'); } return json.data; } // 资质全生命周期管理 export function fetchQualificationOverview(year) { return request('/safetyEval/regulator/cockpit/qualification-overview', { year }); } // 核心KPI指标 export function fetchKpi(cycle, year) { return request('/safetyEval/regulator/cockpit/kpi', { cycle, year }); } // 区域地图分布 export function fetchRegionDistribution() { return request('/safetyEval/regulator/cockpit/region-distribution'); } // 执业全过程管控 + 项目流程 export function fetchProcessOverview() { return request('/safetyEval/regulator/cockpit/process-overview'); } // 评价类型趋势 export function fetchEvalTypeTrend(period, year) { return request('/safetyEval/regulator/cockpit/eval-type-trend', { period, year }); } // 复盘评估改进提效 export function fetchReviewSummary(year) { return request('/safetyEval/regulator/cockpit/review-summary', { year }); } // 项目实时监控 export function fetchProjectMonitor(month) { return request('/safetyEval/regulator/cockpit/project-monitor', { month }); }