跳转到内容

2026-06-23

fomoadmin 管理后台 全天主线 FEAT-017 管理后台增强:用户统计 / 第三方代币纳管 / NovaSwap 选币展示 三页从 Mock 切真实 BE。承接 06-22 NovaPay 收口,今日 zz 推送 FEAT-017 后端接口文档后开工:① 拉文档(GitLab VPN 不通,改走公开镜像 team-docs.pages.dev 口令门拉 12 份接口文档落地 .docs/);② 对接 11 个 admin 接口 + 新增 ajaxUpload multipart 助手;③ 按手测反馈连续收口(用户总数取全局 total、基础币硬展示、星号联动、预览列表固定高度滚动);④ COMMON BASE 是否保留的多轮需求澄清(zz「不需要」↔ PRD 原型「任意已展示币可标」,查原文 + zz 确认接口存在 → 保留)。

FEAT-017 接口文档拉取(应急通道)

Section titled “FEAT-017 接口文档拉取(应急通道)”
  • GitLab VPN 不通 → 走公开镜像 —— gitlab.ironetwork.com 当时连不上(HTTP 000)。改走公开文档镜像 team-docs.pages.dev(口令门 /api/verify project=iro-bsc),抓取 Astro Starlight 页面提取正文转 Markdown,把 FEAT-017 全部 12 份接口文档(用户统计 1 / 代币管理 4 / 选币展示 6 / 用户端公开 1)落地 .docs/iro-bsc/backend/

FEAT-017 主体对接(11 个 admin 接口)

Section titled “FEAT-017 主体对接(11 个 admin 接口)”
  • a9de5c9用户统计 / 第三方代币 / 选币展示对接真实 BE —— api.js 新增 11 个 admin 端点(挂 @see 指文档);axios.js 新增 ajaxUpload multipart 助手(复用 http 实例注入 X-Admin-Token、contract_address 走 query)。
    • 用户管理:启用 loadStats()user/stats,4 项统计接真值、降级 --
    • 代币管理:统计卡接 token/manage/stats(平台 RWA + v1/v2 拆分、第三方总数/上架/下架);第三方 tab 接 列表(分页+status+keyword)/ 上下架 / logo 上传,切 tab 懒加载、写操作 tpBusy 防重复提交。
    • 选币展示:接 已展示清单 / 代币池(服务端分页)/ 加入 / 移除 / 拖拽(乐观更新+失败回滚)/ COMMON BASE 六接口;来源 1=平台 / 2=第三方。
  • 05522d2用户总数改全局 total + 预览硬展示基础币 —— 用户总数从列表 countuser/stats.total(不随地址搜索变);右侧预览硬展示 BNB/USDT。
  • ed8bba4预览列表行尾星与 COMMON BASE 联动 —— 行尾星按 is_common_base 亮 ★/☆,与左侧 ★ 列、顶部 COMMON BASES 一致。
  • 7078052预览代币列表固定高度内部滚动 —— .tokensmax-height:320px + overflow-y:auto,超出内部滚动、不撑高预览框。

跨端需求澄清与协作(无 commit)

Section titled “跨端需求澄清与协作(无 commit)”
  • 用户端公开接口归属 —— GET /api/token/display/listed(NovaSwap 选币弹窗)按 CLAUDE.md 不接入本仓库,属用户前端。
  • COMMON BASE 多轮拉锯 —— zz 指「不需要、是设置是否基础币」;查需求原文(story-05 业务规则 / AC5 / BE-005)+ PRD 原型(COMMON BASES 含 RWAB/CSY)举证平台/三方币均可标;zz 最终确认「接口是有的、用户端也返回该字段、后端做了记录」→ 保留 COMMON BASE(曾一度按 zz 口径删整列,经原型+确认后回退)。
  • 需求 vs 实现对账 —— 逐条核对 story-01/04/05 + qa.md,11 个 admin 接口对齐 AC;指出口径差:平台 RWA 缺图代币 logo 上传无 BE 端点(BE 只交付 third-party/logo)。

NovaSwap 用户端选币弹窗(fomopaddapp,与 admin FEAT-017 配套)

Section titled “NovaSwap 用户端选币弹窗(fomopaddapp,与 admin FEAT-017 配套)”
  • 对接用户端公开接口 GET /token/display/listed812c0503)—— admin 侧维护的「已展示清单」在 NovaSwap「选择代币」弹窗落地:主列表 + COMMON BASES 改由该接口驱动,替换原静态 token 列表 + firstCoin hack。token_address 定位代币、useMultipleContractSingleData 批量链上读 decimals(合规:模块级 options、[] callInputs)、logo_url 经 WrappedTokenInfo 出图;基础币 BNB/USDT 前端硬展示置顶、COMMON BASES 由 is_common_base 子集驱动(WBNB 不入)。
  • 推动并链上核验 listed 补字段 —— 接口原只返回 symbol、无合约地址(kline UDF 实测也不返回地址);推动 zz 在 listed 补 token_address/pair_address。读 pair token0/token1 核验,发现 token_address 对所有币都误返回计价币 USDT 的数据 bug,给出各币正确地址,zz 修复。
  • 排查”列表只剩 BNB/USDT”的前端坑 —— 定位 ajaxGet 对该接口返回的是内层 data{list, common_bases})而非整 body,原 data?.data?.list 多取一层取空 → 改兼容取值 data?.list,并加按地址去重防 key 撞车塌行。
  • USDT 基础币特殊处理e0e412b4)—— 选币弹窗 USDT 隐藏收藏星标(基础币不可收藏);非 RWA 详情页直链/分享链接(?share=1)访问计价币地址时 history.replace('/swap') 回退兑换页。复用 getAllQuoteTokenAddresses 统一判定、跨链生效。
  • 选币列表保留用户自添加币be29ea29)—— 在后台清单基础上并入 userAddedTokens:用户按地址搜到点”添加”即写 localStorage 常驻、跨会话保留、可”移除”;后台清单币/USDT 不显添加/移除。(曾一度删”添加”按钮,经”AAAA 等三方币是否复用’通过地址找到’文案”的讨论后按用户要求回退保留。)
  • NovaPay 企业级二维码 ID 撞车排查(无 commit) —— 两个经纪商钱包生成同一 PF-RQLSALRS:经链路核验定位为后端三方富化问题(前端仅透传),二维码 ID 取自 GET /payfi/enterprise/my-applicationsexternal_user_id/issued_qr_code_id,分析 qr_code_id 来源链交后端定位。
  • 测试服发布 —— 源码提交 master-v2 → 同步 test(快进/合并)→ 还原测试服 deploy.sh(iro-dapp-test) → build:bsc:test → 提交产物 → push origin test(314fcce67d268d03)。
  • 用户端公开接口不接本仓库:fomoadmin 仅后台、不承载用户前端。
  • 基础币 BNB/USDT 前端硬展示、不归后台管display/listed 不返回基础币,FE 硬展示于预览顶部、不进可管理清单。
  • COMMON BASE 保留且任意已展示币可标:按 PRD 原型+zz 确认,平台/三方币均可 ★ 设为 COMMON BASE,调 display/common-base
  • 用户总数取全局 total:统计卡全平台口径,不随搜索过滤变化。
  • 文档拉取应急走公开镜像:GitLab VPN 不通时 team-docs.pages.dev 口令门镜像作临时只读通道。
  • 三页待 QA 在 test-api 真实登录态手测过 AC 才收口。
  • COMMON BASE 文档措辞待 zz 对齐:story-05 AC5 / QA-007 字面仍写「★ 可标记」,与 zz 群里一度「不需要」口径不一;功能已按原型保留,建议 zz 文档定稿避免 QA 按旧 AC 提 bug。
  • 平台 RWA 缺图代币 logo 上传无 BE 端点:BE 仅交付 third-party/logo,overview 提到「及缺图的代币」,待 zz 确认是否本期范围。
  • 跟进 QA 对 FEAT-017 三页复测反馈,按需收口。
  • 待 zz 确认:① COMMON BASE 文档口径定稿;② 平台 RWA 缺图代币 logo 上传是否本期范围。
  • 视「基础币是否进左侧可管理清单」(原型 vs 已交付 BE 口径差)的决定配合调整。