态势感知平台-武汉市开源生态建设-中国高校鸿蒙贡献分布接口对接

This commit is contained in:
d266377
2026-02-03 14:24:52 +08:00
parent 693fb32bb3
commit 40be92afc3

View File

@@ -337,7 +337,7 @@
import { ref, onMounted, nextTick, onUnmounted } from 'vue';
import * as echarts from 'echarts';
import HMStatsBar from './HMStatsBar.vue';
import { hmCityDataPage3, hmProjectsPage3, whProjectsPage3, hmDevCityDataPage3, hmDevelopersPage3, whHmDevelopersPage3, hmEnterpriseCityDataPage3, hmEnterprisesPage3, whEnterprisesPage3 } from '@/api/jyh/situation';
import { hmCityDataPage3, hmProjectsPage3, whProjectsPage3, hmDevCityDataPage3, hmDevelopersPage3, whHmDevelopersPage3, hmEnterpriseCityDataPage3, hmEnterprisesPage3, whEnterprisesPage3, uniCityDataPage3 } from '@/api/jyh/situation';
// ================= 数据定义 =================
const hmCityData = ref([
@@ -502,6 +502,7 @@ const fetchHmEnterprises = async() => {
}
};
// 获取武汉企业贡献榜数据
const fetchwhEnterprises = async() =>{
try {
const response = await whEnterprisesPage3();
@@ -542,6 +543,79 @@ const fetchwhEnterprises = async() =>{
}
}
// 获取中国高校鸿蒙贡献分布数据
const fetchuniCityData = async() => {
try {
const response = await uniCityDataPage3();
const businessData = response.data;
if (businessData.code === 200 && businessData.data) {
uniCityData.value = businessData.data;
} else {
console.error('获取中国高校鸿蒙贡献分布数据失败:', businessData.msg || '未知错误');
// 使用默认数据
uniCityData.value = [
{ name: '北邮', value: 52 },
{ name: '浙大', value: 16 },
{ name: '华科', value: 12 },
{ name: '北理工', value: 10 },
{ name: '中科大', value: 10 },
{ name: '上交大', value: 4 },
{ name: '北大', value: 3 },
{ name: '西安建大', value: 2 },
{ name: '南大', value: 2 },
{ name: '哈工大', value: 2 },
{ name: '东南大学', value: 2 },
{ name: '暨大', value: 1 },
{ name: '武理工', value: 1 },
{ name: '中山大学', value: 1 },
{ name: '北航', value: 1 },
{ name: '华南理工', value: 1 },
{ name: '人大', value: 1 },
{ name: '深大', value: 1 },
{ name: '西电', value: 1 },
{ name: '南理工', value: 1 },
{ name: '云大', value: 1 },
{ name: '广工', value: 1 },
{ name: '复旦', value: 1 },
{ name: '中南大学', value: 1 },
{ name: '清华', value: 1 },
{ name: '东北大学', value: 1 }
];
}
} catch (error) {
console.error('获取中国高校鸿蒙贡献分布数据失败:', error);
// 使用默认数据
uniCityData.value = [
{ name: '北邮', value: 52 },
{ name: '浙大', value: 16 },
{ name: '华科', value: 12 },
{ name: '北理工', value: 10 },
{ name: '中科大', value: 10 },
{ name: '上交大', value: 4 },
{ name: '北大', value: 3 },
{ name: '西安建大', value: 2 },
{ name: '南大', value: 2 },
{ name: '哈工大', value: 2 },
{ name: '东南大学', value: 2 },
{ name: '暨大', value: 1 },
{ name: '武理工', value: 1 },
{ name: '中山大学', value: 1 },
{ name: '北航', value: 1 },
{ name: '华南理工', value: 1 },
{ name: '人大', value: 1 },
{ name: '深大', value: 1 },
{ name: '西电', value: 1 },
{ name: '南理工', value: 1 },
{ name: '云大', value: 1 },
{ name: '广工', value: 1 },
{ name: '复旦', value: 1 },
{ name: '中南大学', value: 1 },
{ name: '清华', value: 1 },
{ name: '东北大学', value: 1 }
];
}
};
// 获取鸿蒙开源项目数据
const fetchHmProjects = async () => {
try {
@@ -748,34 +822,7 @@ const hmEnterprises = ref([]);
const whEnterprises = ref([]);
// 全国高校分布数据
const uniCityData = [
{ name: '北邮', value: 52 },
{ name: '浙大', value: 16 },
{ name: '华科', value: 12 },
{ name: '北理工', value: 10 },
{ name: '中科大', value: 10 },
{ name: '上交大', value: 4 },
{ name: '北大', value: 3 },
{ name: '西安建大', value: 2 },
{ name: '南大', value: 2 },
{ name: '哈工大', value: 2 },
{ name: '东南大学', value: 2 },
{ name: '暨大', value: 1 },
{ name: '武理工', value: 1 },
{ name: '中山大学', value: 1 },
{ name: '北航', value: 1 },
{ name: '华南理工', value: 1 },
{ name: '人大', value: 1 },
{ name: '深大', value: 1 },
{ name: '西电', value: 1 },
{ name: '南理工', value: 1 },
{ name: '云大', value: 1 },
{ name: '广工', value: 1 },
{ name: '复旦', value: 1 },
{ name: '中南大学', value: 1 },
{ name: '清华', value: 1 },
{ name: '东北大学', value: 1 }
];
const uniCityData = ref([]);
// 高校贡献者榜单
const uniContributors = [
@@ -1357,14 +1404,14 @@ const initUniCityChart = () => {
tooltip: { trigger: 'axis' },
grid: { left: '3%', right: '4%', bottom: '3%', top: '10%', containLabel: true },
xAxis: {
type: 'category', data: uniCityData.map(i => i.name), axisLabel: {
type: 'category', data: uniCityData.value.map(i => i.name), axisLabel: {
color: '#64748b',
interval: 0
}
},
yAxis: { type: 'value', name: '单位:所', axisLabel: { color: '#64748b' } },
series: [{
type: 'bar', barWidth: '40%', data: uniCityData.map(i => i.value),
type: 'bar', barWidth: '40%', data: uniCityData.value.map(i => i.value),
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: '#10b981' }, // 绿色系,区别于其他卡片
@@ -1438,7 +1485,7 @@ const handleResize = () => {
onMounted(async() => {
nextTick(async() => {
// 先获取鸿蒙项目城市分布数据、鸿蒙开源项目数据、开发者分布数据、开发者贡献榜数据和武汉开发者贡献榜数据
await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData(), fetchHmDevelopers(), fetchWhHmDevelopers(), fetchHmEnterpriseCityData(), fetchHmEnterprises(), fetchwhEnterprises()]);
await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData(), fetchHmDevelopers(), fetchWhHmDevelopers(), fetchHmEnterpriseCityData(), fetchHmEnterprises(), fetchwhEnterprises(), fetchuniCityData()]);
initHmCityChart();
initHmEnterpriseChart();