Files
chanlun_1/auto_refresh_feature.md
2025-05-23 21:19:32 +08:00

4.6 KiB

自动刷新功能说明

功能概述

在缠论分析系统中新增了自动刷新功能,允许用户设置定时自动刷新数据,实时监控市场变化。

功能特性

1. 自动刷新控制

  • 启用/禁用开关: 通过勾选框控制自动刷新的开启和关闭
  • 智能状态管理: 启用时激活相关控件,禁用时自动禁用下拉菜单

2. 刷新间隔设置

支持以下刷新间隔选项:

  • 5秒
  • 10秒
  • 15秒 (默认)
  • 30秒
  • 1分钟
  • 5分钟

3. 实时状态显示

  • 刷新状态: 显示当前自动刷新的启用状态和间隔设置
  • 下次刷新时间: 显示预计下次刷新的时间
  • 更新时间: 在统计信息中显示最后更新的时间
  • 更新方式: 区分手动刷新和自动刷新

界面布局

新增的自动刷新控制面板位于原有控制面板下方,包含:

┌─ 自动刷新控制行 ─────────────────────────────────────┐
│ [自动刷新:]     [刷新间隔:]     [刷新状态:]   [下次刷新:] │
│ ☐ 启用自动刷新   [15秒 ▼]      未启用        --        │
└──────────────────────────────────────────────────────┘

启用自动刷新后:

┌─ 自动刷新控制行 ─────────────────────────────────────┐
│ [自动刷新:]     [刷新间隔:]          [刷新状态:]   [下次刷新:] │
│ ☑ 启用自动刷新   [15秒 ▼]      已启用-每15秒刷新  14:30:45   │
└──────────────────────────────────────────────────────┘

使用方法

1. 启用自动刷新

  1. 勾选"启用自动刷新"复选框
  2. 刷新状态会显示为"已启用 - 每X秒刷新"
  3. 刷新间隔下拉菜单变为可用状态

2. 设置刷新间隔

  1. 确保自动刷新已启用
  2. 在"刷新间隔"下拉菜单中选择所需的时间间隔
  3. 状态文字会立即更新显示新的间隔

3. 开始自动刷新

  1. 首次需要点击"获取数据并分析"按钮获取初始数据
  2. 之后系统会根据设定的间隔自动刷新数据
  3. 自动刷新时会保持所有其他设置参数不变

4. 监控刷新状态

  • 查看"下次刷新时间"了解预计刷新时间
  • 在统计信息中查看"最后更新"时间
  • "更新方式"会显示是"自动刷新"还是"手动刷新"

技术实现

1. 组件结构

  • dcc.Checklist: 自动刷新开关
  • dcc.Dropdown: 刷新间隔选择
  • dcc.Interval: 定时器组件
  • dcc.Store: 存储自动刷新设置
  • html.Div: 状态显示组件

2. 回调函数

  • control_auto_refresh: 控制自动刷新功能的启用/禁用
  • update_next_refresh_time: 更新下次刷新时间显示
  • analyze_data_with_auto_refresh: 处理自动刷新触发的数据分析

3. 状态管理

  • 自动刷新设置存储在 auto-refresh-settings Store中
  • 定时器组件的enabled状态根据设置动态切换
  • 刷新间隔实时更新定时器的interval属性

测试验证

手动测试步骤

  1. 访问 http://localhost:8051
  2. 查看自动刷新控制面板是否正常显示
  3. 测试启用/禁用自动刷新功能
  4. 测试不同刷新间隔的设置
  5. 验证自动刷新是否按设定间隔工作
  6. 检查状态显示是否准确更新

预期行为

  • 初始状态:未启用,下拉菜单禁用
  • 启用后:状态更新,下拉菜单可用
  • 更改间隔:状态文字立即更新
  • 自动刷新:数据按间隔自动更新
  • 保持设置:其他参数在自动刷新时不变

注意事项

  1. 首次使用: 启用自动刷新后需要先手动获取一次数据
  2. 网络连接: 自动刷新依赖网络连接,连接异常时可能失败
  3. 性能影响: 短间隔刷新可能增加服务器负载
  4. 浏览器要求: 需要JavaScript支持,建议使用现代浏览器
  5. 数据一致性: 自动刷新会保持所有分析参数设置不变

故障排除

自动刷新不工作

  • 检查是否已勾选"启用自动刷新"
  • 确认已先进行过一次手动数据获取
  • 查看浏览器控制台是否有错误信息

状态显示异常

  • 刷新页面重新加载组件
  • 检查网络连接是否正常
  • 确认后端服务是否正常运行

刷新间隔不准确

  • 网络延迟可能影响实际刷新间隔
  • 数据处理时间会额外增加总耗时
  • 建议设置不小于5秒的刷新间隔