191 lines
4.0 KiB
Markdown
191 lines
4.0 KiB
Markdown
|
|
# 最终诊断指南
|
|||
|
|
|
|||
|
|
## 问题:日报生成成功但没有下载按钮
|
|||
|
|
|
|||
|
|
## 请按以下步骤操作
|
|||
|
|
|
|||
|
|
### 步骤1:运行简单测试脚本
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python test_simple.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
这个脚本会:
|
|||
|
|
1. 自动获取配置列表
|
|||
|
|
2. 使用第一个配置生成日报
|
|||
|
|
3. 查看历史记录
|
|||
|
|
4. 测试下载功能
|
|||
|
|
|
|||
|
|
**请把完整的输出结果告诉我**,包括:
|
|||
|
|
- 每个测试的状态码
|
|||
|
|
- 响应数据
|
|||
|
|
- file_path 的值
|
|||
|
|
|
|||
|
|
### 步骤2:检查服务器日志
|
|||
|
|
|
|||
|
|
在运行 `python app.py` 的窗口中,查看生成日报时的日志。
|
|||
|
|
|
|||
|
|
**请复制完整的日志输出**,应该包含:
|
|||
|
|
```
|
|||
|
|
[日报生成] 开始生成日报
|
|||
|
|
配置ID: xxx
|
|||
|
|
配置名称: xxx
|
|||
|
|
...
|
|||
|
|
[日报生成] Excel文件已生成: /reports/xxx.xlsx
|
|||
|
|
[日报生成] 准备保存历史记录,file_path=/reports/xxx.xlsx
|
|||
|
|
[保存历史] 准备保存历史记录
|
|||
|
|
ID: xxx
|
|||
|
|
file_path: '/reports/xxx.xlsx'
|
|||
|
|
status: 1
|
|||
|
|
...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤3:检查浏览器控制台
|
|||
|
|
|
|||
|
|
1. 打开 http://localhost:5000
|
|||
|
|
2. 按 **F12** 打开开发者工具
|
|||
|
|
3. 切换到 **Console** 标签
|
|||
|
|
4. 切换到"历史记录"标签
|
|||
|
|
5. **复制控制台中的所有输出**
|
|||
|
|
|
|||
|
|
应该看到类似:
|
|||
|
|
```
|
|||
|
|
历史记录项: {id: xxx, status: 1, file_path: '/reports/xxx.xlsx', ...}
|
|||
|
|
status: 1 类型: number
|
|||
|
|
file_path: /reports/xxx.xlsx 类型: string
|
|||
|
|
是否有文件: true
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤4:直接测试API
|
|||
|
|
|
|||
|
|
打开命令提示符,运行:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl http://localhost:5000/api/report/history
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
或者在浏览器中访问:
|
|||
|
|
```
|
|||
|
|
http://localhost:5000/api/report/history
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**请把返回的JSON数据复制给我**,特别关注 `file_path` 字段。
|
|||
|
|
|
|||
|
|
### 步骤5:检查文件是否存在
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Windows
|
|||
|
|
dir public\reports\*.xlsx
|
|||
|
|
|
|||
|
|
# 或者在文件资源管理器中打开
|
|||
|
|
# 项目目录\public\reports\
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**请告诉我**:
|
|||
|
|
- 是否有 .xlsx 文件?
|
|||
|
|
- 文件名是什么?
|
|||
|
|
- 文件大小是多少?
|
|||
|
|
|
|||
|
|
## 常见问题快速诊断
|
|||
|
|
|
|||
|
|
### 问题1:file_path 为空
|
|||
|
|
|
|||
|
|
如果测试脚本或API返回的 `file_path` 为空字符串或null:
|
|||
|
|
|
|||
|
|
**原因**:Excel文件没有正确生成或路径没有返回
|
|||
|
|
|
|||
|
|
**解决**:
|
|||
|
|
1. 查看服务器日志,看是否有错误
|
|||
|
|
2. 检查 `public/reports/` 目录是否存在
|
|||
|
|
3. 检查是否有写入权限
|
|||
|
|
|
|||
|
|
### 问题2:file_path 有值,但下载按钮不显示
|
|||
|
|
|
|||
|
|
如果API返回的 `file_path` 有值,但前端没有显示下载按钮:
|
|||
|
|
|
|||
|
|
**原因**:前端JavaScript判断逻辑有问题
|
|||
|
|
|
|||
|
|
**解决**:
|
|||
|
|
1. 查看浏览器控制台的调试信息
|
|||
|
|
2. 检查 `file_path` 的类型和值
|
|||
|
|
3. 清除浏览器缓存(Ctrl+F5)
|
|||
|
|
|
|||
|
|
### 问题3:下载按钮显示但下载失败
|
|||
|
|
|
|||
|
|
如果能点击按钮但下载失败:
|
|||
|
|
|
|||
|
|
**原因**:文件不存在或路径错误
|
|||
|
|
|
|||
|
|
**解决**:
|
|||
|
|
1. 检查 `public/reports/` 目录中是否有文件
|
|||
|
|
2. 检查文件路径是否正确
|
|||
|
|
3. 查看服务器日志
|
|||
|
|
|
|||
|
|
## 请提供以下信息
|
|||
|
|
|
|||
|
|
为了准确定位问题,请提供:
|
|||
|
|
|
|||
|
|
1. **test_simple.py 的完整输出**
|
|||
|
|
2. **服务器控制台的日志**(从生成到查看历史)
|
|||
|
|
3. **浏览器控制台的输出**(F12 → Console)
|
|||
|
|
4. **API返回的JSON数据**(curl 或浏览器访问)
|
|||
|
|
5. **public/reports/ 目录的文件列表**
|
|||
|
|
6. **截图**:历史记录页面的截图
|
|||
|
|
|
|||
|
|
## 快速修复方案
|
|||
|
|
|
|||
|
|
如果以上步骤都无法解决,尝试:
|
|||
|
|
|
|||
|
|
### 方案1:完全重置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 停止服务
|
|||
|
|
# Ctrl+C
|
|||
|
|
|
|||
|
|
# 2. 删除所有数据(谨慎!)
|
|||
|
|
python fixDatabase.py
|
|||
|
|
# 输入 y 确认
|
|||
|
|
|
|||
|
|
# 3. 重启服务
|
|||
|
|
python app.py
|
|||
|
|
|
|||
|
|
# 4. 重新创建配置
|
|||
|
|
# 访问 http://localhost:5000
|
|||
|
|
|
|||
|
|
# 5. 生成日报
|
|||
|
|
|
|||
|
|
# 6. 查看历史记录
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 方案2:检查代码版本
|
|||
|
|
|
|||
|
|
确保你的代码是最新的,特别是:
|
|||
|
|
- `lib/report_generator.py`
|
|||
|
|
- `app.py`
|
|||
|
|
- `templates/index.html`
|
|||
|
|
|
|||
|
|
### 方案3:手动检查数据库
|
|||
|
|
|
|||
|
|
如果有MySQL客户端:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
mysql -h haoslm2.xicp.net -P 10216 -u root -p
|
|||
|
|
# 密码:DsideaL147258369
|
|||
|
|
|
|||
|
|
# 查看表结构
|
|||
|
|
DESCRIBE t_daily_report_history;
|
|||
|
|
|
|||
|
|
# 查看数据
|
|||
|
|
SELECT id, status, file_path, report_date, split_name
|
|||
|
|
FROM t_daily_report_history
|
|||
|
|
ORDER BY create_time DESC
|
|||
|
|
LIMIT 10;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 联系支持
|
|||
|
|
|
|||
|
|
如果所有方案都失败,请提供上述所有信息,我会帮你进一步诊断。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**最后更新**: 2025-01-08
|