feat(FEAT-MO-005): 接入市场结构前端数据层

This commit is contained in:
2026-08-25 02:10:22 +08:00
parent ad40ffffc4
commit b95b9e5c92
7 changed files with 139 additions and 1 deletions
+51
View File
@@ -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;