# 使用指南自动隐藏功能

## 📖 功能概述

为了提升用户体验和优化屏幕空间利用，我们实现了使用指南的智能自动隐藏功能。该功能会根据用户的操作状态自动调整使用指南的显示状态。

## ✨ 功能特性

### 🎯 智能显示逻辑

1. **初次访问**: 默认显示使用指南，帮助新用户了解操作流程
2. **开始分析**: 点击"开始分析"按钮后自动隐藏使用指南，节省屏幕空间
3. **分析完成**: 保持隐藏状态，让用户专注于分析结果
4. **用户控制**: 用户可以随时手动控制使用指南的显示/隐藏

### 🧠 智能记忆

- **偏好记忆**: 系统会记住用户的显示偏好设置
- **状态保持**: 在会话期间保持用户的选择
- **优先级**: 用户手动设置的优先级高于自动逻辑

## 🔧 实现原理

### 状态管理

```python
# 默认显示逻辑
default_show_guide = not (
    st.session_state.get('analysis_running', False) or 
    st.session_state.get('analysis_results') is not None
)

# 用户偏好管理
if 'user_set_guide_preference' not in st.session_state:
    st.session_state.user_set_guide_preference = False
    st.session_state.show_guide_preference = default_show_guide
```

### 自动隐藏触发

```python
# 开始分析时自动隐藏
if not st.session_state.get('user_set_guide_preference', False):
    st.session_state.show_guide_preference = False
    logger.info("📖 [界面] 开始分析，自动隐藏使用指南")
```

## 📋 使用场景

### 场景1: 新用户首次访问
- **状态**: 无分析记录
- **行为**: 显示使用指南
- **目的**: 帮助用户了解操作流程

### 场景2: 用户开始分析
- **状态**: 点击"开始分析"按钮
- **行为**: 自动隐藏使用指南
- **目的**: 节省屏幕空间，专注分析进度

### 场景3: 分析完成查看结果
- **状态**: 有分析结果
- **行为**: 保持隐藏状态
- **目的**: 让用户专注于分析报告

### 场景4: 用户手动控制
- **状态**: 用户点击"显示使用指南"复选框
- **行为**: 尊重用户选择，不再自动隐藏
- **目的**: 满足用户个性化需求

## 🎨 界面布局

### 显示使用指南时
```
┌─────────────────┬─────────────┐
│                 │             │
│   分析配置区    │  使用指南   │
│                 │             │
│   分析进度区    │  快速开始   │
│                 │             │
│   分析结果区    │  常见问题   │
│                 │             │
└─────────────────┴─────────────┘
     2/3 宽度        1/3 宽度
```

### 隐藏使用指南时
```
┌─────────────────────────────────┐
│                                 │
│         分析配置区              │
│                                 │
│         分析进度区              │
│                                 │
│         分析结果区              │
│                                 │
└─────────────────────────────────┘
           全宽度
```

## 🔍 技术细节

### Session State 变量

- `analysis_running`: 分析是否正在运行
- `analysis_results`: 分析结果数据
- `user_set_guide_preference`: 用户是否手动设置过偏好
- `show_guide_preference`: 用户的显示偏好

### 逻辑优先级

1. **用户手动设置** (最高优先级)
2. **分析状态自动逻辑** (中等优先级)
3. **默认显示逻辑** (最低优先级)

## 📊 用户体验优化

### 优化前
- 使用指南始终显示，占用屏幕空间
- 分析结果显示区域较小
- 用户需要手动隐藏指南

### 优化后
- 智能自动隐藏，节省屏幕空间
- 分析结果显示区域更大
- 保持用户控制权
- 新用户仍能看到指南

## 🧪 测试验证

功能已通过完整的测试验证：

1. ✅ 初始状态默认显示使用指南
2. ✅ 开始分析时自动隐藏使用指南
3. ✅ 有分析结果时保持隐藏状态
4. ✅ 用户手动设置后尊重用户选择

## 💡 使用建议

### 对于新用户
- 首次访问时仔细阅读使用指南
- 了解基本操作流程后开始分析
- 系统会自动优化界面布局

### 对于熟练用户
- 可以手动控制使用指南显示
- 享受更大的分析结果显示区域
- 需要时随时重新显示指南

### 对于开发者
- 功能完全向后兼容
- 不影响现有的界面逻辑
- 可以根据需要调整自动隐藏条件

## 🔮 未来扩展

1. **个性化设置**: 允许用户设置默认偏好
2. **响应式布局**: 根据屏幕尺寸自动调整
3. **快捷键支持**: 支持键盘快捷键切换
4. **使用统计**: 收集用户使用习惯数据

---

*该功能旨在提升用户体验，在保持功能完整性的同时优化界面布局。*