2.6 KiB
2.6 KiB
NAC Lens 区块链浏览器 SPA 升级报告
工单编号: LENS-SPA-001
日期: 2026-03-07
执行人: NAC Admin
状态: ✅ 已完成
任务描述
将 lens.newassetchain.io 区块链浏览器从 PHP 单页面升级为 BSCScan 级别的 SPA(单页应用)前端。
完成内容
1. 前端 SPA 开发
- 文件:
services/nac-explorer-api/frontend/index.html - 规模: 1786 行,72KB
- 技术栈: 原生 HTML5 + CSS3 + JavaScript(无框架依赖)
- UI 框架: Bootstrap 5.3 + Bootstrap Icons(CDN 引用)
- 设计风格: 深色主题,NAC 品牌色(#00d4ff 蓝色)
2. 功能模块
| 模块 | 功能 | 状态 |
|---|---|---|
| 首页仪表盘 | 网络统计、最新区块、最新交易 | ✅ |
| 区块列表 | 分页浏览所有区块 | ✅ |
| 区块详情 | CBPP 共识信息、交易列表 | ✅ |
| 交易列表 | 最新交易浏览 | ✅ |
| 交易详情 | 完整交易信息 | ✅ |
| 地址详情 | 余额、交易历史 | ✅ |
| 合约详情 | Charter 合约信息 | ✅ |
| RWA 资产 | 资产列表和详情 | ✅ |
| 全局搜索 | 区块/交易/地址搜索 | ✅ |
| 实时刷新 | 30秒自动更新 | ✅ |
3. API 修复
- 文件:
services/nac-explorer-api/dist/index.js - 修复地址交易查询:支持带/不带 0x 前缀的 NAC 地址(64字节 hex 格式)
- 地址格式规范化:
addrNorm = address.startsWith("0x") ? address.slice(2) : address
4. Nginx 配置更新
- 文件:
/www/server/panel/vhost/nginx/lens.newassetchain.io.conf - 支持 SPA 路由(
try_files $uri $uri/ /index.html) - API 代理到 9551 端口(nac-explorer-api)
- 启用 Gzip 压缩
- 添加 CORS 头
- SSL/TLS 配置(TLSv1.2 + TLSv1.3)
测试结果
| 测试项 | 结果 |
|---|---|
| HTTPS 访问 | ✅ HTTP 200 |
| API 代理 | ✅ HTTP 200 |
| 网络统计 | ✅ 区块高度 8259 |
| 地址交易查询 | ✅ 1 条交易 |
| Manus 内联检查 | ✅ 0 处(无 Manus 内联) |
| SPA 路由 | ✅ 正常 |
旧版本备份
旧版 PHP 文件已备份至:
/www/wwwroot/lens.newassetchain.io/backup_20260307_194649/index.php/www/wwwroot/lens.newassetchain.io/backup/(历史备份)
访问地址
- 前台: https://lens.newassetchain.io
- API: https://lens.newassetchain.io/api/v1/network/stats
- API 服务端口: 9551(本地)
后续工作
- 待 NVM 状态层完成后,接入真实地址余额查询
- 待更多交易数据后,优化分页和搜索性能
- 可考虑添加 WebSocket 实时推送(NRPC4.0 协议)