From 3d487c8d6c5803ebe99009e2bc5560ead999769d Mon Sep 17 00:00:00 2001 From: d266377 Date: Fri, 30 Jan 2026 15:56:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=81=E5=8A=BF=E6=84=9F=E7=9F=A5=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0-=E6=AD=A6=E6=B1=89=E5=B8=82=E5=BC=80=E6=BA=90?= =?UTF-8?q?=E7=94=9F=E6=80=81=E5=BB=BA=E8=AE=BE-=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E8=80=85=E8=B4=A1=E7=8C=AE=E6=A6=9C=E6=8E=A5=E5=8F=A3=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Community/components/HarmonyEcoCharts.vue | 97 ++++++++++++++----- 1 file changed, 72 insertions(+), 25 deletions(-) diff --git a/src/views/Jyh/Community/components/HarmonyEcoCharts.vue b/src/views/Jyh/Community/components/HarmonyEcoCharts.vue index ca5a1b4..3cb2167 100644 --- a/src/views/Jyh/Community/components/HarmonyEcoCharts.vue +++ b/src/views/Jyh/Community/components/HarmonyEcoCharts.vue @@ -338,7 +338,7 @@ import { ref, onMounted, nextTick, onUnmounted } from 'vue'; import * as echarts from 'echarts'; import HMStatsBar from './HMStatsBar.vue'; -import { hmCityDataPage3, hmProjectsPage3, whProjectsPage3, hmDevCityDataPage3 } from '@/api/jyh/situation'; +import { hmCityDataPage3, hmProjectsPage3, whProjectsPage3, hmDevCityDataPage3, hmDevelopersPage3 } from '@/api/jyh/situation'; // ================= 数据定义 ================= const hmCityData = ref([ @@ -632,28 +632,7 @@ const fetchWhProjects = async() => { } }; -const hmDevelopers = [ - { name: 'ar*******o', employer: '华为', added: '1,348,180', deleted: '11,022', score: '1,359,202' }, - { name: 'gu****o', employer: '华为', added: '892,199', deleted: '466,304', score: '1,358,503' }, - { name: 'wa***i', employer: '深开鸿', added: '1,074,812', deleted: '216,511', score: '1,291,323' }, - { name: 'ze****1', employer: '华为', added: '718,467', deleted: '452,733', score: '1,171,200' }, - { name: 'wa*****2', employer: '华为', added: '831,282', deleted: '249,505', score: '1,080,787' }, - { name: 'wu****g', employer: '华为', added: '648,545', deleted: '336,836', score: '985,381' }, - { name: 'zh*****7', employer: '华为', added: '680,056', deleted: '151,257', score: '831,313' }, - { name: 'zh******5', employer: '开鸿智谷', added: '812,520', deleted: '9,929', score: '822,449' }, - { name: 'zh******7', employer: '华为', added: '492,068', deleted: '270,411', score: '762,479' }, - { name: 'ta*****n', employer: '润开鸿', added: '531,640', deleted: '136,900', score: '668,540' }, - { name: 'an*****i', employer: '华为', added: '429,272', deleted: '226,777', score: '656,049' }, - { name: 'do***i', employer: '深开鸿', added: '502,956', deleted: '139,366', score: '642,322' }, - { name: 'zh****7', employer: '华为', added: '479,092', deleted: '159,437', score: '638,529' }, - { name: 'ne****g', employer: '华为', added: '67,272', deleted: '569,087', score: '636,359' }, - { name: 'ta******1', employer: '华为', added: '630,294', deleted: '1,861', score: '632,155' }, - { name: 'wa*****1', employer: '华为', added: '620,905', deleted: '11,220', score: '632,125' }, - { name: 'xi****3', employer: '华为', added: '498,998', deleted: '119,428', score: '618,426' }, - { name: 'ba****g', employer: '深开鸿', added: '498,481', deleted: '46,544', score: '545,025' }, - { name: 'zh******1', employer: '华为', added: '378,416', deleted: '144,456', score: '522,872' }, - { name: 'ch****0', employer: '华为', added: '498,437', deleted: '17,953', score: '516,390' } -]; +const hmDevelopers = ref([]); // 武汉鸿蒙开发者贡献榜数据 const whHmDevelopers = [ @@ -1077,6 +1056,74 @@ const initHmEntCityChart = () => { }); }; +// 获取开发者贡献榜数据 +const fetchHmDevelopers = async () => { + try { + const response = await hmDevelopersPage3(); + const businessData = response.data; + if (businessData.code === 200 && businessData.data) { + // 格式化数据,将数值转换为带千位分隔符的字符串 + const formattedData = businessData.data.map(item => ({ + ...item, + added: item.added.toLocaleString(), + deleted: item.deleted.toLocaleString(), + score: item.score.toLocaleString() + })); + hmDevelopers.value = formattedData; + } else { + console.error('获取开发者贡献榜数据失败:', businessData.msg || '未知错误'); + // 使用默认数据 + hmDevelopers.value = [ + { name: 'ar*******o', employer: '华为', added: '1,348,180', deleted: '11,022', score: '1,359,202' }, + { name: 'gu****o', employer: '华为', added: '892,199', deleted: '466,304', score: '1,358,503' }, + { name: 'wa***i', employer: '深开鸿', added: '1,074,812', deleted: '216,511', score: '1,291,323' }, + { name: 'ze****1', employer: '华为', added: '718,467', deleted: '452,733', score: '1,171,200' }, + { name: 'wa*****2', employer: '华为', added: '831,282', deleted: '249,505', score: '1,080,787' }, + { name: 'wu****g', employer: '华为', added: '648,545', deleted: '336,836', score: '985,381' }, + { name: 'zh*****7', employer: '华为', added: '680,056', deleted: '151,257', score: '831,313' }, + { name: 'zh******5', employer: '开鸿智谷', added: '812,520', deleted: '9,929', score: '822,449' }, + { name: 'zh******7', employer: '华为', added: '492,068', deleted: '270,411', score: '762,479' }, + { name: 'ta*****n', employer: '润开鸿', added: '531,640', deleted: '136,900', score: '668,540' }, + { name: 'an*****i', employer: '华为', added: '429,272', deleted: '226,777', score: '656,049' }, + { name: 'do***i', employer: '深开鸿', added: '502,956', deleted: '139,366', score: '642,322' }, + { name: 'zh****7', employer: '华为', added: '479,092', deleted: '159,437', score: '638,529' }, + { name: 'ne****g', employer: '华为', added: '67,272', deleted: '569,087', score: '636,359' }, + { name: 'ta******1', employer: '华为', added: '630,294', deleted: '1,861', score: '632,155' }, + { name: 'wa*****1', employer: '华为', added: '620,905', deleted: '11,220', score: '632,125' }, + { name: 'xi****3', employer: '华为', added: '498,998', deleted: '119,428', score: '618,426' }, + { name: 'ba****g', employer: '深开鸿', added: '498,481', deleted: '46,544', score: '545,025' }, + { name: 'zh******1', employer: '华为', added: '378,416', deleted: '144,456', score: '522,872' }, + { name: 'ch****0', employer: '华为', added: '498,437', deleted: '17,953', score: '516,390' } + ]; + } + } catch (error) { + console.error('获取开发者贡献榜数据异常:', error); + // 使用默认数据 + hmDevelopers.value = [ + { name: 'ar*******o', employer: '华为', added: '1,348,180', deleted: '11,022', score: '1,359,202' }, + { name: 'gu****o', employer: '华为', added: '892,199', deleted: '466,304', score: '1,358,503' }, + { name: 'wa***i', employer: '深开鸿', added: '1,074,812', deleted: '216,511', score: '1,291,323' }, + { name: 'ze****1', employer: '华为', added: '718,467', deleted: '452,733', score: '1,171,200' }, + { name: 'wa*****2', employer: '华为', added: '831,282', deleted: '249,505', score: '1,080,787' }, + { name: 'wu****g', employer: '华为', added: '648,545', deleted: '336,836', score: '985,381' }, + { name: 'zh*****7', employer: '华为', added: '680,056', deleted: '151,257', score: '831,313' }, + { name: 'zh******5', employer: '开鸿智谷', added: '812,520', deleted: '9,929', score: '822,449' }, + { name: 'zh******7', employer: '华为', added: '492,068', deleted: '270,411', score: '762,479' }, + { name: 'ta*****n', employer: '润开鸿', added: '531,640', deleted: '136,900', score: '668,540' }, + { name: 'an*****i', employer: '华为', added: '429,272', deleted: '226,777', score: '656,049' }, + { name: 'do***i', employer: '深开鸿', added: '502,956', deleted: '139,366', score: '642,322' }, + { name: 'zh****7', employer: '华为', added: '479,092', deleted: '159,437', score: '638,529' }, + { name: 'ne****g', employer: '华为', added: '67,272', deleted: '569,087', score: '636,359' }, + { name: 'ta******1', employer: '华为', added: '630,294', deleted: '1,861', score: '632,155' }, + { name: 'wa*****1', employer: '华为', added: '620,905', deleted: '11,220', score: '632,125' }, + { name: 'xi****3', employer: '华为', added: '498,998', deleted: '119,428', score: '618,426' }, + { name: 'ba****g', employer: '深开鸿', added: '498,481', deleted: '46,544', score: '545,025' }, + { name: 'zh******1', employer: '华为', added: '378,416', deleted: '144,456', score: '522,872' }, + { name: 'ch****0', employer: '华为', added: '498,437', deleted: '17,953', score: '516,390' } + ]; + } +}; + const initHmDevCityChart = () => { const chartDom = document.getElementById('hmDevCityChart'); if (!chartDom) return; @@ -1269,8 +1316,8 @@ const handleResize = () => { onMounted(async () => { nextTick(async () => { - // 先获取鸿蒙项目城市分布数据、鸿蒙开源项目数据和开发者分布数据 - await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData()]); + // 先获取鸿蒙项目城市分布数据、鸿蒙开源项目数据、开发者分布数据和开发者贡献榜数据 + await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData(), fetchHmDevelopers()]); initHmCityChart(); initHmEnterpriseChart();