fix: 个股/板块弹窗日K只取近 2 年,不再全历史分页(5+ 页 → 1 页)

弹窗日K只用最近 250 根,却以 count=800 逐页拉全历史(300308 约 3400 根
= 5 页),深层页还触发服务端 QFQ 负价的 NONE+XDXR 本地重算(每页多一次
协议请求)。传 startDate(近 2 年)后单页 800 根即覆盖,翻页循环第一页
即命中退出;长期停牌取不到时退回全历史,行为不变。

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
awayings
2026-09-11 16:25:52 +08:00
co-authored by Claude Code
parent 5844c4a8a6
commit 71c386509c
2 changed files with 10 additions and 2 deletions
+5 -1
View File
@@ -74,7 +74,11 @@ async function loadMinute() {
async function loadDaily() {
dailyError.value = ''
try {
const bars = await fetchBars('SH', props.code, 'DAY', undefined, undefined)
// 日K只展示最近 250 根:取近 2 年(/bars 单页 800 根即可覆盖,避免全历史分页);
// 长期停牌取不到再退回全历史。
const since = new Date(Date.now() - 2 * 365 * 86400_000).toISOString().slice(0, 10)
let bars = await fetchBars('SH', props.code, 'DAY', since, undefined)
if (bars.length === 0) bars = await fetchBars('SH', props.code, 'DAY', undefined, undefined)
if (bars.length === 0) throw new Error('该板块无日K数据')
dailyBars.value = bars.slice(-250)
} catch (e) {
+5 -1
View File
@@ -106,7 +106,11 @@ watch(minuteDays, loadMinute)
async function loadDaily() {
dailyError.value = ''
try {
let bars = await fetchBars(props.market, props.code, 'DAY', undefined, undefined)
// 日K只展示最近 250 根:取近 2 年(/bars 单页 800 根即可覆盖,避免全历史
// 分页 5+ 页 + 深层 QFQ 负价重算);长期停牌取不到再退回全历史。
const since = new Date(Date.now() - 2 * 365 * 86400_000).toISOString().slice(0, 10)
let bars = await fetchBars(props.market, props.code, 'DAY', since, undefined)
if (bars.length === 0) bars = await fetchBars(props.market, props.code, 'DAY', undefined, undefined)
// 指数(或 /bars 空数据的服务器)回退指数接口
if (bars.length === 0) bars = await fetchIndexBars(props.market, props.code, 250)
if (bars.length === 0) throw new Error('无日K数据(可能为新股或代码有误)')