Skip to content

[Bug] 子页面残留「报告尚未生成」提示 #3

Description

@vbqx

测试场景

  • 测试日期: 2026-06-14
  • 环境: Windows · Streamlit http://localhost:8501 · AGENT_MODE=hybrid
  • 步骤:
    1. 首次访问「机构报告」页,等待流水线完成(约 2–3 分钟)
    2. 确认报告已正常显示(现价、图表、LLM 结论均可见)
    3. 切换到「短线策略」或「LLM决策链」页
    4. 观察页面顶部/侧边栏是否仍显示加载提示

发现的问题

报告已在 Session 中缓存且内容完整渲染,但子页面仍残留蓝色 info 条:

报告尚未生成,正在跑流水线…请稍候(约 2–3 分钟)。

  • 复现页面:pages/2_短线策略.pypages/3_LLM决策链.py
  • 根因:ensure_report(show_generation_ui=False) 在缓存未就绪时调用 st.info(...),rerun 后该 info 未被清除
  • 相关代码:src/viz/streamlit_common.py 第 142–143 行
  • 优先级: P1 — 用户误以为仍在加载,影响体验

建议修复方案

  1. 方案 A(推荐): 仅在报告确实未就绪时显示 loading,缓存命中后不再调用 st.info

    • ensure_report 中,若 REPORT_SESSION_KEY 已有数据则跳过 info/spinner
    • 或将 loading 状态放入 st.empty() 容器,完成后 .empty() 清除
  2. 方案 B: 子页面首次访问若主页面尚未生成,redirect 或共用主页面 loading UI(show_generation_ui=True

  3. 验收标准:

    • 报告生成完毕后,切换至「短线策略」「LLM决策链」不再出现「报告尚未生成」提示
    • 首次冷启动(无缓存)时 loading 提示仍正常显示

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority: highHigh prioritytestingTesting related

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions