|
|
@@ -53,8 +53,6 @@ export const BaseChart: React.FC<BaseChartProps> = (props) => {
|
|
|
onTouchEnd,
|
|
|
} = props;
|
|
|
|
|
|
- console.debug('[BaseChart] 接收到的props:', { canvasId, width, height, type, categories, series, config })
|
|
|
-
|
|
|
const chartRef = useRef<uCharts | null>(null);
|
|
|
|
|
|
/**
|
|
|
@@ -62,12 +60,10 @@ export const BaseChart: React.FC<BaseChartProps> = (props) => {
|
|
|
*/
|
|
|
const { cWidth, cHeight, actualPixelRatio } = useMemo(() => {
|
|
|
const sysInfo = Taro.getSystemInfoSync();
|
|
|
- console.debug('[BaseChart] 系统信息:', sysInfo)
|
|
|
// 支付宝小程序需要使用实际的 pixelRatio,其他平台使用 1
|
|
|
const pr = pixelRatio ?? (Taro.getEnv() === Taro.ENV_TYPE.ALIPAY ? sysInfo.pixelRatio : 1);
|
|
|
const cw = width ?? pr * sysInfo.windowWidth;
|
|
|
const ch = height ?? (500 / 750 * cw);
|
|
|
- console.debug('[BaseChart] 计算后的尺寸:', { cWidth: cw, cHeight: ch, actualPixelRatio: pr })
|
|
|
return { cWidth: cw, cHeight: ch, actualPixelRatio: pr };
|
|
|
}, [width, height, pixelRatio]);
|
|
|
|
|
|
@@ -91,13 +87,9 @@ export const BaseChart: React.FC<BaseChartProps> = (props) => {
|
|
|
* 初始化图表实例
|
|
|
*/
|
|
|
useEffect(() => {
|
|
|
- console.debug('[BaseChart] useEffect开始初始化图表')
|
|
|
-
|
|
|
// 使用 setTimeout 确保 Canvas DOM 元素已渲染完成
|
|
|
const timer = setTimeout(() => {
|
|
|
- console.debug('[BaseChart] setTimeout回调执行,准备创建CanvasContext')
|
|
|
const rawCtx = Taro.createCanvasContext(canvasId);
|
|
|
- console.debug('[BaseChart] 创建的CanvasContext:', rawCtx)
|
|
|
|
|
|
// 检查 canvas 上下文是否有效
|
|
|
if (!rawCtx) {
|
|
|
@@ -111,7 +103,6 @@ export const BaseChart: React.FC<BaseChartProps> = (props) => {
|
|
|
// 添加 uCharts 需要的 width 和 height 属性
|
|
|
ctx.width = cWidth;
|
|
|
ctx.height = cHeight;
|
|
|
- console.debug('[BaseChart] 转换后的CanvasContext:', ctx)
|
|
|
|
|
|
const chartConfig: ChartsConfig = {
|
|
|
type,
|
|
|
@@ -123,11 +114,8 @@ export const BaseChart: React.FC<BaseChartProps> = (props) => {
|
|
|
pixelRatio: actualPixelRatio,
|
|
|
...config,
|
|
|
};
|
|
|
- console.debug('[BaseChart] 传递给uCharts的chartConfig:', chartConfig)
|
|
|
|
|
|
- console.debug('[BaseChart] 开始创建uCharts实例')
|
|
|
chartRef.current = new uCharts(chartConfig);
|
|
|
- console.debug('[BaseChart] uCharts实例创建完成:', chartRef.current)
|
|
|
}, 0)
|
|
|
|
|
|
return () => {
|