使用 Orderly SDK 提供的预构建页面组件,快速组装完整的 DEX 页面(如交易页、投资组合、市场行情、排行榜等)
有序网络: SDK 页面组件是一项面向实际任务的技能,主要用于用于构建完整的 DEX 的预建、 完整版的页面组件;这些组件处理响应性设计( 桌面/ 移动) , 状态管理, 和 UI。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
开箱即用、功能完备的页面级组件,用于快速构建完整的 DEX。这些组件默认支持响应式设计(桌面端/移动端)、状态管理及 UI 渲染。
@orderly.network/trading、@orderly.network/portfolio、@orderly.network/markets)orderly-sdk-dex-architecture)| 组件 | 所属包 | 说明 |
|---|---|---|
TradingPage |
@orderly.network/trading |
完整交易界面,包含 TradingView 图表、订单簿、持仓、订单等功能模块 |
OverviewModule.OverviewPage |
@orderly.network/portfolio |
资产组合仪表盘,展示资产总览与历史收益表现 |
PositionsModule.PositionsPage |
@orderly.network/portfolio |
持仓列表页,含历史持仓与强平记录 |
OrdersModule.OrdersPage |
@orderly.network/portfolio |
订单列表页(包括未成交、挂单、已成交订单) |
AssetsModule.AssetsPage |
@orderly.network/portfolio |
资产余额管理页,支持充提币操作 |
HistoryModule.HistoryPage |
@orderly.network/portfolio |
完整交易与资金流水历史(含成交记录、资金费、结算记录) |
MarketsHomePage |
@orderly.network/markets |
行情总览页,列出全部交易对及关键市场指标 |
LeaderboardPage |
@orderly.network/trading-leaderboard |
交易竞赛排行榜页面 |
TradingRewardsPage |
@orderly.network/trading-rewards |
交易奖励计划页面 |
Dashboard |
@orderly.network/affiliate |
推广/返佣计划仪表盘 |
主交易界面,集成 TradingView 图表、订单簿、下单面板、持仓与订单模块。
import { TradingPage } from '@orderly.network/trading';
interface TradingPageProps {
// 必填:交易标的符号(例如 "PERP_ETH_USDC")
symbol: string;
// 用户切换交易标的时的回调函数
onSymbolChange?: (symbol: API.Symbol) => void;
// TradingView 图表配置
tradingViewConfig: {
scriptSRC?: string; // TradingView 库 JS 文件路径
library_path: string; // charting_library 文件夹路径
customCssUrl?: string; // 图表自定义 CSS 路径
colorConfig?: {
chartBG?: string;
upColor?: string;
downColor?: string;
pnlUpColor?: string;
pnlDownColor?: string;
};
};
// PnL 分享功能配置
sharePnLConfig?: {
backgroundImages?: string[]; // 分享卡片背景图列表
color?: string;
profitColor?: string;
lossColor?: string;
brandColor?: string;
};
// 禁用特定功能模块
disableFeatures?: TradingFeatures[];
// 替换特定模块为自定义组件
overrideFeatures?: Record;
}
enum TradingFeatures {
Sider = 'sider',
TopNavBar = 'topNavBar',
Footer = 'footer',
Header = 'header',
Kline = 'kline',
OrderBook = 'orderBook',
TradeHistory = 'tradeHistory',
Positions = 'positions',
Orders = 'orders',
}
import { useCallback, useState } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import { TradingPage } from '@orderly.network/trading';
import { API } from '@orderly.network/types';
export default function TradingRoute() {
const { symbol: paramSymbol } = useParams();
const [symbol, setSymbol] = useState(paramSymbol || 'PERP_ETH_USDC');
const navigate = useNavigate();
const onSymbolChange = useCallback(
(data: API.Symbol) => {
setSymbol(data.symbol);
navigate(`/perp/${data.symbol}`);
},
[navigate]
);
return (
);
}
public/tradingview/charting_library/ 目录tradingViewConfig 中正确配置 scriptSRC 和 library_path资产组合功能按模块组织,每个模块均提供一个完整的页面级组件。
import {
OverviewModule,
PositionsModule,
OrdersModule,
AssetsModule,
HistoryModule,
} from '@orderly.network/portfolio';
资产组合总览页,包含资产汇总、收益图表与近期活动。
interface OverviewPageProps {
hideAffiliateCard?: boolean; // 是否隐藏推广卡片
hideTraderCard?: boolean; // 是否隐藏交易者统计卡片
}
// 使用示例
import { OverviewModule } from '@orderly.network/portfolio';
function PortfolioOverview() {
return ;
}
包含模块:
当前及历史持仓列表,含强平事件记录。
import { PositionsModule } from '@orderly.network/portfolio';
function PositionsRoute() {
return ;
}
标签页:
订单管理页,支持查看未成交、挂单(TP/SL)及已成交订单。
interface OrdersPageProps {
sharePnLConfig?: SharePnLConfig; // 支持分享已平仓 PnL
}
import { OrdersModule } from '@orderly.network/portfolio';
function OrdersRoute() {
return (
);
}
功能特性:
资产余额管理页,支持充提币与跨链转账。
import { AssetsModule } from '@orderly.network/portfolio';
function AssetsRoute() {
return ;
}
功能特性:
完整交易与资金流水历史页。
import { HistoryModule } from '@orderly.network/portfolio';
function HistoryRoute() {
return ;
}
标签页:
import { Outlet, NavLink } from 'react-router-dom';
import {
OverviewModule,
PositionsModule,
OrdersModule,
AssetsModule,
HistoryModule,
} from '@orderly.network/portfolio';
// 带导航栏的资产组合布局
function PortfolioLayout() {
return (
);
}
// 路由配置
const portfolioRoutes = [
{
path: 'portfolio',
element: ,
children: [
{ index: true, element: },
{ path: 'positions', element: },
{ path: 'orders', element: },
{ path: 'assets', element: },
{ path: 'history', element: },
],
},
];
行情总览页,展示全部交易对、24 小时统计数据及资金费率。
import { MarketsHomePage } from '@orderly.network/markets';
interface MarketsHomePageProps {
// 当前选中交易对(用于高亮显示)
symbol?: string;
// 用户点击交易对时的回调
onSymbolChange?: (symbol: API.Symbol) => void;
// 资金费率对比配置
comparisonProps?: {
exchanges?: string[]; // 指定参与对比的交易所(如 'binance'、'okx')
};
// 自定义样式类名
className?: string;
}
import { useNavigate } from 'react-router-dom';
import { MarketsHomePage } from '@orderly.network/markets';
function MarketsRoute() {
const navigate = useNavigate();
return (
navigate(`/perp/${symbol.symbol}`)}
comparisonProps={{
exchanges: ['binance', 'okx', 'bybit'],
}}
/>
);
}
标签页:
交易竞赛排行榜页面,支持活动展示与排名查询。
import { LeaderboardPage } from '@orderly.network/trading-leaderboard';
import { LeaderboardPage } from '@orderly.network/trading-leaderboard';
function LeaderboardRoute() {
return ;
}
包含模块:
import { lazy, Suspense } from 'react';
import { createBrowserRouter, Navigate } from 'react-router-dom';
import App from './App';
// 按需懒加载以优化首屏性能
const TradingPage = lazy(() => import('./pages/Trading').then((m) => ({ default: m.default })));
const PortfolioOverview = lazy(() =>
import('@orderly.network/portfolio').then((m) => ({
default: m.OverviewModule.OverviewPage,
}))
);
const MarketsPage = lazy(() =>
import('@orderly.network/markets').then((m) => ({
default: m.MarketsHomePage,
}))
);
const LeaderboardPage = lazy(() =>
import('@orderly.network/trading-leaderboard').then((m) => ({
default: m.LeaderboardPage,
}))
);
const router = createBrowserRouter([
{
path: '/',
element: ,
children: [
{ index: true, element: },
{
path: 'perp/:symbol',
element: (
Loading... import { TradingPage, TradingFeatures } from '@orderly.network/trading';
;
import { TradingPage, TradingFeatures } from '@orderly.network/trading';
,
[TradingFeatures.Footer]: ,
}}
/>;
所有组件均支持 className 属性,并采用带 oui- 前缀的 Tailwind CSS 类名体系:
.custom-markets-page {
--oui-color-primary: #7b61ff;
}
所有页面组件自动适配桌面端与移动端布局:
import { useScreen } from '@orderly.network/ui';
function MyPage() {
const { isMobile, isTablet, isDesktop } = useScreen();
return isMobile ? : ;
}
npm install @orderly.network/trading
@orderly.network/portfolio
@orderly.network/markets
@orderly.network/trading-leaderboard
@orderly.network/affiliate
symbol 存入 localStorage,提升体验colorConfig 与品牌色保持一致相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章