feat(FEAT-MO-004): 实现指数板块详情分析页

This commit is contained in:
2026-08-25 00:16:43 +08:00
parent f8f4da93dc
commit 0131f863b6
32 changed files with 2262 additions and 8 deletions
+144
View File
@@ -68,6 +68,22 @@ export interface paths {
patch?: never;
trace?: never;
};
'/api/v1/market-overview/indices/{code}/detail': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations['MarketDetailController_getIndexDetail'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/v1/market-overview/sectors': {
parameters: {
query?: never;
@@ -84,6 +100,22 @@ export interface paths {
patch?: never;
trace?: never;
};
'/api/v1/market-overview/sectors/{code}/detail': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations['MarketDetailController_getSectorDetail'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/v1/market-overview/short-term/conclusion': {
parameters: {
query?: never;
@@ -157,6 +189,34 @@ export interface components {
/** @enum {string} */
status: 'healthy' | 'unavailable' | 'disabled';
};
DetailAvailableViewsDto: {
intraday: boolean;
kline: boolean;
};
DetailInstrumentDto: {
code: string;
name: string;
/** @enum {string} */
type: 'index' | 'sector';
};
DetailQuoteDto: {
changePercent?: number | null;
/** @enum {string} */
direction: 'up' | 'down' | 'flat';
price: number;
/** @example 20260818 */
tradeDate: string;
};
DetailSeriesPointDto: {
amount?: number | null;
close: number;
high: number;
low: number;
open: number;
/** @example 20260818 */
time: string;
volume?: number | null;
};
FundDataDto: {
changePercent: number;
currentAmount: number;
@@ -194,6 +254,23 @@ export interface components {
/** @enum {string} */
status: 'healthy' | 'unavailable';
};
IndexDetailDataDto: {
availableViews: components['schemas']['DetailAvailableViewsDto'];
instrument: components['schemas']['DetailInstrumentDto'];
quote: components['schemas']['DetailQuoteDto'];
series: components['schemas']['DetailSeriesPointDto'][];
};
IndexDetailResponseDto: {
/** Format: date-time */
asOf: string;
data: components['schemas']['IndexDetailDataDto'] | null;
snapshotId: string;
/** @enum {string} */
source: 'tdx';
/** @enum {string} */
status: 'fresh' | 'delayed' | 'partial' | 'unavailable';
warnings: string[];
};
IndexQuoteDto: {
changePercent?: number | null;
code: string;
@@ -220,6 +297,23 @@ export interface components {
SectorDataDto: {
items: components['schemas']['SectorQuoteDto'][];
};
SectorDetailDataDto: {
availableViews: components['schemas']['DetailAvailableViewsDto'];
instrument: components['schemas']['DetailInstrumentDto'];
quote: components['schemas']['DetailQuoteDto'];
series: components['schemas']['DetailSeriesPointDto'][];
};
SectorDetailResponseDto: {
/** Format: date-time */
asOf: string;
data: components['schemas']['SectorDetailDataDto'] | null;
snapshotId: string;
/** @enum {string} */
source: 'tdx';
/** @enum {string} */
status: 'fresh' | 'delayed' | 'partial' | 'unavailable';
warnings: string[];
};
SectorQuoteDto: {
changePercent: number;
code: string;
@@ -405,6 +499,31 @@ export interface operations {
};
};
};
MarketDetailController_getIndexDetail: {
parameters: {
query?: {
count?: number;
period?: '1d';
};
header?: never;
path: {
/** @description 带市场后缀的指数代码 */
code: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['IndexDetailResponseDto'];
};
};
};
};
MarketOverviewController_getSectors: {
parameters: {
query?: never;
@@ -424,6 +543,31 @@ export interface operations {
};
};
};
MarketDetailController_getSectorDetail: {
parameters: {
query?: {
count?: number;
period?: '1d';
};
header?: never;
path: {
/** @description 带市场后缀的一级行业代码 */
code: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['SectorDetailResponseDto'];
};
};
};
};
ShortTermMarketController_getConclusion: {
parameters: {
query?: never;