态势感知平台-武汉市开源生态建设-开源企业分布接口对接

This commit is contained in:
d266377
2026-02-02 15:45:10 +08:00
parent d280d32326
commit bbad6ce7e2

View File

@@ -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, hmDevelopersPage3, whHmDevelopersPage3 } from '@/api/jyh/situation';
import { hmCityDataPage3, hmProjectsPage3, whProjectsPage3, hmDevCityDataPage3, hmDevelopersPage3, whHmDevelopersPage3, hmEnterpriseCityDataPage3 } from '@/api/jyh/situation';
// ================= 数据定义 =================
const hmCityData = ref([
@@ -356,24 +356,7 @@ const hmCityData = ref([
const hmDevCityData = ref([]);
const hmEnterpriseCityData = [
{ name: '广东', value: 133 },
{ name: '北京', value: 72 },
{ name: '上海', value: 65 },
{ name: '江苏', value: 55 },
{ name: '浙江', value: 42 },
{ name: '湖北', value: 30 },
{ name: '四川', value: 28 },
{ name: '福建', value: 25 },
{ name: '陕西', value: 22 },
{ name: '山东', value: 20 }
// { name: '湖南', value: 18 },
// { name: '重庆', value: 16 },
// { name: '天津', value: 14 },
// { name: '河南', value: 13 },
// { name: '安徽', value: 12 },
// { name: '辽宁', value: 8 }
];
const hmEnterpriseCityData = ref([]);
const hmProjects = ref([
{
@@ -438,6 +421,47 @@ const hmProjects = ref([
}
]);
// 获取鸿蒙企业城市分布数据
const fetchHmEnterpriseCityData = async () => {
try {
const response = await hmEnterpriseCityDataPage3();
const businessData = response.data;
if (businessData.code === 200 && businessData.data) {
hmEnterpriseCityData.value = businessData.data;
} else {
console.error('获取鸿蒙企业城市分布数据失败:', businessData.msg || '未知错误');
// 使用默认数据
hmEnterpriseCityData.value = [
{ name: '广东', value: 133 },
{ name: '北京', value: 72 },
{ name: '上海', value: 65 },
{ name: '江苏', value: 55 },
{ name: '浙江', value: 42 },
{ name: '湖北', value: 30 },
{ name: '四川', value: 28 },
{ name: '福建', value: 25 },
{ name: '陕西', value: 22 },
{ name: '山东', value: 20 }
];
}
} catch (error) {
console.error('获取鸿蒙企业城市分布数据异常:', error);
// 使用默认数据
hmEnterpriseCityData.value = [
{ name: '广东', value: 133 },
{ name: '北京', value: 72 },
{ name: '上海', value: 65 },
{ name: '江苏', value: 55 },
{ name: '浙江', value: 42 },
{ name: '湖北', value: 30 },
{ name: '四川', value: 28 },
{ name: '福建', value: 25 },
{ name: '陕西', value: 22 },
{ name: '山东', value: 20 }
];
}
};
// 获取鸿蒙开源项目数据
const fetchHmProjects = async () => {
try {
@@ -1029,10 +1053,10 @@ const initHmEntCityChart = () => {
entCityChart.setOption({
tooltip: { trigger: 'axis' },
grid: { left: '3%', right: '4%', bottom: '3%', top: '10%', containLabel: true },
xAxis: { type: 'category', data: hmEnterpriseCityData.map(i => i.name), axisLabel: { color: '#64748b' } },
xAxis: { type: 'category', data: hmEnterpriseCityData.value.map(i => i.name), axisLabel: { color: '#64748b' } },
yAxis: { type: 'value', name: '单位:个', axisLabel: { color: '#64748b' } },
series: [{
type: 'bar', barWidth: '40%', data: hmEnterpriseCityData.map(i => i.value),
type: 'bar', barWidth: '40%', data: hmEnterpriseCityData.value.map(i => i.value),
itemStyle: {
// 使用橙色/黄色渐变,区别于项目的蓝色
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -1352,10 +1376,10 @@ const handleResize = () => {
entCityChart?.resize();
};
onMounted(async () => {
nextTick(async () => {
onMounted(async() => {
nextTick(async() => {
// 先获取鸿蒙项目城市分布数据、鸿蒙开源项目数据、开发者分布数据、开发者贡献榜数据和武汉开发者贡献榜数据
await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData(), fetchHmDevelopers(), fetchWhHmDevelopers()]);
await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData(), fetchHmDevelopers(), fetchWhHmDevelopers(), fetchHmEnterpriseCityData()]);
initHmCityChart();
initHmEnterpriseChart();