fix: 数据源切换按 datasets 动态分流, 修复切换到 stock-sdk 后分钟K仍走 tickflow

- DataSources.tsx switchProvider 非 tickflow 分支原只传 4 个字段(漏 minute_data_provider),
  后端 exclude_none 保留旧值导致 minute 永远停在 tickflow。改为按源声明的 datasets
  动态构建: 支持的数据集切到该源, 不支持的显式写 tickflow(消除 UI/后台不一致)
- README License 段补充 stock-sdk (ISC) 协议声明
This commit is contained in:
shy3130
2026-07-07 12:39:23 +08:00
parent fb7cf921a9
commit 9b22030166
2 changed files with 14 additions and 5 deletions
+1 -1
View File
@@ -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 协议
## 社区
+13 -4
View File
@@ -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: () => {