feat: 全面代码更新 - ECharts 5.4.2 重构、新增量化分析模块、前端库升级

- 升级 ECharts 到 5.4.2,重构 lib/ 目录结构
- 新增 DataTables 2.x 和 FixedColumns 插件
- 新增 quant/ 宏观研究报告模块
- 重构图表页面:stock_trend、hkholdbycode 等采用 JS fetch API.doorcome.cn 模式
- 新增 CLAUDE.md 补充页面文档和新数据流说明
- 更新 inc/config.php TuShare API 配置
- 更新新闻联播分析模块 news/ 和相关研究报告 research/
- 新增 api_document/ 参考文档
- 清理 .gitignore,排除 uploads/xls/.mcp.json/ source maps 等非代码文件
- 所有 PHP 文件通过 php -l 语法检查

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-06 18:01:55 +08:00
co-authored by Claude Opus 4.7
parent f3f9d19da7
commit eedead0d41
228 changed files with 721924 additions and 15457 deletions
+46 -4
View File
@@ -16,7 +16,7 @@
## 无构建步骤
传统 PHP 应用,没有构建/检查/测试流水线。文件直接部署到 Web 服务器。运行于 `echart.doorcome.cn`。每个 `.php` 文件是独立的入口点,没有路由机制。
传统 PHP 应用,没有构建/检查/测试流水线。文件直接部署到 Web 服务器。运行于 `echart.doorcome.cn`。每个 `.php` 文件是独立的入口点,没有路由机制。Composer autoload 在部分文件中使用(引入 `vendor/autoload.php`)。
## 架构
@@ -33,17 +33,26 @@
- `excelOperate.inc.php` — 通过 PhpSpreadsheet 读取 Excel/CSV 文件。
- `postJson.inc.php` — 使用 cURL 发送 JSON HTTP POST 请求。
- `getEstate.inc.php` — 房地产相关数据查询(`estate_listing` 表)及二手房成交/挂牌数据函数。
- `upload.php` — 文件上传处理。
- `plansetup.php` — 用于 Composer autoload 的快捷入口(`__DIR__."/../vendor/autoload.php"`)。
### 页面结构
根目录及 `charts/` 下的每个 `.php` 文件渲染一个独立的数据视图,遵循统一模式:
根目录及 `charts/` 下的每个 `.php` 文件渲染一个独立的数据视图,存在两种数据获取模式:
**模式 A(传统——服务端注入):**
1. 引入所需的 `inc/*.php`
2. 通过 `$_REQUEST` 接收查询参数
3. 查询数据库,将结果通过 `json_encode()` 注入 `<script>` 标签
4. 加载对应的 `js/*.js`JS `echarts.init()` 渲染图表
3. PHP 查询数据库,将结果通过 `json_encode()` 注入 `<script>` 标签内的 `window.chartConfig`
4. 引入对应的 `js/*.js`JS 读取 `window.chartConfig``echarts.init()` 渲染
5. 引入 `html/head.php``html/footer.php` 组成页面布局
**模式 B(较新——JS fetch 调用外部 API):**
1. 页面直接加载 JS,不注入数据
2. JS 在 `$(document).ready` 中通过 `fetch()` 调用 `https://api.doorcome.cn/api/*` 获取数据
3. 渲染逻辑与模式 A 相同
4. 代表页面:`stock_trend.php``stockdiv.php``stockep.php``stockmargin.php``hkholdbycode.php`
### 页面目录
根目录保留入口文件(`index.php``index-2.php``phpinfo.php`),其余页面文件均位于 `charts/` 子目录。
@@ -70,6 +79,8 @@
| `charts/estateListDaily.php` | 二手房每日挂牌量(宁波) |
| `charts/stockTradeRecord.php` | 个人股票交易记录 |
| `charts/chartStDetail.php` | 个股详细图表 |
| `charts/chartSix.php` | 个股 VS 机构持仓(持股数/金额/比例) |
| `charts/chartThree.php` | 指数 VS 机构持仓(分类型:基金/QFII/社保等) |
### JavaScript 约定
@@ -79,6 +90,8 @@
- `news/` — 独立的新闻抓取/分析模块,面向 CCTV 新闻联播。包含自己的 PHP、JS 和设计文档。
- `research/` — 股票研究报告(HTML 和 PDF)、行业分析,含 AI 生成的研究内容。
- `quant/` — 宏观研究报告模块,基于 PHP + Tailwind CSS,数据存储在 `mac_report` 表中。
- `api_document/` — Hailo 平台 API 参考文档(TXT 格式,非本项目核心内容)。
- `deprecated/` — 已废弃的旧版页面和脚本,仅供参考。
### 前端库位置
@@ -88,6 +101,35 @@
- `js/` — 页面专属图表逻辑、Tailwind CSS 3.4.17、ECharts GL、ecStat
- `css/` — 自定义样式(`style.css``css2.css`)、Font Awesome
## 常用命令
```bash
# PHP 语法检查(修改文件后必做)
php -l inc/ajax.inc.php
php -l charts/stock_trend.php
# Composer 依赖管理
composer update # 更新依赖
composer dump-autoload # 更新 autoload
# 部署到远程服务器(~/.bashrc 中定义)
sync-echart -n # 预览(dry-run
sync-echart # 执行同步部署到 www.doorcome.cn
# 批量 PHP 语法检查(修改多个文件后)
for f in charts/*.php; do php -l "$f"; done
for f in inc/*.php; do php -l "$f"; done
```
## 代码风格约定(来自 AGENTS.md)
- 缩进使用 Tab
- SQL 查询使用 heredoc 语法
- PHP 标签使用 `<?=``<?php` 短标签
- 中文注释,简洁为主,解释业务逻辑而非代码本身
- 不加 docblock
- 避免使用 PHP 8.1+ 特有特性(enum、readonly 等),需兼容 PHP 7.x
## 服务器与部署
应用运行于 `echart.doorcome.cn`。所有用户输入通过 `$_REQUEST` 读取——GET 和 POST 统一处理。无认证或 CSRF 防护。数据库凭据在 `inc/config.php` 中。