feat(FEAT-MO-005): 接入市场结构前端数据层
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import request, { type RequestClient } from '@/utils/request';
|
||||
import type { components } from '@/api/generated/schema';
|
||||
|
||||
export type SectorRankingsResponse = components['schemas']['SectorRankingsResponseDto'];
|
||||
export type CapitalFlowResponse = components['schemas']['CapitalFlowResponseDto'];
|
||||
export type TurnoverTrendResponse = components['schemas']['TurnoverTrendResponseDto'];
|
||||
|
||||
export interface SectorRankingsQuery {
|
||||
category: 'industry' | 'concept' | 'board';
|
||||
sort: 'rise' | 'fall' | 'turnover';
|
||||
limit: number;
|
||||
}
|
||||
|
||||
export interface CapitalFlowQuery {
|
||||
category: 'industry' | 'concept' | 'board';
|
||||
sort: 'inflow' | 'outflow';
|
||||
limit: number;
|
||||
}
|
||||
|
||||
export interface TurnoverTrendQuery {
|
||||
interval: '5' | '15';
|
||||
tradeDate?: string;
|
||||
}
|
||||
|
||||
/** 市场结构请求只调用固定的 Nest 路径,页面不感知 AKTools/TDX 地址。 */
|
||||
export function createMarketStructureApi(requestClient: RequestClient = request) {
|
||||
return {
|
||||
getSectorRankings: (params: SectorRankingsQuery) =>
|
||||
requestClient<SectorRankingsResponse>({
|
||||
method: 'get',
|
||||
url: '/api/v1/market-overview/sector-rankings',
|
||||
params,
|
||||
}),
|
||||
getCapitalFlow: (params: CapitalFlowQuery) =>
|
||||
requestClient<CapitalFlowResponse>({
|
||||
method: 'get',
|
||||
url: '/api/v1/market-overview/capital-flow',
|
||||
params,
|
||||
}),
|
||||
getTurnoverTrend: (params: TurnoverTrendQuery) =>
|
||||
requestClient<TurnoverTrendResponse>({
|
||||
method: 'get',
|
||||
url: '/api/v1/market-overview/turnover-trend',
|
||||
params,
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
const marketStructureApi = createMarketStructureApi();
|
||||
|
||||
export default marketStructureApi;
|
||||
Reference in New Issue
Block a user