# 如何查看调试日志 ## 问题:生成日报后没有下载按钮 ### 步骤1:重启服务 停止当前服务(Ctrl+C),然后重新启动: ```bash python app.py ``` ### 步骤2:生成日报 1. 访问 http://localhost:5000 2. 切换到"日报生成"标签 3. 选择配置和时间范围 4. 点击"生成日报" ### 步骤3:查看服务器控制台日志 在运行 `python app.py` 的窗口中,应该看到类似以下的日志: ``` [日报生成] 开始生成日报 配置ID: 1234567890 配置名称: 测试配置 拆分方式: company_id = 123 时间范围: 2025-01-07 08:00:00 至 2025-01-08 08:00:00 选择字段: 5 个 [日报生成] 查询到 10 条订单 [日报生成] Excel文件已生成: /reports/daily_report_xxx.xlsx [日报生成] 准备保存历史记录,file_path=/reports/daily_report_xxx.xlsx [保存历史] 准备保存历史记录 ID: 1234567890123 file_path: '/reports/daily_report_xxx.xlsx' status: 1 [保存历史] 执行SQL插入... [保存历史] 插入完成,返回ID: 1234567890123 [日报生成] 历史记录已保存,ID=1234567890123 [日报生成] ✓ 生成成功 订单数量: 10 总金额: 100.00 文件路径: /reports/daily_report_xxx.xlsx 历史记录ID: 1234567890123 ``` ### 步骤4:查看历史记录API日志 切换到"历史记录"标签,在服务器控制台应该看到: ``` [历史记录] ID: 1234567890123, status: 1, file_path: '/reports/daily_report_xxx.xlsx' ``` ### 步骤5:查看浏览器控制台 1. 按 F12 打开开发者工具 2. 切换到 "Console" 标签 3. 刷新历史记录页面 4. 应该看到调试信息: ``` 历史记录项: {id: 1234567890123, status: 1, file_path: '/reports/xxx.xlsx', ...} status: 1 类型: number file_path: /reports/xxx.xlsx 类型: string 是否有文件: true ``` ## 根据日志判断问题 ### 情况1:file_path 为空 如果日志显示: ``` file_path: '' ``` **原因**:Excel文件生成失败或路径没有正确返回 **解决**:检查 `public/reports/` 目录是否存在,是否有写入权限 ### 情况2:file_path 有值,但前端显示"-" 如果服务器日志显示 file_path 有值,但浏览器控制台显示: ``` 是否有文件: false ``` **原因**:前端JavaScript判断逻辑有问题 **解决**:查看浏览器控制台的详细输出,检查 status 和 file_path 的类型 ### 情况3:数据库中没有保存记录 如果服务器日志没有显示 "[保存历史]" 相关信息 **原因**:保存历史记录的代码没有被执行 **解决**:检查 generate_daily_report 函数的流程 ## 快速测试API 使用curl直接测试API: ```bash # 查看历史记录 curl http://localhost:5000/api/report/history # 应该返回类似: # { # "success": true, # "data": { # "list": [ # { # "id": 1234567890123, # "status": 1, # "file_path": "/reports/xxx.xlsx", # ... # } # ], # ... # } # } ``` 如果 file_path 为空,说明是后端问题 如果 file_path 有值,说明是前端显示问题 ## 检查文件是否存在 ```bash # Windows dir public\reports\*.xlsx # Linux/Mac ls -la public/reports/*.xlsx ``` 确认文件是否真的生成了。 ## 联系支持 如果以上步骤都无法解决问题,请提供: 1. 服务器控制台的完整日志(从生成到查看历史) 2. 浏览器控制台的完整输出 3. curl测试API的返回结果 4. public/reports/ 目录的文件列表 --- **最后更新**: 2025-01-08