add more components
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
# 自动刷新功能说明
|
||||
|
||||
## 功能概述
|
||||
|
||||
在缠论分析系统中新增了自动刷新功能,允许用户设置定时自动刷新数据,实时监控市场变化。
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 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秒的刷新间隔
|
||||
Reference in New Issue
Block a user