feat(watchlist): 分组卡片/统计条完善 + 分组排序 + 监控自选导入 + 前端插槽

分组卡片视图 (WatchlistGroupCards):
- 新增整页卡片总览: 组内按涨跌幅降序, 默认前 N 条可展开
- 头部重排: 名称+指标数值居左, 总数+N涨/N跌居右 (红涨绿跌着色)
- 成员行: 创/科/北板块标识移至名称后; 序号列可开关
- 卡片设置 (GroupStatsSettings): 指标/排序/前N条/头部颜色/序号, 与统计条共享持久化

分组统计条 (WatchlistGroupStatsBar):
- 中轴分叉条形图概览, 指标与排序可配置
- 行尾 N涨/N跌 红绿着色

分组管理:
- 后端分组重排端点 + service + 测试 (9 passed)
- 管理弹窗上移/下移 + 拖拽排序, 顺序贯通标签栏/统计条/卡片/侧栏

自选交互:
- 修复 WatchlistAddMenu 内部滚动误关闭 (capture 目标包含判断)
- 监控规则编辑器: 指定标的支持从自选/自选分组批量导入 (去重合并)

前端扩展插槽:
- 新增 stock-preview.footer / watchlist.toolbar 插槽及 context 契约, 更新二开文档
This commit is contained in:
shy3130
2026-08-19 22:14:10 +08:00
parent 610d52931b
commit a8a573a834
22 changed files with 1259 additions and 31 deletions
+10 -2
View File
@@ -20,7 +20,7 @@
- 扩展数据与声明式分析页面:适合不需要自定义 React 交互的页面。
- 前端源码扩展注册:`frontend/src/custom/<namespace>/extension.tsx`,支持静态页面、导航和已开放插槽。
- 后端源码扩展注册:`backend/app/custom/<module>.py`,支持 FastAPI 路由、启动钩子和通知格式化器。
- 当前前端插槽:`layout.navigation.extra`
- 当前前端插槽:`layout.navigation.extra``stock-preview.footer``watchlist.toolbar`
- 当前后端继承点:`NotificationFormatter`
尚未实现、只能在真实需求出现后增加的能力:
@@ -111,12 +111,20 @@ export default extension
- 注册顺序确定,使用 `order` 后再按 `id` 排序,避免加载顺序导致界面漂移。
- 插槽内容必须遵守项目现有设计系统、响应式和可访问性要求。
当前开放:
当前开放:
```text
layout.navigation.extra
stock-preview.footer
watchlist.toolbar
```
各插槽 context 契约(均要求 `apiVersion: 1`,定义见 `frontend/src/extensions/types.ts``FrontendSlotContextMap`):
- `layout.navigation.extra``{ collapsed, pathname }`,侧边栏导航底部。
- `stock-preview.footer``{ symbol, name, view }`,个股详情对话框底部(日K/分时图表下方);`view``'daily' | 'intraday'`。适合个股附加面板:龙虎榜、资金流、外部研究链接等。
- `watchlist.toolbar``{ symbols, viewMode, selectedGroup, refresh }`,自选页工具栏末尾;`symbols` 为当前筛选视图中的标的,`refresh` 在扩展修改数据后调用以刷新自选增强数据。适合批量操作入口:自定义分析、导出、组合计算等。
新增插槽前必须有真实用例,并同时定义 context 类型、异常隔离和测试;不能只在类型表中预留名字。
### 3.3 当前路由与导航契约