Skip to content

Commit 37a16f8

Browse files
committed
seriesHandler use DataSeries
1 parent f8c32c7 commit 37a16f8

2 files changed

Lines changed: 19 additions & 10 deletions

File tree

web/base/biz_com.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,6 @@ func seriesHandler(msg *data.SeriesMsg) {
110110
if len(msg.Rows) == 0 {
111111
return
112112
}
113-
bars, convErr := orm.SeriesToBars(orm.GetExSymbol2(msg.ExgName, msg.Market, msg.Pair), msg.Rows)
114-
if convErr != nil {
115-
return
116-
}
117113
wsSubLock.Lock()
118114
defer wsSubLock.Unlock()
119115
key := fmt.Sprintf("%s_%s_%s", msg.ExgName, msg.Market, msg.Pair)
@@ -122,10 +118,10 @@ func seriesHandler(msg *data.SeriesMsg) {
122118
return
123119
}
124120
wsMsg := map[string]interface{}{
125-
"a": "subscribe",
126-
"bars": ArrSeriesBars(bars),
127-
"secs": msg.TFSecs,
128-
"upd": msg.Interval,
121+
"a": "subscribe",
122+
"series": msg.Rows,
123+
"secs": msg.TFSecs,
124+
"upd": msg.Interval,
129125
}
130126
raw, marshalErr := utils2.Marshal(wsMsg)
131127
if marshalErr != nil {

web/ui/src/lib/kline/mydatafeed.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@ import {getApi} from "../netio";
33
import {site} from "$lib/stores/site";
44
import {get} from "svelte/store";
55

6+
function seriesToBar(row: any): BarArr {
7+
const values = row.Values ?? row.values ?? {}
8+
return [
9+
row.TimeMS ?? row.timeMS ?? row.time_ms,
10+
values.open,
11+
values.high,
12+
values.low,
13+
values.close,
14+
values.volume ?? 0
15+
]
16+
}
17+
618
export default class MyDatafeed implements Datafeed {
719

820
private _prevSymbol?: SymbolInfo
@@ -74,7 +86,8 @@ export default class MyDatafeed implements Datafeed {
7486
this._ws.onmessage = event => {
7587
const result = JSON.parse(event.data)
7688
const action = result.a as string
77-
if (action == 'subscribe' && result.bars && result.bars.length) {
89+
if (action == 'subscribe' && result.series && result.series.length) {
90+
result.bars = result.series.map(seriesToBar)
7891
const first = result.bars[0] as BarArr
7992
if (last_bar && first[0] == last_bar[0]) {
8093
// 如果和上一个推送的bar时间戳相同,则认为是其更新,减去上一个的volume,避免调用方错误累加
@@ -103,4 +116,4 @@ export default class MyDatafeed implements Datafeed {
103116
}))
104117
}
105118

106-
}
119+
}

0 commit comments

Comments
 (0)