Skip to content

应用介绍 ​

更新时间:2026/10/15 17:44:21

DaxPay 由多个独立 git 仓库的子项目协同构成,主应用通过 HTTP 调用各独立通道子服务,前端多端通过 RESTful 接入主应用。下面分别介绍各应用。

主应用 dax-pay-open ​

支付核心后端,承载支付业务、通道路由编排、风控与系统管理。

模块职责
daxpay-platform基础层 — 通用契约 / 技术设施 / 平台能力 / 业务服务
daxpay-payment支付业务 — 领域内核 / 运营与商户端 / 统一收单 / 双移动端
daxpay-channel通道业务 — 20+ 通道能力的编排层 (路由/策略/配置 CRUD,不含 SDK)
daxpay-plugin支付插件 — 易支付协议、风控黑名单
daxpay-demo功能演示模块
daxpay-start启动入口

技术栈: Java 25 · Spring Boot 4.1.1 · PostgreSQL 14+ · Redis 7+ · Apache Artemis · MyBatis-Plus 3.5 · Sa-Token 1.46 · SpringDoc 3.0 · MapStruct 1.6 · Hutool 5.8 · Caffeine 3.2 · BouncyCastle 1.84

端口: 9999

启动:

bash
cd dax-pay-open/daxpay-start
mvnd spring-boot:run -Dspring-boot.run.profiles=dev

通道子应用 dax-pay-channel-one ​

对接支付宝、微信、抖音、银联商务、银联(云闪付)等直连通道的独立部署微服务,承载第三方 SDK 的直接调用。

模块说明
daxpay-platform基础层 — core + common (util/json/i18n) + service-system
daxpay-channel-impl通道实现 — alipay / wechat / douyin / ums / union 五个子模块
daxpay-channel-start启动入口

SDK 版本: alipay-sdk 4.40.272.ALL · weixin-java-pay (wxjava) 4.8.4.B · douyinpay 1.0.6 · UMS 自研 HTTP 对接 · 银联(云闪付)自研 HTTP + RSA2 证书签名

与主应用通信 — 主应用通过 @HttpExchange 声明式客户端调用,链路 AES-GCM 加密,响应统一 {code, msg, data}

端口: 20100

通道子应用 dax-pay-channel-two ​

对接聚合通道的独立部署微服务,与 channel-one 架构完全相同,区别在于承载的通道集合。

模块说明
daxpay-platform基础层 (与 channel-one 同构)
daxpay-channel-impl通道实现 — 九个聚合通道子模块 (清单见下方已对接通道)
daxpay-channel-start启动入口

已对接通道 — 拉卡拉、海科融通、斗拱 (汇付天下)、乐刷、随行付、河马付 (杉德)、Adapay、富友、易宝(九通道均已实现并启用)

SDK 版本 — 各聚合通道 SDK + yeepay 4.4.15

端口: 20200

通道子应用 dax-pay-channel-three ​

对接国际支付通道的独立部署微服务,架构与 channel-one 完全相同,区别在于承载的通道集合。

模块说明
daxpay-platform基础层 (与 channel-one 同构)
daxpay-channel-impl通道实现 — stripe 子模块
daxpay-channel-start启动入口

SDK 版本 — stripe-java 29.2.0

与主应用通信 — 同 channel-one,链路 AES-GCM 加密,主应用经 daxpay.channel.three 路由调用

端口: 20300

Go 实验副本 ​

dax-pay-channel-one-go 与 dax-pay-channel-two-go 分别是 channel-one / channel-two 的 Go (Gin) 实现,属实验副本:实验性质,不在主线支持范围与文档主流程内,生产部署请使用 Java 版。

  • 端口与 Java 版完全重叠 (20100 / 20200),二选一,勿同时启动
  • 不依赖第三方 SDK,全部自研 HTTP 签名对接;已实现通道以各仓库 README 为准
  • 构建方式: go build ./cmd/server/,配置读取 configs/config.yaml

Web 管理端 dax-pay-ui ​

管理后台前端,基于 Vue Vben Admin 5 二次开发的 monorepo,同源编译出运营端与商户端两个独立应用。

子应用定位dev 端口VITE_APP_CLIENT_CODE
apps/daxpay-admin运营 (管理) 端 — 平台运营方使用6999admin
apps/daxpay-merchant商户端 — 商户自助使用7999merchant

两端共用 packages/ 下的框架包 (@core / effects / locales / stores / utils 等) 与 packages/business/ui-biz 业务组件库,通过菜单 client_code 与权限码实现端级隔离。

dax-pay-ui/
├── apps/
│   ├── daxpay-admin/         # 运营端应用
│   └── daxpay-merchant/      # 商户端应用
├── packages/                 # 核心包 (@core / effects / business / locales ...)
├── internal/                 # 内部工具 (lint / tsconfig / vite-config)
└── scripts/                  # 脚本 (deploy / turbo-run / vsh)

技术栈 — Vue 3.5 · Vite 8 · TypeScript 5.9 · antdv-next · vxe-table 4 · Vben Admin 5 · TailwindCSS 4 · vue-i18n 11 · pnpm 10 + Turbo 2.9

国际化 — 10 语种 (中日韩 + 东盟四语 + 繁体台港),框架层与应用层消息合并加载

启动:

bash
pnpm run dev:admin       # 运营端 6999
pnpm run dev:merchant    # 商户端 7999

移动 H5 端 dax-pay-h5 ​

移动端网关应用,单应用同时承载 PC 与移动两套完全独立的页面,由入口设备探测分发。

  • 设备探测 — index.html 在 Vue 挂载前写入 window.__DEVICE__ ('pc' | 'mobile'),零闪烁
  • 目录分离 — 移动端代码在 src/mobile/,PC 端在 src/pc/,公共代码在 src/shared/
  • 移动适配 — postcss-mobile-forever 做 vw 适配;PC 源码被排除出 vw 转换,使用原生 px + 媒体查询
  • 路由三桶 — 真实路由 / 对端独占存根 / catch-all 404,单一 URL 空间两端各自解析

技术栈 — Vue 3.5 · Vite 8 · Vue Router 5 · Vant 4 (移动端) · UnoCSS 66 · Pinia 3 · vue-i18n 11

端口 (dev): 9500

国际化 — 10 语种

启动: pnpm run dev

运营端跨端应用 dax-pay-app-admin ​

面向平台运营方的管理类 uni-app 应用,基于 unibest 4 (uni-app + Vue 3) 二次开发,一次开发多端编译。对应 Web 运营端 (apps/daxpay-admin),调用 /app-admin/ 接口管理商户、门店、用户、应用等资源。

维度实现
UI 库@wot-ui/ui (wot-ui v2,组件前缀 wd-*)
列表z-paging
样式UnoCSS (carbon 图标集)
国际化vue-i18n

编译目标 — H5 / 微信小程序 / 支付宝小程序 / 抖音小程序 / App (Android / iOS)

页面结构 — tabBar 三项 (工作台 / 应用 / 我的) + 商户管理子包 (pages-merchant) + 支付配置子包 (pages-payment) + 系统设置子包 (pages-system)

国际化 — 全端 10 语种;小程序端条件编译仅中英 (繁体/日韩/东盟仅 H5 与 App 打入)

启动与构建:详见跨端应用。

商户端跨端应用 dax-pay-app-merchant ​

面向商户自助的管理类 uni-app 应用,与 dax-pay-app-admin (运营端) 对标,技术栈一致 (unibest 4 + wot-ui v2)。商户通过它管理自己的订单、门店、用户、应用与支付配置。

维度实现
UI 库@wot-ui/ui (wot-ui v2,组件前缀 wd-*)
列表z-paging
样式UnoCSS (carbon 图标集)
国际化vue-i18n

编译目标 — H5 / 微信小程序 / 支付宝小程序 / 抖音小程序 / App (Android / iOS)

页面结构 — tabBar 三项 (工作台 / 应用 / 我的) + 认证子包 + 协议页 (隐私政策 / 用户协议)

启动与构建:详见跨端应用。

收银小程序 dax-pay-mini-cashier ​

面向最终消费者的收银类小程序,技术栈与 dax-pay-app-admin 一致,但定位极简收银。

维度实现
编译端微信小程序 / 支付宝小程序 / 抖音小程序 (无 App / H5)
页面首页 / 认证 / 支付 / 结果 (4 页,全自定义导航)
子包无 (极简)
国际化仅中英

与 dax-pay-app-admin 的差异 — 后者是功能完整的运营端管理应用 (30+ 页面);前者是面向最终消费者的极简收银台,无 tabBar、无子包、依赖精简。

启动: pnpm run dev:mp-weixin (默认微信小程序)