feat: 添加mock数据
This commit is contained in:
@@ -8,65 +8,74 @@ export const generateMarketData = (stockCode) => {
|
|||||||
return {
|
return {
|
||||||
stockCode,
|
stockCode,
|
||||||
|
|
||||||
// 成交数据
|
// 成交数据 - 必须包含K线所需的字段
|
||||||
tradeData: {
|
tradeData: {
|
||||||
success: true,
|
success: true,
|
||||||
data: Array(30).fill(null).map((_, i) => ({
|
data: Array(30).fill(null).map((_, i) => {
|
||||||
|
const open = basePrice + (Math.random() - 0.5) * 0.5;
|
||||||
|
const close = basePrice + (Math.random() - 0.5) * 0.5;
|
||||||
|
const high = Math.max(open, close) + Math.random() * 0.3;
|
||||||
|
const low = Math.min(open, close) - Math.random() * 0.3;
|
||||||
|
return {
|
||||||
date: new Date(Date.now() - (29 - i) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],
|
date: new Date(Date.now() - (29 - i) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],
|
||||||
|
open: parseFloat(open.toFixed(2)),
|
||||||
|
close: parseFloat(close.toFixed(2)),
|
||||||
|
high: parseFloat(high.toFixed(2)),
|
||||||
|
low: parseFloat(low.toFixed(2)),
|
||||||
volume: Math.floor(Math.random() * 500000000) + 100000000, // 1-6亿股
|
volume: Math.floor(Math.random() * 500000000) + 100000000, // 1-6亿股
|
||||||
amount: Math.floor(Math.random() * 7000000000) + 1300000000, // 13-80亿元
|
amount: Math.floor(Math.random() * 7000000000) + 1300000000, // 13-80亿元
|
||||||
turnover_rate: (Math.random() * 2 + 0.5).toFixed(2), // 0.5-2.5%
|
turnover_rate: (Math.random() * 2 + 0.5).toFixed(2), // 0.5-2.5%
|
||||||
change_pct: (Math.random() * 6 - 3).toFixed(2) // -3% to +3%
|
change_pct: (Math.random() * 6 - 3).toFixed(2) // -3% to +3%
|
||||||
}))
|
};
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 资金流向
|
// 资金流向 - 融资融券数据数组
|
||||||
fundingData: {
|
fundingData: {
|
||||||
success: true,
|
success: true,
|
||||||
data: {
|
data: Array(30).fill(null).map((_, i) => ({
|
||||||
main_inflow: 125600000, // 主力净流入(元)
|
|
||||||
retail_inflow: -45300000, // 散户净流入
|
|
||||||
large_inflow: 89200000, // 大单净流入
|
|
||||||
medium_inflow: 23400000, // 中单净流入
|
|
||||||
small_outflow: -68600000, // 小单净流出
|
|
||||||
trend: Array(30).fill(null).map((_, i) => ({
|
|
||||||
date: new Date(Date.now() - (29 - i) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],
|
date: new Date(Date.now() - (29 - i) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],
|
||||||
main_inflow: Math.floor(Math.random() * 200000000) - 100000000
|
financing: {
|
||||||
}))
|
balance: Math.floor(Math.random() * 5000000000) + 10000000000, // 融资余额
|
||||||
|
buy: Math.floor(Math.random() * 500000000) + 100000000, // 融资买入
|
||||||
|
repay: Math.floor(Math.random() * 500000000) + 80000000 // 融资偿还
|
||||||
|
},
|
||||||
|
securities: {
|
||||||
|
balance: Math.floor(Math.random() * 100000000) + 50000000, // 融券余额
|
||||||
|
sell: Math.floor(Math.random() * 10000000) + 5000000, // 融券卖出
|
||||||
|
repay: Math.floor(Math.random() * 10000000) + 3000000 // 融券偿还
|
||||||
}
|
}
|
||||||
|
}))
|
||||||
},
|
},
|
||||||
|
|
||||||
// 大单统计
|
// 大单统计 - 包含 daily_stats 数组
|
||||||
bigDealData: {
|
bigDealData: {
|
||||||
success: true,
|
success: true,
|
||||||
data: {
|
data: [],
|
||||||
today: {
|
daily_stats: Array(10).fill(null).map((_, i) => ({
|
||||||
buy_large: 234500000,
|
date: new Date(Date.now() - (9 - i) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],
|
||||||
sell_large: 189600000,
|
big_buy: Math.floor(Math.random() * 300000000) + 100000000,
|
||||||
net_large: 44900000,
|
big_sell: Math.floor(Math.random() * 300000000) + 80000000,
|
||||||
buy_count: 1256,
|
medium_buy: Math.floor(Math.random() * 200000000) + 60000000,
|
||||||
sell_count: 1089
|
medium_sell: Math.floor(Math.random() * 200000000) + 50000000,
|
||||||
},
|
small_buy: Math.floor(Math.random() * 100000000) + 30000000,
|
||||||
history: Array(30).fill(null).map((_, i) => ({
|
small_sell: Math.floor(Math.random() * 100000000) + 25000000
|
||||||
date: new Date(Date.now() - (29 - i) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],
|
|
||||||
net_large: Math.floor(Math.random() * 200000000) - 100000000
|
|
||||||
}))
|
}))
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 异动分析
|
// 异动分析 - 包含 grouped_data 数组
|
||||||
unusualData: {
|
unusualData: {
|
||||||
success: true,
|
success: true,
|
||||||
data: {
|
data: [],
|
||||||
|
grouped_data: Array(5).fill(null).map((_, i) => ({
|
||||||
|
date: new Date(Date.now() - (4 - i) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],
|
||||||
events: [
|
events: [
|
||||||
{ time: '14:35:22', type: '快速拉升', change: '+2.3%', description: '5分钟内上涨2.3%' },
|
{ time: '14:35:22', type: '快速拉升', change: '+2.3%', description: '5分钟内上涨2.3%' },
|
||||||
{ time: '11:28:45', type: '大单买入', amount: '5680万', description: '单笔大单买入' },
|
{ time: '11:28:45', type: '大单买入', amount: '5680万', description: '单笔大单买入' },
|
||||||
{ time: '10:15:30', type: '量比异动', ratio: '3.2', description: '量比达到3.2倍' }
|
{ time: '10:15:30', type: '量比异动', ratio: '3.2', description: '量比达到3.2倍' }
|
||||||
],
|
],
|
||||||
volume_ratio: 1.85, // 量比
|
count: 3
|
||||||
turnover_rate: 1.23, // 换手率
|
}))
|
||||||
amplitude: 3.45 // 振幅%
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 股权质押
|
// 股权质押
|
||||||
|
|||||||
Reference in New Issue
Block a user