架构总览
DaxPay 由多个独立 git 仓库的子项目协同构成。主应用负责支付核心与通道路由编排,通过 HTTP 调用直连 / 聚合 / 国际三类独立通道子服务,形成 20+ 通道能力(直连内置,聚合与国际通道按扩展包和版本提供),实现通道 SDK 隔离、独立升级与弹性伸缩。前端多端 (Web / H5 / 小程序) 通过 RESTful API 接入主应用。
各子项目均为独立 git 仓库、独立版本号,仅本地联调时可聚合到同一工作区;生产部署各自独立打包、独立发布。
调用关系
子项目职责
| 子项目 | 端口 | 职责 |
|---|---|---|
dax-pay-open | 9999 | 支付核心、通道路由编排、风控、IAM 权限、系统管理 |
dax-pay-channel-one | 20100 | 对接支付宝/微信/抖音/银联商务/银联(云闪付)直连通道 (Java) |
dax-pay-channel-one-go | 20100 | 与 Java 版对等的 Go/Gin 实现,按需选用 |
dax-pay-channel-two | 20200 | 对接拉卡拉/海科融通/乐刷等聚合通道 (Java) |
dax-pay-channel-two-go | 20200 | 与 Java 版对等的 Go/Gin 实现,通道逐步补齐,按需选用 |
dax-pay-channel-three | 20300 | 对接 Stripe 等国际支付通道 (Java) |
dax-pay-ui | 6999 / 7999 | 运营端 (admin) / 商户端 (merchant) 管理后台 |
dax-pay-h5 | 9500 | 收银台、移动端网关 (PC + Mobile 双端) |
dax-pay-app-admin | — | 运营端跨端应用 (H5/微信/支付宝/抖音/App) |
dax-pay-app-merchant | — | 商户端跨端应用 (H5/微信/支付宝/抖音/App) |
dax-pay-mini-cashier | — | 收银小程序 (微信/支付宝/抖音) |
技术栈一览
| 层级 | 技术 |
|---|---|
| 主应用 | Java 25 · Spring Boot 4.1.1 · PostgreSQL 14+ · Redis 7+ · Apache Artemis · MyBatis-Plus 3.5 · Sa-Token 1.45 · SpringDoc 3.0 · MapStruct 1.6 |
| 通道子应用 | Java 25 · Spring Boot 4.1.1 (同主应用) / Go 1.26 · Gin 1.12 |
| Web 管理端 | Vue 3.5 · Vite 8 · antdv-next · Vben Admin 5 · vxe-table 4 · TailwindCSS 4 · pnpm + Turbo |
| H5 端 | Vue 3.5 · Vite 8 · Vant 4 · UnoCSS · postcss-mobile-forever |
| 小程序端 | uni-app · unibest 4 · wot-ui v2 · Vue 3.4 |
| 运维面板 | Go · embed 单二进制 · Vue 3 · Docker Compose 编排 |
| 权限 | Sa-Token (token name: Accesstoken) · RBAC |
| 接口 | RESTful (kebab-case) · RSA 签名 · AES-GCM 加密 |