一个安全的币安合约交易数据监控面板,采用前后端分离架构,保护API密钥安全。
- 🔒 安全架构: API密钥仅存储在服务器端,前端无法访问
- 📊 实时数据: 60秒自动刷新,显示最新的账户和交易数据
- 💰 盈亏分析: 自定义基准日期,计算总盈利、盈利率等关键指标
- ⚙️ 灵活配置: 独立配置文件,轻松调整初始资金和跟单日期
- 📱 响应式设计: 完美适配桌面和移动设备
- ⚡ 高性能: 使用Render云平台,稳定可靠
- 🎯 专注合约: 只显示期货合约相关数据,过滤现货交易
- 总资产折合 (USDT)
- 总盈利 (自2025-10-25以来)
- 总盈利率 (自2025-10-25以来)
- 未实现盈亏
- 未实现盈亏率
- 最大盈利 / 最大损失 (自2025-10-25以来)
- 币种
- 方向 (LONG/SHORT)
- 开仓价格
- 标记价格
- 持仓量
- 未实现盈亏
- 收益率
- 保证金
- 最近25笔合约交易
- 成交价格、数量、金额
- 手续费
- 交易时间
- Node.js + Express 框架
- 币安合约API集成
- HMAC-SHA256签名验证
- CORS支持
- 环境变量管理
- 原生JavaScript (ES6+)
- CSS Grid + Flexbox 响应式布局
- Font Awesome 图标
- 60秒自动刷新机制
- Render (Web Service)
git clone <repository-url>
cd nof1-tracker-dashboardnpm install- 登录币安账户,创建只读权限的API密钥
- 创建
.env文件(参考.env.example):BINANCE_API_KEY: 你的币安API KeyBINANCE_SECRET_KEY: 你的币安Secret KeyUSE_TESTNET:false(主网) 或true(测试网)
# 启动开发服务器
npm start访问 http://localhost:3000 查看应用。
- 在 Render 创建账户
- 连接你的 GitHub 仓库
- 创建新的 Web Service
- 配置构建和启动命令:
- Build Command:
npm install - Start Command:
npm start
- Build Command:
- 在 Environment 中添加环境变量
- 点击 Deploy
或直接通过 Render GitHub 集成自动部署。
在 Render 项目的 Environment 设置中添加以下环境变量:
| 变量名 | 描述 | 示例值 |
|---|---|---|
BINANCE_API_KEY |
币安API Key | XAbc123... |
BINANCE_SECRET_KEY |
币安Secret Key | s3cr3tK3y... |
USE_TESTNET |
是否使用测试网络 | false |
GET /api/account- 获取账户信息GET /api/positions- 获取当前仓位GET /api/trades?limit=25- 获取交易记录GET /api/config- 检查API配置状态
✅ 安全措施:
- API密钥仅存储在服务器端环境变量
- 使用只读权限API密钥
- 前端无法访问敏感信息
- HTTPS加密传输
- 请确保API密钥只有只读权限
- 定期轮换API密钥
- 监控API使用情况
- 不要在代码中提交密钥
项目使用独立的配置文件 trading-config.js 来管理交易参数。修改配置后需要重启服务器生效。
配置文件位置: trading-config.js
const TRADING_CONFIG = {
// 初始资金配置
initialAssetValue: 140, // 初始钱包余额 (USDT)
initialAssetValueCurrency: 'USDT',
// 跟单日期配置
baseDate: '2025-10-25T00:00:00+08:00', // 基准日期(用于计算盈利和统计的开始时间)
baseDateDisplay: '2025-10-25', // 页面显示的日期格式
// 应用配置
appName: 'DeepSeek Chat V3.1', // 跟踪代理名称
appTitle: '交易数据监控面板', // 页面标题
// 刷新配置
refreshInterval: 60, // 自动刷新间隔(秒)
refreshButtonText: '下次刷新', // 刷新倒计时显示文本
// 显示文本配置
display: {
dateTextPrefix: '自',
dateTextSuffix: '以来'
}
};配置说明:
| 参数 | 类型 | 说明 | 示例值 |
|---|---|---|---|
initialAssetValue |
Number | 初始资金金额,用于计算总盈利 | 140 |
baseDate |
String | 跟单开始时间,用于筛选交易记录 | '2025-10-25T00:00:00+08:00' |
baseDateDisplay |
String | 页面显示的日期格式 | '2025-10-25' |
appName |
String | 跟踪代理名称,显示在页面顶部 | 'DeepSeek Chat V3.1' |
appTitle |
String | 页面标题,显示在浏览器标签页 | '交易数据监控面板' |
refreshInterval |
Number | 自动刷新间隔时间(秒) | 60 |
refreshButtonText |
String | 刷新倒计时显示的文本 | '下次刷新' |
使用步骤:
- 编辑
trading-config.js文件 - 修改相应的配置值
- 重启服务器:
npm start
-
"后端API密钥未配置"错误
- 检查 Render 环境变量是否正确设置
- 确认API密钥格式正确
-
"数据更新失败"错误
- 检查网络连接
- 验证币安API服务状态
- 确认API密钥权限正确
-
页面无法加载
- 检查 Render 部署状态和日志
- 验证服务是否正常运行
-
配置修改后未生效
- 确认已修改
trading-config.js文件 - 重启服务器:
npm start - 检查浏览器缓存,尝试强制刷新(Ctrl+F5)
- 确认已修改
-
盈利计算不正确
- 检查
initialAssetValue是否设置正确 - 确认
baseDate设置为正确的跟单开始日期 - 验证币安交易记录是否包含指定日期后的数据
- 检查
打开浏览器开发者工具查看控制台日志:
// 查看详细API调用日志
console.log('API请求:', request);
console.log('API响应:', response);nof1-tracker-dashboard/
├── api/ # API路由
│ ├── account.js # 账户信息API
│ ├── positions.js # 仓位信息API
│ ├── trades.js # 交易记录API
│ └── config.js # 配置检查API
├── binance-tracker.html # 主页面
├── styles.css # 样式文件
├── script.js # 前端JavaScript
├── trading-config.js # 交易配置文件 ⭐
├── server.js # Express服务器
├── package.json # 项目配置
├── .env.example # 环境变量示例
├── .gitignore # Git忽略文件
└── README.md # 项目文档
⭐ 新增文件:
trading-config.js- 交易参数配置文件,用于设置初始资金和跟单日期
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如有问题或建议,请:
- 创建 Issue
- 联系开发团队