问题
点击导航栏饼图图标,下拉面板里各图表一直 Loading...
原因
统计图表由 core.min.js 驱动,点击饼图后依次:加载 ECharts → 请求统计数据 → 渲染图表,任一步失败都不显示。
| 步骤 | 失败原因 |
|---|---|
| 加载 ECharts | ECHART_CDN 配错,路径拼成 .../echarts.min.js/echarts.min.js → 404 |
| 请求数据 | 接口 /?action=get_blog_statistic 被 CDN 缓存污染,返回首页 HTML 而非 JSON |
| 渲染图表 | 前两步成功才会执行 |
修复步骤
core.min.js 是混淆文件,而且以后还要升级,不宜直接改。ECharts 路径可通过配置修正;统计接口 URL 写死在 core 里,只能在 footer 拦截 $.getJSON 改写请求地址。
1. 修正 ECharts 路径
编辑 usr/themes/handsome/component/header.php,将 ECHART_CDN 改为本地静态目录:
ECHART_CDN: '<?php echo rtrim(STATIC_PATH, "/"); ?>/static/js',core 会拼上 /echarts.min.js,最终加载 {STATIC_PATH}static/js/echarts.min.js。使用自定义静态 CDN 时需同步该文件。
2. 拦截统计接口
编辑 usr/themes/handsome/component/footer.php,在 core.min.js 引用之后插入脚本。core 写死的 /?action=get_blog_statistic 在 CDN 下会拿到首页缓存,拦截后改走 /index.php?action=... 即可绕过。
代码:
此处内容需要评论回复后(审核通过)方可阅读。
验证
强刷页面,点击饼图图标,图表正常显示即可。




