fix(types): 修复 ECharts 类型导出和组件类型冲突

- echarts.ts: 将 EChartsOption 改为 EChartsCoreOption 的类型别名
- FuiCorners: 移除 extends BoxProps,position 重命名为 corner
- KLineChartModal/TimelineChartModal/ConcentrationCard: 使用导入的 EChartsOption
- LoadingState: 新增骨架屏 variant 支持
- FinancialPanorama: 使用骨架屏加载状态
- useFinancialData/financialService: 优化数据获取逻辑
- Company/index: 简化组件结构

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-18 18:42:19 +08:00
parent 5331bc64b4
commit 2720946ccf
10 changed files with 213 additions and 104 deletions

View File

@@ -19,8 +19,8 @@ export interface FuiCornersProps {
offset?: number;
}
interface CornerBoxProps extends BoxProps {
position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
interface CornerBoxProps {
corner: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
size: number;
borderWidth: number;
borderColor: string;
@@ -29,14 +29,14 @@ interface CornerBoxProps extends BoxProps {
}
const CornerBox = memo<CornerBoxProps>(({
position,
corner,
size,
borderWidth,
borderColor,
opacity,
offset,
}) => {
const positionStyles: Record<string, BoxProps> = {
const cornerStyles: Record<string, BoxProps> = {
'top-left': {
top: `${offset}px`,
left: `${offset}px`,
@@ -71,7 +71,7 @@ const CornerBox = memo<CornerBoxProps>(({
borderColor={borderColor}
opacity={opacity}
pointerEvents="none"
{...positionStyles[position]}
{...cornerStyles[corner]}
/>
);
});
@@ -97,7 +97,7 @@ const FuiCorners = memo<FuiCornersProps>(({
opacity = 0.6,
offset = 12,
}) => {
const positions: CornerBoxProps['position'][] = [
const corners: CornerBoxProps['corner'][] = [
'top-left',
'top-right',
'bottom-left',
@@ -106,10 +106,10 @@ const FuiCorners = memo<FuiCornersProps>(({
return (
<>
{positions.map((position) => (
{corners.map((corner) => (
<CornerBox
key={position}
position={position}
key={corner}
corner={corner}
size={size}
borderWidth={borderWidth}
borderColor={borderColor}

View File

@@ -3,7 +3,7 @@ import React, { useEffect, useRef, useState, useCallback } from 'react';
import { createPortal } from 'react-dom';
import { useSelector } from 'react-redux';
import { echarts } from '@lib/echarts';
import type { ECharts } from '@lib/echarts';
import type { ECharts, EChartsOption } from '@lib/echarts';
import dayjs from 'dayjs';
import { stockService } from '@services/eventService';
import { selectIsMobile } from '@store/slices/deviceSlice';
@@ -296,7 +296,7 @@ const KLineChartModal: React.FC<KLineChartModalProps> = ({
}
// 图表配置H5 响应式)
const option: echarts.EChartsOption = {
const option: EChartsOption = {
backgroundColor: '#1a1a1a',
title: {
text: `${stock?.stock_name || stock?.stock_code} - 日K线`,

View File

@@ -186,7 +186,7 @@ const TimelineChartModal: React.FC<TimelineChartModalProps> = ({
}
// 图表配置H5 响应式)
const option: echarts.EChartsOption = {
const option: EChartsOption = {
backgroundColor: '#1a1a1a',
title: {
text: `${stock?.stock_name || stock?.stock_code} - 分时图`,