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:
@@ -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` 中。
|
||||
|
||||
Reference in New Issue
Block a user