diff --git a/src/views/Jyh/Community/index.vue b/src/views/Jyh/Community/index.vue index 54a6a39..531f3a3 100644 --- a/src/views/Jyh/Community/index.vue +++ b/src/views/Jyh/Community/index.vue @@ -311,7 +311,7 @@ import * as echarts from 'echarts'; import { usePageResize } from '@/utils/hooks/usePageResize'; import StatsBar from './components/StatsBar.vue'; import HarmonyEcoCharts from './components/HarmonyEcoCharts.vue'; -import { wuhanGithubProjectsPage3, cityProjectPage3, chinaExcellentProjectsPage3, excellentProjectsPage3 } from '@/api/jyh/situation'; +import { wuhanGithubProjectsPage3, cityProjectPage3, chinaExcellentProjectsPage3, excellentProjectsPage3, talentPage3 } from '@/api/jyh/situation'; const { widthType } = usePageResize(); @@ -423,6 +423,34 @@ const fetchCityProjectData = async() => { } }; +// 城市开源人才数量备用数据 +const setTalentDefaultData = () => { + chartData.value.talent.xAxis = ['北京', '上海', '广州', '深圳', '成都', '杭州', '武汉', '南京', '郑州', '长沙']; + chartData.value.talent.data = [2115924, 1591988, 1555240, 1163580, 894108, 830306, 791335, 733581, 553397, 487971]; + isEmpty.value.talent = false; +}; + +// 获取城市开源人才数量数据 +const fetchTalentData = async() => { + try { + const response = await talentPage3(); + const talentdata = response.data; + if (talentdata?.code === 200 && talentdata?.data) { + // 更新图表数据 - 后端返回字段为 name 和 number + chartData.value.talent.xAxis = talentdata.data.map(item => item.name); + chartData.value.talent.data = talentdata.data.map(item => item.number); + // 设置非空状态 + isEmpty.value.talent = false; + } else { + console.error('获取城市开源人才数量数据失败:', talentdata?.msg || '未知错误'); + setTalentDefaultData(); + } + } catch (error) { + console.error('请求城市开源人才数量数据时发生错误:', error); + setTalentDefaultData(); + } +}; + const activeTab = ref(0); const excellentProjects = ref([]); @@ -562,8 +590,8 @@ const chartData = ref({ data: [] }, talent: { - xAxis: ['北京', '上海', '广州', '深圳', '成都', '杭州', '武汉', '南京', '郑州', '长沙'], - data: [2115924, 1591988, 1555240, 1163580, 894108, 830306, 791335, 733581, 553397, 487971] + xAxis: [], + data: [] }, communityRank: { xAxis: ['Deepin', 'OpenHarmony', 'MindSpore', 'IoTDB', 'GoFrame'], @@ -871,6 +899,7 @@ watch(widthType, () => { onMounted(async() => { await fetchGithubProjects(); await fetchCityProjectData(); // 获取城市项目数据 + await fetchTalentData(); // 获取城市人才数据 await fetchchinaExcellentProjects(); // 获取2024中国优秀开源项目数据 await fetchexcellentProjects(); // 获取2025武汉优秀开源项目数据 init(); // 再初始化图表