From 9b22030166e12852348cf0aac244e666d8637273 Mon Sep 17 00:00:00 2001 From: shy3130 <415333856@qq.com> Date: Tue, 7 Jul 2026 12:39:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E6=BA=90=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=8C=89=20datasets=20=E5=8A=A8=E6=80=81=E5=88=86?= =?UTF-8?q?=E6=B5=81,=20=E4=BF=AE=E5=A4=8D=E5=88=87=E6=8D=A2=E5=88=B0=20st?= =?UTF-8?q?ock-sdk=20=E5=90=8E=E5=88=86=E9=92=9FK=E4=BB=8D=E8=B5=B0=20tick?= =?UTF-8?q?flow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DataSources.tsx switchProvider 非 tickflow 分支原只传 4 个字段(漏 minute_data_provider), 后端 exclude_none 保留旧值导致 minute 永远停在 tickflow。改为按源声明的 datasets 动态构建: 支持的数据集切到该源, 不支持的显式写 tickflow(消除 UI/后台不一致) - README License 段补充 stock-sdk (ISC) 协议声明 --- README.md | 2 +- frontend/src/pages/settings/DataSources.tsx | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f13f423..cb8a223 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,7 @@ fork同时请点个star哦,欢迎 Issue 和 PR。 ## 📄 License -[MIT](./LICENSE) © tickflow-stock-panel contributors · 本项目依赖 [TickFlow](https://tickflow.org/auth/register?ref=V3KDKGXPEA) 提供数据服务,使用前请遵守其服务条款。 +[MIT](./LICENSE) © tickflow-stock-panel contributors · 本项目依赖 [TickFlow](https://tickflow.org/auth/register?ref=V3KDKGXPEA) 提供数据服务,使用前请遵守其服务条款 · 数据源插件 [stock-sdk](https://stock-sdk.linkdiary.cn) 遵循其各自的 ISC 协议。 ## 社区 diff --git a/frontend/src/pages/settings/DataSources.tsx b/frontend/src/pages/settings/DataSources.tsx index 598751d..dc57b08 100644 --- a/frontend/src/pages/settings/DataSources.tsx +++ b/frontend/src/pages/settings/DataSources.tsx @@ -43,6 +43,7 @@ export function SettingsDataSourcesPanel() { const switchProvider = useMutation({ mutationFn: (name: string) => { + // tickflow: 5 个数据集全量重置为 tickflow if (name === 'tickflow') { return api.updateDataProviders({ daily_data_provider: 'tickflow', @@ -52,11 +53,19 @@ export function SettingsDataSourcesPanel() { financial_data_provider: 'tickflow', }) } + // 非 tickflow: 按源声明的 datasets 动态切换。支持的数据集切到该源, + // 不支持的保持 tickflow, 使 preferences 与实际取数路由一致 + // (避免 UI 显示某源、后台却走 tickflow 的假象)。 + const supported = new Set( + allItems.find(s => s.name === name)?.datasets ?? [] + ) + const pick = (dataset: string) => (supported.has(dataset) ? name : 'tickflow') return api.updateDataProviders({ - daily_data_provider: name, - adj_factor_provider: 'same_as_daily', - realtime_data_provider: name, - financial_data_provider: name, + daily_data_provider: pick('daily'), + adj_factor_provider: 'same_as_daily', // 除权始终跟随日K + realtime_data_provider: pick('realtime'), + minute_data_provider: pick('minute'), + financial_data_provider: pick('financial'), }) }, onSuccess: () => {