1. 页面概览
HCC 管控台是 LightSwift 的接收端与管控中枢,路由 /swift/hcc,对应源码 action/web/src/views/SwiftHCCPage.vue(M5.4c)。页面以五个标签页组织:态势(星座/地面站拓扑、链路延迟、交易统计与链路断链仿真)、交易(结算记录与会计分录)、风控/合规(一键端到端 10 步演示、篡改拒绝演示与审计事件)、对账(借贷平衡校验与对账报告)、账户(结算账户列表与开户)。HCC 负责接收解密验签、合规筛查、风控评估、内部结算(复式记账)与对账回执。
链路仿真参数可配置丢包率与延迟,模拟星地断链并触发报文自动补发。一句话总结:HCC 管控台是 LightSwift 结算侧的全景管控、风控合规演示与对账审计工作台。
2. 访问入口
- 路由与菜单:
/swift/hcc(SwiftLayout 子路由),nameSwiftHCC,标题「Swift HCC 管控台」;无requiresAuth,onMounted校验swift_token,未登录自动回/swift。 - 认证与权限:使用独立
swift_token;本页全部接口挂 admin 中间件(console 分组),仅 admin 角色可用,非 admin 返回 403。 - 端口与 API 前缀:Swift 后端 18084,前端前缀
/swift-api(Vite 代理重写为/api/v1)。
3. 界面布局
+--------------------------------------------------------------+
| 子导航:工作台 | 报文实验室 | GAC 报文工具 | HCC 管控台(激活) |
+--------------------------------------------------------------+
| 页头:HCC 管控台 [刷新全部] |
+--------------------------------------------------------------+
| 标签栏:态势 | 交易 | 风控/合规 | 对账 | 账户 |
+--------------------------------------------------------------+
| 态势:统计卡(交易笔数/金额/已结算/处理中) |
| 链路仿真参数(M5.5):丢包率/延迟输入 + [应用配置] |
| 在轨卫星 chips + 地面站表(在线/断链/待补发帧/[断链][恢复]) |
| 链路延迟表(起点/终点/延迟ms) |
+--------------------------------------------------------------+
| 交易:结算记录表 + 会计分录表(借/贷/记账后余额) |
+--------------------------------------------------------------+
| 风控/合规:[运行合规演示][查看最近演示] 10 步流水 |
| 篡改拒绝演示(M5.5):[篡改拒绝演示] 控制组 vs 篡改组卡片 |
| 审计事件表 |
+--------------------------------------------------------------+
| 对账:[借贷平衡校验][生成对账报告] 结果 + 账户日终汇总表 |
+--------------------------------------------------------------+
| 账户:开户表单(开户ID/机构名/类型/币种/初始余额) [开户] |
| 结算账户表(余额/状态/冻结) |
+--------------------------------------------------------------+
各板块职责:态势标签页提供交易统计、链路仿真参数配置、在轨卫星/地面站/链路延迟视图与断链恢复模拟;交易标签页展示结算与会计分录;风控/合规标签页运行一键演示与篡改拒绝演示并列出审计事件;对账标签页做借贷平衡校验与对账报告;账户标签页开户与查看结算账户。
4. 交互元素
| 控件 | 位置 | 含义与作用 |
|---|---|---|
| 刷新全部按钮 | 页头 | 并行刷新拓扑、结算、分录、审计、账户与演示状态(loadAll) |
| 标签栏(态势/交易/风控/合规/对账/账户) | 页头下方 | 切换五个标签页,各标签独立加载对应数据 |
| 链路仿真参数输入 + 应用配置 | 态势 | 星地/星间丢包率与延迟(0 表示沿用默认:延迟 20-50ms、丢包率 0=无损确定性链路),调 POST /network/config 重建网关 |
| 断链 / 恢复按钮 | 态势·地面站表 | 调 POST /network/link/{dest_area}/offline 模拟区域断链/恢复,返回待补发帧数 |
| 运行合规演示 / 查看最近演示 | 风控/合规 | POST /demo/run 执行一键端到端 10 步演示;GET /demo/status 查看最近结果 |
| 篡改拒绝演示按钮 | 风控/合规 | POST /security/tamper-test 冒烟:合法报文签名+加密、链路篡改密文、HCC 验签解密应拒绝 |
| 借贷平衡校验 / 生成对账报告 | 对账 | POST /admin/balance/validate 与 GET /admin/reconciliation,输出平衡断言与账户日终汇总 |
| 开户表单 + 开户按钮 | 账户 | 填开户 ID/机构名/类型/币种/初始余额(元),POST /admin/accounts 开户并落库 |
5. 后端关联
API 客户端:swiftClient.js,baseURL /swift-api/v1,timeout 30000;成功 {code:0, data} 自动解包。
端点表:
| 方法 | 路径 | 用途 |
|---|---|---|
| GET | /network/topology | 星座/地面站/链路延迟快照与交易统计(snapshot / areas) |
| POST | /network/link/:dest_area/offline | 模拟地面站区域断链/恢复 {offline} |
| POST | /network/config | 更新链路仿真参数(丢包率/延迟),0 沿用默认 |
| POST | /security/tamper-test | 国密全链路篡改拒绝冒烟(M5.5) |
| GET | /admin/settlements | 结算记录(默认 limit 100,按时间倒序) |
| GET | /admin/journal | 全部会计分录(内存 ledger) |
| POST | /admin/balance/validate | 借贷平衡校验 {balanced, nonzero[]} |
| GET | /admin/reconciliation | 对账报告(平衡断言、账户日终汇总、diff 清单、text 中文表格原文) |
| GET | /admin/audit | 审计事件(默认 limit 100,支持 offset/event_type) |
| GET | /admin/accounts | 结算账户列表 |
| POST | /admin/accounts | 开户 {id, owner, type, currency, balance(定点分)} |
| POST | /demo/run | 一键端到端 10 步演示 |
| GET | /demo/status | 最近一次演示结果 |
关键机制:
- admin 全挂载:本页所有接口位于 console 分组,
JWT + adminMiddleware双重校验,与 GAC/报文实验室的 JWT-only 形成权限分层。 - 链路仿真(M5.5):
/network/config输入丢包率与延迟重建网关与态势聚合;断链后待补发帧数在areas[stationId].pending展示,恢复后自动补发。 - 篡改拒绝演示:
/security/tamper-test返回控制组(未篡改,应解密验签成功)与篡改组(链路翻转密文字节,应被拒绝)双卡片,conclusion汇总结论,成功后刷新交易与审计。 - 对账闭环:
/admin/balance/validate断言借贷平衡(封闭系统);/admin/reconciliation返回total_debit/total_credit/matched_count/mismatch_count/diff_list与账户日终汇总,text为后端中文表格原文。 - 金额统一定点分:接口金额为 int64 分,页面
fenToYuan转元展示;账户表balance为后端 AmountStr 字符串直接展示。
6. 权限与安全
- 认证:全部请求附
swift_tokenBearer,401 清 token 回/swift。 - 角色限制:本页所有端点挂 admin 中间件(
config.App.AdminRoleName缺省 "admin"),非 admin 返回 403,与 GAC 用户侧功能区分。 - 写操作防护:断链/恢复、应用配置、运行演示、开户等写操作均记录审计事件(如
swift.account.open),操作结果与执行用户可追溯。
7. 常见问题与排错
问题 1:全部接口 403 报错
现象:进入 HCC 后各标签加载失败,提示权限错误。
原因:本页所有接口需 admin 角色,当前 swift_token 对应非 admin 用户。
处理:用 seed 默认 admin/admin1 登录后再进入本页。
问题 2:态势加载失败 / 快照为空
现象:统计卡为 0、地面站表空,或弹「态势加载失败」。
原因:/network/topology 请求失败,后端未启动或 token 失效。
处理:确认 18084 进程存活并重新登录;Network 面板查 401/404。
问题 3:断链后报文迟迟不达
现象:地面站标记「已断链」,发往该区域的报文无链路结果。
原因:星地链路被模拟断链,报文挂起等待补发。
处理:在该地面站行点「恢复」按钮,观察待补发帧数变为 0 并刷新态势。
问题 4:一键演示存在失败步骤
现象:演示结果徽标「失败」,10 步列表中某步骤为失败。
原因:链路上游环节(如生成/签名/加密/链路/合规/风控/结算/对账/回执)出错。
处理:按失败步骤的 detail 定位环节,检查链路配置与账户余额后重跑。
问题 5:借贷平衡校验提示不平衡
现象:对账标签显示「借贷不平衡」且非零账户列表非空。
原因:存在异常分录或手工调整未闭环。
处理:点击「生成对账报告」查看 diff 清单与账户日终汇总定位异常账户。
8. 已知缺陷与边界
| 项 | 说明 |
|---|---|
| 全页依赖 admin | 非 admin 账号无法使用本页任何能力 |
| 无分页控件 | settlements/audit 仅固定 limit 100,前端无翻页 |
| 篡改演示为冒烟 | tamper-test 只验证加密完整性拒绝,不覆盖重放/中间人全场景 |
| 账户表余额为字符串 | balance 直接展示后端 AmountStr(元字符串),不做格式化 |
| 无自动轮询 | 各标签数据需手动「刷新全部」,断链补发状态不实时推送 |