4.6 KiB
4.6 KiB
自动刷新功能说明
功能概述
在缠论分析系统中新增了自动刷新功能,允许用户设置定时自动刷新数据,实时监控市场变化。
功能特性
1. 自动刷新控制
- 启用/禁用开关: 通过勾选框控制自动刷新的开启和关闭
- 智能状态管理: 启用时激活相关控件,禁用时自动禁用下拉菜单
2. 刷新间隔设置
支持以下刷新间隔选项:
- 5秒
- 10秒
- 15秒 (默认)
- 30秒
- 1分钟
- 5分钟
3. 实时状态显示
- 刷新状态: 显示当前自动刷新的启用状态和间隔设置
- 下次刷新时间: 显示预计下次刷新的时间
- 更新时间: 在统计信息中显示最后更新的时间
- 更新方式: 区分手动刷新和自动刷新
界面布局
新增的自动刷新控制面板位于原有控制面板下方,包含:
┌─ 自动刷新控制行 ─────────────────────────────────────┐
│ [自动刷新:] [刷新间隔:] [刷新状态:] [下次刷新:] │
│ ☐ 启用自动刷新 [15秒 ▼] 未启用 -- │
└──────────────────────────────────────────────────────┘
启用自动刷新后:
┌─ 自动刷新控制行 ─────────────────────────────────────┐
│ [自动刷新:] [刷新间隔:] [刷新状态:] [下次刷新:] │
│ ☑ 启用自动刷新 [15秒 ▼] 已启用-每15秒刷新 14:30:45 │
└──────────────────────────────────────────────────────┘
使用方法
1. 启用自动刷新
- 勾选"启用自动刷新"复选框
- 刷新状态会显示为"已启用 - 每X秒刷新"
- 刷新间隔下拉菜单变为可用状态
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-settingsStore中 - 定时器组件的enabled状态根据设置动态切换
- 刷新间隔实时更新定时器的interval属性
测试验证
手动测试步骤
- 访问 http://localhost:8051
- 查看自动刷新控制面板是否正常显示
- 测试启用/禁用自动刷新功能
- 测试不同刷新间隔的设置
- 验证自动刷新是否按设定间隔工作
- 检查状态显示是否准确更新
预期行为
- 初始状态:未启用,下拉菜单禁用
- 启用后:状态更新,下拉菜单可用
- 更改间隔:状态文字立即更新
- 自动刷新:数据按间隔自动更新
- 保持设置:其他参数在自动刷新时不变
注意事项
- 首次使用: 启用自动刷新后需要先手动获取一次数据
- 网络连接: 自动刷新依赖网络连接,连接异常时可能失败
- 性能影响: 短间隔刷新可能增加服务器负载
- 浏览器要求: 需要JavaScript支持,建议使用现代浏览器
- 数据一致性: 自动刷新会保持所有分析参数设置不变
故障排除
自动刷新不工作
- 检查是否已勾选"启用自动刷新"
- 确认已先进行过一次手动数据获取
- 查看浏览器控制台是否有错误信息
状态显示异常
- 刷新页面重新加载组件
- 检查网络连接是否正常
- 确认后端服务是否正常运行
刷新间隔不准确
- 网络延迟可能影响实际刷新间隔
- 数据处理时间会额外增加总耗时
- 建议设置不小于5秒的刷新间隔