// 市场数据服务 import { futuresList, generateFuturesOverview, generateFutureData, generateKlineData, riskAlerts } from '../utils/mockData'; // 获取市场概览 export const fetchMarketOverview = async () => { // 模拟API请求延迟 await new Promise(resolve => setTimeout(resolve, 300)); return generateFuturesOverview(); }; // 获取品种详情 export const fetchMarketDetail = async (symbol: string) => { // 模拟API请求延迟 await new Promise(resolve => setTimeout(resolve, 200)); const future = futuresList.find(item => item.code === symbol); if (!future) { throw new Error('品种不存在'); } return generateFutureData(symbol, future.name); }; // 获取K线数据 export const fetchKlineData = async (symbol: string, period: string) => { // 模拟API请求延迟 await new Promise(resolve => setTimeout(resolve, 200)); return generateKlineData(30); }; // 获取市场热点 export const fetchMarketHotspots = async () => { // 模拟API请求延迟 await new Promise(resolve => setTimeout(resolve, 200)); const overview = generateFuturesOverview(); // 按涨跌幅排序,返回前10个 return overview .sort((a, b) => Math.abs(b.changePercent) - Math.abs(a.changePercent)) .slice(0, 10) .map(item => ({ symbol: item.code, name: item.name, change: item.changePercent, volume: Math.floor(Math.random() * 1000000) + 100000 })); }; // 获取风险预警 export const fetchRiskAlerts = async () => { // 模拟API请求延迟 await new Promise(resolve => setTimeout(resolve, 100)); return riskAlerts; };