feat: 迭代03-05 交易记录接入、行情实时、QMT连接配置、data store 标准化
- R-004 QMT连接配置:多配置管理 + 会话头部快捷切换(03-QMT连接配置) - R-005 WS盘中价格实时更新:服务端中转+缓存+前端轮询(04-WS盘中价格实时更新) - R-006 策略数据 JSON data store 标准化(store.json/market.json/schema.json) - R-007 交易记录接入:当日订单+成交单表合并(委托主行+展开成交明细)、时间段查询(今日/本周/本月+手动起止)、费用计算(佣金费率万m_dCommission+最低5元、印花税卖出万5、过户费双向万0.1) - 架构治理:api 按领域拆分、component 目录、QmtHealthMonitor
This commit is contained in:
+14
-3
@@ -15,8 +15,11 @@ import { createElement } from 'react';
|
||||
import { AllPositionsTab } from './views/AllPositionsTab.jsx';
|
||||
import { StrategyTab } from './views/StrategyTab.jsx';
|
||||
import { PlaceholderTab } from './views/PlaceholderTab.jsx';
|
||||
import { TradeRecordsTab } from './views/TradeRecordsTab.jsx';
|
||||
import { SettingsSection } from './views/SettingsSection.jsx';
|
||||
import { QmtConnectionChip } from './views/QmtConnectionChip.jsx';
|
||||
import { ConnectionProvider } from './views/connection.jsx';
|
||||
import { MarketDataProvider } from './market/MarketDataProvider.jsx';
|
||||
|
||||
export const inject = ['slots', 'connection'];
|
||||
|
||||
@@ -61,7 +64,7 @@ const GENERAL_TABS = [
|
||||
{ key: 'allPositions', id: 'odl-all-positions', label: '全部持仓', order: 10,
|
||||
render: (withConnection) => withConnection((props) => createElement(AllPositionsTab, props)) },
|
||||
{ key: 'tradeRecords', id: 'odl-trade-records', label: '交易记录', order: 11,
|
||||
render: (withConnection) => withConnection((props) => createElement(PlaceholderTab, { ...props, title: '交易记录' })) },
|
||||
render: (withConnection) => withConnection((props) => createElement(TradeRecordsTab, props)) },
|
||||
{ key: 'watchlist', id: 'odl-watchlist', label: '关注列表', order: 12,
|
||||
render: (withConnection) => withConnection((props) => createElement(PlaceholderTab, { ...props, title: '关注列表' })) },
|
||||
];
|
||||
@@ -73,7 +76,8 @@ export function apply(ctx) {
|
||||
}
|
||||
|
||||
const withConnection = (render) => (props) =>
|
||||
createElement(ConnectionProvider, { connection }, render(props));
|
||||
createElement(ConnectionProvider, { connection },
|
||||
createElement(MarketDataProvider, null, render(props)));
|
||||
|
||||
ctx.slots.register({
|
||||
name: 'settings.section',
|
||||
@@ -130,10 +134,17 @@ export function apply(ctx) {
|
||||
|
||||
registerAllTabs();
|
||||
|
||||
// R-004 Q9:会话头部快捷切换 chip(与 DSH 内置 PTC 标签 order=-10 并排,技术约束-009)
|
||||
ctx.slots.register({
|
||||
name: 'conversation.session.header.actions',
|
||||
id: 'odl-qmt-switch',
|
||||
order: -9,
|
||||
}, withConnection((props) => createElement(QmtConnectionChip, props)));
|
||||
|
||||
ctx.effect(() => {
|
||||
return () => {
|
||||
disposed = true;
|
||||
disposeAllTabs();
|
||||
};
|
||||
}, 'one-divine-lot.client');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user