现金贷前端交互时序 — 总览

自底向上汇总 0105 五阶段的真实前后端交互,还原现金贷前端如何驱动系统运转。各阶段含「分支清单」,方法/进展见 README。静态结构见 12-前端现状,后端时序见 00-总览

核心结论

  • 混合架构:原生 Android 壳(roovault)+ 内嵌 WebView 加载 H5 业务页(wp_h5,Vue2)。非 Flutter。
  • blc-service 是单一主入口:原生与 H5 几乎所有业务接口都经 blc-service(含登录 user/、KYC apply/bank/、查询 query/、提现还款 cust/plutus/、重授信 recredit/)。唯一直连例外:还款支付结果轮询直打 cfk-service(fcs)。
  • 三大跳转子流程是前端的共性模式:绑卡、还款支付、重授信都走「跳外部页/异步发起 → 回跳或轮询确认」。
  • 接口当前为混淆前明文,梳理无需去混淆(两层混淆见下)。

全景图

flowchart LR
    U[用户]
    subgraph 前端
        NAT[原生壳 roovault]
        H5[H5 wp_h5 WebView]
    end
    subgraph 后端
        BLC[blc-service 主入口/BFF]
        FCS[cfk-service fcs]
        BIG[大数据 SDK 平台]
    end
    subgraph 外部/系统
        SYS[系统:SMS Retriever/定位/Firebase]
        FACE[人脸 SDK Smile/Google]
        CHAN[支付通道托管页]
        PAY[Plutus 收银台]
    end

    U --> NAT
    U --> H5
    NAT -->|登录/KYC/人脸/绑卡/采集/人脸提额| BLC
    H5 -->|提现/还款/复借/重授信/提额| BLC
    H5 -.还款支付结果直连.-> FCS
    NAT -->|设备采集/埋点| BIG
    H5 -->|增信资料/客诉/S3| BIG
    NAT --> SYS
    NAT --> FACE
    H5 -.绑卡跳转.-> CHAN
    H5 -.还款支付跳转.-> PAY
    NAT -->|拉起 WebView| H5
    H5 -.JSBridge 回原生.-> NAT

后端归属(前端实证)

后端角色前端怎么用
blc-service(=bns-gateway)业务主入口/BFF原生 + H5 几乎全部业务接口;登录也收敛于此(user/+token)
cfk-service(fcs)账务直连例外cfk-service/inner/v1/activeQueryPlutusPaymentResult(还款支付结果,见 04-还款
大数据 SDK 平台采集/风控sdk-service/upload/*(设备采集)、dc/(埋点)、ccs/(增信/客诉/S3)、sdk-adapter/credit(大数据授信)
系统/外部设备侧/三方SMS Retriever、定位、Firebase、人脸 SDK(Smile/Google)、支付通道托管页、Plutus 收银台

快照差异:12-前端现状记的「独立 auth 服务 + TGT/ST」当前不成立——登录已并入 blc-service user/tudcAux 暗示 BFF 内部接 TUDC)。

三大跳转子流程(共性模式)

前端凡涉及外部交互/异步结果,都用「跳转/发起 → 回跳或轮询确认」:

子流程发起外部页回收出处
绑卡跳转routeRedirect(scene=2)支付通道托管页redirect 回跳 /addBankAccount → 刷新账户03-借款提现
还款支付generatePlutusWebOrder4ncPlutus 收银台redirect 回跳 /afterRepayment → 轮询 activeQueryPlutusPaymentResult(cfk)04-还款
重授信recredit/trigger(无外部页)轮询 recredit/reportrecreditResult05-提额复借重授信

绑卡还有后端层回调(通道→IMS→bns bindCardCallBack)与前端 redirect 是两层,别混(见 03)。

原生 ↔ H5 分工

承载
原生(roovault)登录注册、BVN/NIN 核验、人脸活体、设备采集、人脸提额、绑卡通道交互、结果页壳
H5(wp_h5)提现、还款、复借、重授信、提额(增信/调额)、合同、补件、紧急联系人更新
切换原生壳拉起 WebView;H5 经 JSBridge(H5JsInterface / native.js gotoHomeActivity)回原生;绑卡/支付经浏览器 redirect 回跳

阶段索引

阶段文件一句话分支
① 注册登录01-注册登录手机号 OTP(SMS/语音)+人脸登录 → blc user/+token18
② 实名与进件02-实名与进件BVN/NIN 核验+建客+人脸+采集,stage 驱动22
③ 借款提现03-借款提现H5 提现 + 设备检测/用途/PIN/绑卡跳转20
④ 还款04-还款Plutus 网页支付 + 还款并复借 + 支付三态21
⑤ 提额复借重授信05-提额复借重授信提额三路径/复借两类/重授信轮询19

接口路径事实(两层混淆)

  • 当前快照为混淆前明文:android MappedApi.java、H5 basePath.js 均真实路径,Retrofit/请求层直接用,无运行时映射。梳理以明文源码为准。
  • 两层混淆区分:① 前端源码字符串加密(发布构建 StringFog xor + proguard,防逆向,源码仍明文)② 后端网关路径↔token 映射(在 Apollo,前端查不到)。
  • 多包:PC=Palmcredit / NC=NewCredit,接口有 4nc/4merge 包专属变体。

关键发现汇总

发现说明出处
登录收敛进 blc-service当前无独立 auth/TGT/ST,token 机制(快照差异)01
cfk-service 直连例外还款支付结果绕过 blc 直打 fcs04
bank/bvnMatch 死接口前端定义无调用;BVN 核验实走 apply/verifyPersonalInfo(与后端注释呼应)02
还款主路径校正走 generatePlutusWebOrder4nc,submitRepayRequestion 仅还款反馈用04
三大跳转子流程绑卡/支付/重授信统一「跳转→回跳/轮询」03/04/05
设备采集贯穿登录后 init + 进件节点 → 大数据 SDK(非 blc)02
当前未启用社交登录、自动登录(字段/组件在但注释/无调用)01
待确认再进件 30 天带出(产品定义有,前端未核实到实现)02

图例

标记含义
实线 -->前端直接 HTTP 调用
虚线 -.->跳转/回跳/直连例外/JSBridge
已展开 / 链出 / 暂略 / 待确认各阶段分支清单的处理状态