v0.10.3
相比 v0.10.2 的变更
新功能
- 多日分时协议: 新增
fetchTimeShareRange、多日请求/响应 DTO 与TimeShareRangeCapability,支持按截止交易日和交易日数量请求分时数据。 - 多日分时存储: 新增不可变
TimeShareRangeStore、TimeShareDay和TimeShareRange,按交易日保留tradingDate、preClose和分时点,并为现有渲染链派生扁平数据。 - 分时范围查询能力: Provider、数据源和品种描述可声明
timeShareRange.maxTradingDays,前端可据此决定是否提供多日分时入口。 - 多源 Mock 品种目录: Mock Provider 提供可搜索的品种数据,覆盖统一品种模型和能力声明。
- 比较图例品种名称: 比较视图图例显示品种代码和名称,例如
601360 三六零,并将名称暴露给外部 legend slot。
Bug 修复
- 分时状态与重绘同步: 修复分时数据、昨收基准与图表重绘没有同步更新的问题。
- 分时内联数据基准:
TimeShareBuffer.setInlineData现在以数据和昨收作为同一输入写入,避免沿用上一次范围数据的昨收。 - 比较视图 K 线叠加元素: 比较视图隐藏最新价虚线以及 O/H/L/C/Vol 图例行,避免为归一化比较序列展示无意义的主 K 线数据。
- Vue 库构建外部依赖: 使用 Vite 8 的
rolldownOptions.external标记 Core 和 Vue 依赖,修复 Rolldown 解析 Coremarket-data子路径失败。 - 协议 Provider 测试修复: 修复仍引用已删除
MarketDataV1Transport类型的 Provider 测试。
架构与重构
- 移除 Legacy Fetcher 兼容层: 图表运行时统一通过
MarketDataProvider和SourceRouter加载 K 线与分时数据;删除旧 registry、router、Legacy Adapter 及 Fetcher 实现。 - 破坏性 API 变更: 移除
dataFetcher、setDataFetcher、routerDataFetcher及相关 Fetcher 导出;迁移至MarketDataProvider。 - 数据状态原子快照: 活动 Buffer 切换通过
applyActiveBufferSnapshot一次发布 key、数据、loading、范围和昨收,消除字段级写入造成的短暂状态不一致。 - Buffer 契约收敛: 移除共享
DataBufferLike的setInlineData,由 K 线与分时 Buffer 分别定义各自的结构化写入契约;无活动 Buffer 时使用显式空 key 快照。 - 协议去版本化命名: 将 Transport、Provider Factory 和拒绝码等类型/工厂从
V1命名迁移为通用命名;V1仅保留给 wire metadata、版本和/api/v1路径。 - 复用领域能力模型: 协议层复用领域
InstrumentCapabilities与相关能力类型,减少结构重复和跨层转换。 - 框架绑定清理: Vue、React、Angular、Web Component、Electron 与 AI runtime 移除旧 Fetcher 控制器字段、mock 和导出,改为与统一 Provider 契约一致。
- 最新价虚线模式投影: 最新价虚线注册为
@Indicator,由dataViews: ['kline']和系统模式实例统一控制图层可见性。
文档
- 多日分时与状态设计文档: 新增多日分时存储、分时 StateKernel 归属和旧 Fetcher 移除的设计决策文档。
- Provider 文档与跨框架兼容性: 更新 MarketDataProvider、数据包 README、主 README、属性片段和跨框架兼容性说明,移除旧 Fetcher 配置。
- 代码评审技能: 新增覆盖状态一致性、边界职责、模型契约和变更传播的代码评审准则。