diff --git a/src/views/Jyh/Community/index.vue b/src/views/Jyh/Community/index.vue index 6b4d84d..a8ca3c9 100644 --- a/src/views/Jyh/Community/index.vue +++ b/src/views/Jyh/Community/index.vue @@ -311,8 +311,8 @@ 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, - talentPage3, developerNamesPage3, communityRankChartPage3, wuhanCommunitiesPage3, ClubPage3 } from '@/api/jyh/situation'; +import { wuhanGithubProjectsPage3, cityProjectPage3, chinaExcellentProjectsPage3, excellentProjectsPage3, talentPage3, + developerNamesPage3, communityRankChartPage3, wuhanCommunitiesPage3, ClubPage3, policyPage3, campusPage3, mirrorsPage3 } from '@/api/jyh/situation'; const { widthType } = usePageResize(); @@ -657,6 +657,7 @@ const fetchwuhanCommunities = async() => { } }; +// 重点城市高校开源社团数量备用数据 const setClubdata = () => { chartData.value.club.xAxis = ['成都', '北京', '上海', '武汉', '重庆', '深圳', '苏州', '杭州', '合肥', '青岛']; chartData.value.club.data = [10, 7, 5, 4, 3, 2, 2, 2, 2, 2]; @@ -681,6 +682,54 @@ const fetchclubData = async() => { } }; +// 各省市开源相关政策发布数量备用数据 +const setPolicydata = () => { + chartData.value.policy.xAxis = ['江苏', '北京', '浙江', '广东', '上海', '湖北', '天津', '陕西', '河南', '云南']; + chartData.value.policy.data = [11, 7, 3, 3, 3, 2, 2, 2, 2, 2]; + isEmpty.value.policy = false; +}; + +const fetchpolicyData = async() => { + try { + const response = await policyPage3(); + const policydata = response.data; + if (policydata?.code === 200 && policydata?.data) { + chartData.value.policy.xAxis = policydata.data.map(item => item.name); + chartData.value.policy.data = policydata.data.map(item => item.number); + isEmpty.value.policy = false; + } else { + console.error('获取各省市开源相关政策发布数量数据失败:', policydata?.msg || '未知错误'); + setPolicydata(); + } + } catch (error) { + console.error('请求各省市开源相关政策发布数量数据时发生错误:', error); + setPolicydata(); + } +}; + +const setcampusdata = () => { + chartData.value.campus.xAxis = ['南京', '武汉', '北京', '长沙', '成都', '上海', '天津', '深圳', '济南', '广州']; + chartData.value.campus.data = [20, 16, 16, 16, 11, 10, 8, 8, 7, 6]; + isEmpty.value.campus = false; +}; +const fetchcampusData = async() => { + try { + const response = await campusPage3(); + const campusdata = response.data; + if (campusdata?.code === 200 && campusdata?.data) { + chartData.value.campus.xAxis = campusdata.data.map(item => item.name); + chartData.value.campus.data = campusdata.data.map(item => item.number); + isEmpty.value.campus = false; + } else { + console.error('获取开放原子校园行·城市活动场次数据失败:', campusdata?.msg || '未知错误'); + setcampusdata(); + } + } catch (error) { + console.error('请求开放原子校园行·城市活动场次数据时发生错误:', error); + setcampusdata(); + } +}; + // 图表数据 const chartData = ref({ cityProject: { @@ -696,16 +745,16 @@ const chartData = ref({ data: [95, 92, 88, 76, 72] }, club: { - xAxis: ['成都', '北京', '上海', '武汉', '重庆', '深圳', '苏州', '杭州', '合肥', '青岛'], - data: [10, 7, 5, 4, 3, 2, 2, 2, 2, 2] + xAxis: [], + data: [] }, policy: { - xAxis: ['江苏', '北京', '浙江', '广东', '上海', '湖北', '天津', '陕西', '河南', '云南'], - data: [11, 7, 3, 3, 3, 2, 2, 2, 2, 2] + xAxis: [], + data: [] }, campus: { - xAxis: ['南京', '武汉', '北京', '长沙', '成都', '上海', '天津', '深圳', '济南', '广州'], - data: [20, 16, 16, 16, 11, 10, 8, 8, 7, 6] + xAxis: [], + data: [] }, mirrors: { xAxis: ['上海', '北京', '西安', '重庆', '济南', '南京', '武汉', '合肥', '香港', '长春', '成都', '深圳', '兰州', '哈尔滨', '南阳', '杭州'], @@ -997,7 +1046,7 @@ watch(widthType, () => { }); onMounted(async() => { - await fetchGithubProjects(); + await fetchGithubProjects(); // 获取武汉优质开源项目榜数据 await fetchCityProjectData(); // 获取城市项目数据 await fetchTalentData(); // 获取城市人才数据 await fetchDeveloperNamesData(); // 获取武汉明星开发者贡献榜数据 @@ -1006,6 +1055,8 @@ onMounted(async() => { await fetchCommunityRankData(); // 获取城市社区数量排行数据 await fetchwuhanCommunities(); // 获取武汉知名开源社区数据 await fetchclubData(); // 获取重点城市高校开源社团数量数据 + await fetchpolicyData(); // 获取各省市开源相关政策发布数量数据 + await fetchcampusData(); // 获取开放原子校园行·城市活动场次数据 init(); // 再初始化图表 });