Compare commits
2 Commits
7a11800cba
...
ada9f6e778
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ada9f6e778 | ||
|
|
07aebbece5 |
@@ -23,19 +23,6 @@ interface ApiResponse<T> {
|
|||||||
message?: string;
|
message?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 通用 API 请求函数
|
|
||||||
*/
|
|
||||||
const apiRequest = async <T>(url: string): Promise<ApiResponse<T>> => {
|
|
||||||
try {
|
|
||||||
const { data } = await axios.get<ApiResponse<T>>(url);
|
|
||||||
return data;
|
|
||||||
} catch (error) {
|
|
||||||
logger.error('marketService', 'apiRequest', error, { url });
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 市场数据服务
|
* 市场数据服务
|
||||||
*/
|
*/
|
||||||
@@ -45,7 +32,8 @@ export const marketService = {
|
|||||||
* @param stockCode 股票代码
|
* @param stockCode 股票代码
|
||||||
*/
|
*/
|
||||||
async getMarketSummary(stockCode: string): Promise<ApiResponse<MarketSummary>> {
|
async getMarketSummary(stockCode: string): Promise<ApiResponse<MarketSummary>> {
|
||||||
return apiRequest<MarketSummary>(`/api/market/summary/${stockCode}`);
|
const { data } = await axios.get<ApiResponse<MarketSummary>>(`/api/market/summary/${stockCode}`);
|
||||||
|
return data;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,7 +42,8 @@ export const marketService = {
|
|||||||
* @param days 天数,默认 60 天
|
* @param days 天数,默认 60 天
|
||||||
*/
|
*/
|
||||||
async getTradeData(stockCode: string, days: number = 60): Promise<ApiResponse<TradeDayData[]>> {
|
async getTradeData(stockCode: string, days: number = 60): Promise<ApiResponse<TradeDayData[]>> {
|
||||||
return apiRequest<TradeDayData[]>(`/api/market/trade/${stockCode}?days=${days}`);
|
const { data } = await axios.get<ApiResponse<TradeDayData[]>>(`/api/market/trade/${stockCode}?days=${days}`);
|
||||||
|
return data;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -63,7 +52,8 @@ export const marketService = {
|
|||||||
* @param days 天数,默认 30 天
|
* @param days 天数,默认 30 天
|
||||||
*/
|
*/
|
||||||
async getFundingData(stockCode: string, days: number = 30): Promise<ApiResponse<FundingDayData[]>> {
|
async getFundingData(stockCode: string, days: number = 30): Promise<ApiResponse<FundingDayData[]>> {
|
||||||
return apiRequest<FundingDayData[]>(`/api/market/funding/${stockCode}?days=${days}`);
|
const { data } = await axios.get<ApiResponse<FundingDayData[]>>(`/api/market/funding/${stockCode}?days=${days}`);
|
||||||
|
return data;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -91,7 +81,8 @@ export const marketService = {
|
|||||||
* @param stockCode 股票代码
|
* @param stockCode 股票代码
|
||||||
*/
|
*/
|
||||||
async getPledgeData(stockCode: string): Promise<ApiResponse<PledgeData[]>> {
|
async getPledgeData(stockCode: string): Promise<ApiResponse<PledgeData[]>> {
|
||||||
return apiRequest<PledgeData[]>(`/api/market/pledge/${stockCode}`);
|
const { data } = await axios.get<ApiResponse<PledgeData[]>>(`/api/market/pledge/${stockCode}`);
|
||||||
|
return data;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -109,7 +100,8 @@ export const marketService = {
|
|||||||
if (startDate && endDate) {
|
if (startDate && endDate) {
|
||||||
url += `?start_date=${startDate}&end_date=${endDate}`;
|
url += `?start_date=${startDate}&end_date=${endDate}`;
|
||||||
}
|
}
|
||||||
return apiRequest<RiseAnalysis[]>(url);
|
const { data } = await axios.get<ApiResponse<RiseAnalysis[]>>(url);
|
||||||
|
return data;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
import type { StockQuoteCardData } from './types';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 贵州茅台 Mock 数据
|
|
||||||
*/
|
|
||||||
export const mockStockQuoteData: StockQuoteCardData = {
|
|
||||||
// 基础信息
|
|
||||||
name: '贵州茅台',
|
|
||||||
code: '600519.SH',
|
|
||||||
indexTags: ['沪深300'],
|
|
||||||
|
|
||||||
// 价格信息
|
|
||||||
currentPrice: 2178.5,
|
|
||||||
changePercent: 3.65,
|
|
||||||
todayOpen: 2156.0,
|
|
||||||
yesterdayClose: 2101.0,
|
|
||||||
todayHigh: 2185.0,
|
|
||||||
todayLow: 2150.0,
|
|
||||||
|
|
||||||
// 关键指标
|
|
||||||
pe: 38.62,
|
|
||||||
pb: 14.82,
|
|
||||||
marketCap: '2.73万亿',
|
|
||||||
week52Low: 1980,
|
|
||||||
week52High: 2350,
|
|
||||||
|
|
||||||
// 主力动态
|
|
||||||
mainNetInflow: 1.28,
|
|
||||||
institutionHolding: 72.35,
|
|
||||||
buyRatio: 85,
|
|
||||||
sellRatio: 15,
|
|
||||||
|
|
||||||
// 更新时间
|
|
||||||
updateTime: '2025-12-03 14:30:25',
|
|
||||||
|
|
||||||
// 自选状态
|
|
||||||
isFavorite: false,
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user