项目运行
本页是运行 DaxPay 的总入口,帮你按场景选择最合适的运行方式,并给出前置依赖与启动后的验证方法。
运行方式速览
| 方式 | 适用场景 | 说明 |
|---|---|---|
| 一键部署 | 生产部署、可视化管理 | DaxPay 运维面板,向导式完成部署与日常运维,推荐生产环境 |
| 项目构建 | 二次开发、定制部署 | clone 源码后 mvnd / pnpm 编译,适合需要修改源码的场景 |
| 配置说明 | 调整 Profile、端口、数据库、密钥等 | 生产部署与凭证注入必读 |
推荐路径
首次接触 DaxPay 建议直接走 一键部署,向导式几分钟即可在本地跑起完整链路。
快速开始(源码跑通最短路径)
只想在本地把源码跑起来并登录进管理端,按下面六步走,每步一行命令,细节点链接进对应章节:
| 步骤 | 操作 | 命令 / 说明 |
|---|---|---|
| ① 准备中间件 | 启动 PostgreSQL / Redis / Artemis | 见下方中间件准备,Compose 一键拉起或三条 docker 命令 |
| ② 建库导数据 | 创建 daxpay-dev 库并导入初始化 SQL | 见 项目构建 - 数据库准备,顺序 table.sql → data.sql |
| ③ 配 hosts | dev 配置用 postgresql / redis / mq 主机名 | 127.0.0.1 postgresql redis mq 追加到 hosts,详见首次启动注意 |
| ④ 启动后端 | mvnd spring-boot:run -Dspring-boot.run.profiles=dev | 见 项目构建 - 主应用 |
| ⑤ 启动前端 | pnpm install && pnpm run dev:admin | 见 项目构建 - Web 管理端 |
| ⑥ 登录 | 访问 http://127.0.0.1:6999 | 默认超管账号见下方启动后验证 |
前置依赖
| 环境 | 版本要求 | 说明 |
|---|---|---|
| JDK | 25+ | Java 运行环境(容器化部署可不装,镜像自带) |
| mvnd | 最新 | Maven Daemon,加速源码编译 |
| Node.js | ^22.13.0 || ^24.0.0 | 前端构建环境 |
| pnpm | >=10.0.0 | 包管理器(强制,禁用 npm/yarn) |
| PostgreSQL | 14+ | 主数据库 |
| Redis | 7+ | 分布式缓存 |
| Apache Artemis | 最新 | JMS 消息队列,用于支付延时通知 |
数据库需提前创建(UTF8 编码,public 模式)并导入初始化 SQL,库名约定与导入步骤见 项目构建 - 数据库准备。
中间件准备
三个中间件用 Docker 拉起即可,账号密码与仓库内 application-dev.yml 默认值一致,可直接跑通。
方式一:Docker Compose(推荐)
把下面内容存为 docker-compose.yml,docker compose up -d 一键拉起:
services:
# PostgreSQL(容器名与 dev 配置主机名 postgresql 对应)
postgresql:
image: postgres:14
container_name: postgresql
ports:
- "5432:5432"
environment:
POSTGRES_DB: daxpay-dev
POSTGRES_USER: bootx
POSTGRES_PASSWORD: bootx123
volumes:
- pg-data:/var/lib/postgresql/data
# Redis
redis:
image: redis:7
container_name: redis
ports:
- "6379:6379"
command: redis-server --requirepass bootx123
# Apache Artemis(消息队列,dev 配置硬依赖,不启动则主应用无法启动)
mq:
image: apache/activemq-artemis:latest
container_name: mq
ports:
- "8161:8161"
- "61616:61616"
environment:
ARTEMIS_USER: admin
ARTEMIS_PASSWORD: admin
volumes:
pg-data:方式二:三条 docker 命令
# PostgreSQL(容器名与 dev 配置主机名 postgresql 对应)
docker run -d --name postgresql -p 5432:5432 \
-e POSTGRES_DB=daxpay-dev -e POSTGRES_USER=bootx -e POSTGRES_PASSWORD=bootx123 \
postgres:14
# Redis
docker run -d --name redis -p 6379:6379 redis:7 --requirepass bootx123
# Apache Artemis(消息队列,dev 配置硬依赖,不启动则主应用无法启动)
docker run -d --name mq -p 8161:8161 -p 61616:61616 \
-e ARTEMIS_USER=admin -e ARTEMIS_PASSWORD=admin \
apache/activemq-artemis:latest已有中间件实例的,改 application-dev.yml 中的连接信息即可,不必新建。
首次启动注意
仓库内 application-dev.yml 的连接地址使用 postgresql / redis / mq 主机名(而非 localhost)。首次启动前二选一:
- 在本机 hosts 文件追加映射(Windows 为
C:\Windows\System32\drivers\etc\hosts,Linux/macOS 为/etc/hosts):127.0.0.1 postgresql redis mq - 或直接把
application-dev.yml中的主机名改回127.0.0.1/localhost,并按实际情况修改账号密码
数据库账号默认 bootx / bootx123,Redis 密码默认 bootx123,Artemis 默认 admin / admin,与上方 docker 命令一致。
各应用端口
| 应用 | 端口 | 健康检查 |
|---|---|---|
| 主应用 dax-pay-open | 9999 | http://127.0.0.1:9999/actuator/health |
| 通道子应用 dax-pay-channel-one | 20100 | http://127.0.0.1:20100/actuator/health |
| 通道子应用 dax-pay-channel-two | 20200 | http://127.0.0.1:20200/actuator/health |
| 通道子应用 dax-pay-channel-three | 20300 | http://127.0.0.1:20300/actuator/health |
| Web 运营端(dev) | 6999 | — |
| Web 商户端(dev) | 7999 | — |
| 独立 H5 端(dev) | 9500 | — |
| uni-app 管理端(H5 dev) | 9000 | — |
| uni-app 商户端(H5 dev) | 9100 | — |
Go 版通道
通道子应用另有 Go 版本 dax-pay-channel-one-go,端口同为 20100,与 Java 版二选一,切勿同时启动。
启动后验证
# 主应用健康检查,预期 {"status":"UP"}
curl http://localhost:9999/actuator/health
# 通道子应用
curl http://localhost:20100/actuator/health启动成功后可访问:
- 主应用控制台输出
应用 'dax-pay-open' 运行成功! - API 文档(dev):
http://127.0.0.1:9999/swagger-ui/index.html - Web 运营端(dev):
http://127.0.0.1:6999 - Web 商户端(dev):
http://127.0.0.1:7999 - H5 端(dev):
http://127.0.0.1:9500
默认登录账号
导入初始化 SQL 后,系统内置超级管理员账号:
| 项 | 值 |
|---|---|
| 账号 | bootx |
| 密码 | 121212 |
| 可登录端 | 仅 Web 运营端(管理端) |
超管仅限开发环境
超级管理员由 daxpay.platform.starter.auth.enable-admin 控制,dev 默认开启,prod 强制关闭。生产环境请创建自己的管理员账号,详见 配置说明 - 超级管理员。
本地调试支付回调、手机访问 H5 等场景需要内网穿透,见 本地联调。
跨端应用运行
管理端、商户端与收银台均通过 pnpm 调用 uni CLI。H5、三类小程序和 App 的运行工具与产物目录不同,完整流程统一见跨端应用。