feat: 路由改造

This commit is contained in:
zdl
2025-10-17 18:59:00 +08:00
parent 02bf1ea709
commit bae4d25e24
15 changed files with 496 additions and 227 deletions

172
src/mocks/data/events.js Normal file
View File

@@ -0,0 +1,172 @@
// Mock 事件相关数据
// Mock 股票池 - 常见的A股股票
const stockPool = [
{ stock_code: '600000.SH', stock_name: '浦发银行', industry: '银行' },
{ stock_code: '600519.SH', stock_name: '贵州茅台', industry: '白酒' },
{ stock_code: '600036.SH', stock_name: '招商银行', industry: '银行' },
{ stock_code: '601318.SH', stock_name: '中国平安', industry: '保险' },
{ stock_code: '600016.SH', stock_name: '民生银行', industry: '银行' },
{ stock_code: '601398.SH', stock_name: '工商银行', industry: '银行' },
{ stock_code: '601288.SH', stock_name: '农业银行', industry: '银行' },
{ stock_code: '601166.SH', stock_name: '兴业银行', industry: '银行' },
{ stock_code: '000001.SZ', stock_name: '平安银行', industry: '银行' },
{ stock_code: '000002.SZ', stock_name: '万科A', industry: '房地产' },
{ stock_code: '000858.SZ', stock_name: '五粮液', industry: '白酒' },
{ stock_code: '000333.SZ', stock_name: '美的集团', industry: '家电' },
{ stock_code: '002415.SZ', stock_name: '海康威视', industry: '安防' },
{ stock_code: '002594.SZ', stock_name: 'BYD比亚迪', industry: '新能源汽车' },
{ stock_code: '300750.SZ', stock_name: '宁德时代', industry: '新能源' },
{ stock_code: '300059.SZ', stock_name: '东方财富', industry: '证券' },
{ stock_code: '601888.SH', stock_name: '中国中免', industry: '免税' },
{ stock_code: '600276.SH', stock_name: '恒瑞医药', industry: '医药' },
{ stock_code: '600887.SH', stock_name: '伊利股份', industry: '乳制品' },
{ stock_code: '601012.SH', stock_name: '隆基绿能', industry: '光伏' },
{ stock_code: '688981.SH', stock_name: '中芯国际', industry: '半导体' },
{ stock_code: '600309.SH', stock_name: '万华化学', industry: '化工' },
{ stock_code: '603259.SH', stock_name: '药明康德', industry: '医药研发' },
{ stock_code: '002475.SZ', stock_name: '立讯精密', industry: '电子' },
{ stock_code: '000063.SZ', stock_name: '中兴通讯', industry: '通信设备' },
];
// 关联描述模板
const relationDescTemplates = [
'主营业务直接相关,预计受事件影响较大',
'产业链上游企业,间接受益',
'产业链下游企业,需求端受影响',
'同行业竞争对手,可能受到间接影响',
'参股该领域相关企业,有一定关联性',
'业务板块涉及相关领域,预计有正面影响',
'控股子公司从事相关业务',
'近期公告布局该领域,潜在受益标的',
'行业龙头企业,市场关注度高',
'技术储备充足,有望抢占市场先机',
'已有成熟产品线,短期内可能受益',
'战略转型方向与事件相关',
];
// 生成随机关联股票数据
export function generateRelatedStocks(eventId, count = 5) {
// 使用事件ID作为随机种子确保相同事件ID返回相同的股票列表
const seed = parseInt(eventId) || 1;
const selectedStocks = [];
// 伪随机选择股票基于事件ID
for (let i = 0; i < Math.min(count, stockPool.length); i++) {
const index = (seed * 17 + i * 13) % stockPool.length;
const stock = stockPool[index];
const descIndex = (seed * 7 + i * 11) % relationDescTemplates.length;
selectedStocks.push({
stock_code: stock.stock_code,
stock_name: stock.stock_name,
relation_desc: relationDescTemplates[descIndex],
industry: stock.industry,
// 可选字段 - 用于前端显示更多信息
relevance_score: Math.max(60, 100 - i * 8), // 相关性评分,递减
impact_level: i < 2 ? 'high' : i < 4 ? 'medium' : 'low', // 影响程度
});
}
return selectedStocks;
}
// Mock 事件相关股票数据映射
// 这里可以为特定事件ID预设特定的股票列表
export const mockEventStocks = {
// 示例事件ID为1的预设股票
'1': [
{
stock_code: '600519.SH',
stock_name: '贵州茅台',
relation_desc: '白酒行业龙头,消费板块受政策影响',
industry: '白酒',
relevance_score: 95,
impact_level: 'high',
},
{
stock_code: '000858.SZ',
stock_name: '五粮液',
relation_desc: '白酒行业第二梯队,同样受消费政策影响',
industry: '白酒',
relevance_score: 90,
impact_level: 'high',
},
{
stock_code: '600887.SH',
stock_name: '伊利股份',
relation_desc: '消费品龙头,受益于消费复苏',
industry: '乳制品',
relevance_score: 75,
impact_level: 'medium',
},
],
// 事件ID为2的预设股票科技类
'2': [
{
stock_code: '002415.SZ',
stock_name: '海康威视',
relation_desc: 'AI视觉领域龙头技术创新受政策支持',
industry: '安防',
relevance_score: 92,
impact_level: 'high',
},
{
stock_code: '000063.SZ',
stock_name: '中兴通讯',
relation_desc: '5G通信设备商基础设施建设受益',
industry: '通信设备',
relevance_score: 88,
impact_level: 'high',
},
{
stock_code: '688981.SH',
stock_name: '中芯国际',
relation_desc: '半导体制造龙头,国产替代核心标的',
industry: '半导体',
relevance_score: 85,
impact_level: 'high',
},
],
// 事件ID为3的预设股票新能源类
'3': [
{
stock_code: '300750.SZ',
stock_name: '宁德时代',
relation_desc: '动力电池龙头,新能源产业链核心',
industry: '新能源',
relevance_score: 98,
impact_level: 'high',
},
{
stock_code: '002594.SZ',
stock_name: 'BYD比亚迪',
relation_desc: '新能源汽车龙头,产业链一体化布局',
industry: '新能源汽车',
relevance_score: 95,
impact_level: 'high',
},
{
stock_code: '601012.SH',
stock_name: '隆基绿能',
relation_desc: '光伏组件龙头,清洁能源受政策支持',
industry: '光伏',
relevance_score: 85,
impact_level: 'medium',
},
],
};
// 获取事件相关股票
export function getEventRelatedStocks(eventId) {
// 优先返回预设的股票列表
if (mockEventStocks[eventId]) {
return mockEventStocks[eventId];
}
// 否则生成随机股票列表3-6只股票
const count = 3 + (parseInt(eventId) % 4);
return generateRelatedStocks(eventId, count);
}