111
This commit is contained in:
@@ -1,71 +0,0 @@
|
||||
import { useAxios } from '../../composables/use-axios'
|
||||
|
||||
// ==================== Types ====================
|
||||
|
||||
export interface KlineConfig {
|
||||
coinId: number
|
||||
coinCode: string
|
||||
coinName: string
|
||||
simulationEnabled: number // 0 or 1
|
||||
tradeStartTime: string // HH:mm
|
||||
tradeEndTime: string // HH:mm
|
||||
priceMin: number
|
||||
priceMax: number
|
||||
currentPrice: number
|
||||
priceType: number
|
||||
}
|
||||
|
||||
export interface KlineConfigUpdate {
|
||||
coinCode: string
|
||||
tradeStartTime?: string
|
||||
tradeEndTime?: string
|
||||
priceMin?: number
|
||||
priceMax?: number
|
||||
simulationEnabled?: number
|
||||
}
|
||||
|
||||
export interface KlineCandle {
|
||||
coinCode: string
|
||||
interval: string
|
||||
openTime: number
|
||||
openPrice: number
|
||||
highPrice: number
|
||||
lowPrice: number
|
||||
closePrice: number
|
||||
volume: number
|
||||
closeTime: number
|
||||
}
|
||||
|
||||
// ==================== API Functions ====================
|
||||
|
||||
/** 获取所有币种K线配置 */
|
||||
export async function getKlineConfigs(): Promise<KlineConfig[]> {
|
||||
const { axiosInstance } = useAxios()
|
||||
const { data } = await axiosInstance.get('/admin/kline/config')
|
||||
const list: any[] = (data as any)?.data ?? []
|
||||
return list.map(item => ({
|
||||
coinId: item.id,
|
||||
coinCode: item.code,
|
||||
coinName: item.name,
|
||||
simulationEnabled: item.simulationEnabled ?? 0,
|
||||
tradeStartTime: item.tradeStartTime,
|
||||
tradeEndTime: item.tradeEndTime,
|
||||
priceMin: item.priceMin,
|
||||
priceMax: item.priceMax,
|
||||
currentPrice: item.price,
|
||||
priceType: item.priceType,
|
||||
}))
|
||||
}
|
||||
|
||||
/** 保存K线配置 */
|
||||
export async function saveKlineConfig(config: KlineConfigUpdate): Promise<void> {
|
||||
const { axiosInstance } = useAxios()
|
||||
await axiosInstance.post('/admin/kline/config', config)
|
||||
}
|
||||
|
||||
/** 获取K线预览数据(用于 echarts) */
|
||||
export async function getKlinePreview(coinCode: string, interval: string = '1h', limit: number = 100): Promise<KlineCandle[]> {
|
||||
const { axiosInstance } = useAxios()
|
||||
const { data } = await axiosInstance.get('/admin/kline/preview', { params: { coinCode, interval, limit } })
|
||||
return (data as any)?.data ?? []
|
||||
}
|
||||
Reference in New Issue
Block a user