Skip to content

项目启动

基础环境搭建

数据库

启动或者找一台可以使用Postgresql实例,同时在后端项目中_config/sql目录下找到dax-pay.sql数据库脚本文件。

  • 在数据库中进行新建,Postgresql选UTF8编码。

  • dax-pay.sql数据库脚本文件导入进去。

Redis

启动一个Redis实例,记录可进行连接的各项信息,以备后续使用。

不需要进行额外操作

项目启动(后端)

各模块的启动类都在daxpay-plus-client模块下,分别有运营端商户端支付网关端融合端四个模块,目前我们只需要使用融合端即可

基础环境要求

名称介绍参考版本
JDKJava运行环境21+ 推荐使用 Corretto JDK
Maven项目构建工具推荐版本3.8.x及以上, 并使用 网易云镜像 加速
IDE集成开发工具IntelliJ IDEA
postgresql数据库12+
Redis缓存中间件推荐使用5.0及以上版本
  1. 将项目导入到IDEA中,等待依赖下载完毕
  2. 找到项目中daxpay-plus-client下的daxpay-plus-client-union模块,打开配置文件,将其中的数据库连接地址Redis缓存连接地址OSS文件上传地址等配置更换为真实的地址。
  3. 打开本模块的DaxpayUnionStart类文件并运行,启动项目,当控制台打印下列内容说明启动成功。
shell
----------------------------------------------------------
	应用 'dax-pay-union' 运行成功! 
	Swagger文档: 		http://192.168.1.12:19999/doc.html
	Swagger文档: 		http://127.0.0.1:19999/doc.html 
----------------------------------------------------------

项目启动(PC前端)

运营端和商户端是同一个项目,适用不同的环境变量进行启动

基础环境要求

环境版本备注
Node>=18.12.0推荐使用20.9.0+
pnpm>=9.0.2+低版本会导致 pnpm-lock.yaml 失效

使用Vs CodeWebstorm打开项目,然后执行以下命令启动项目:

shell
# 安装项目依赖
pnpm install
# 启动项目 (运营端)
pnpm run dev:admin
# 启动项目 (商户端)
pnpm run dev:merchant

当控制台出现下列类似内容时说明启动成功:

shell
  VITE v5.4.7  ready in 9868 ms

  Local:   http://localhost:13333/                                                                                                                                13:59:18
  Network: http://192.168.1.104:13333/                                                                                                                             13:59:18  
  Network: http://172.24.221.1:13333/                                                                                                                               13:59:18  
  Vue DevTools: Open http://localhost:13333/web/__devtools__/ as a separate window                                                                                     13:59:18  
  Vue DevTools: Press Alt()+Shift()+D in App to toggle the Vue DevTools                                                                                              13:59:18  

  press h + enter to show help                                                                                                                                         13:59:18

启动成功后,点击访问即可,默认的超级管理员账号密码为:bootx/123456

项目启动(支付网关前端)

基础环境要求

环境版本备注
Node>=20.9.0推荐使用20.9.0+
pnpm>= 9.0.2+低版本会导致 pnpm-lock.yaml 失效

使用Vs CodeWebstorm打开项目,然后执行以下命令启动项目:

shell
# 安装项目依赖
pnpm install
# 启动项目
pnpm run dev

当控制台出现下列内容时说明启动成功:

shell
  VITE v5.4.6  ready in 2130 ms

  Local:   http://localhost:9100/h5                                                                                                                                    14:31:40  
  Network: http://192.168.11.229:9100/h5                                                                                                                               14:31:40  
  Network: http://172.24.224.1:9100/h5                                                                                                                                 14:31:40  
  press h + enter to show help                                                                                                                                         14:31:40

项目启动(微信小程序)

基础环境要求

环境版本备注
Node>=20.9.0推荐使用20.9.0+
pnpm>= 9.0.2+低版本会导致 pnpm-lock.yaml 失效

提示

待更新

本地调试示例

内网穿透

提示

因为支付系统会涉及到一些三方支付网关的交互,以及例如微信授权域名、jsapi安全域名的限制,所以本地调试时,对一些回调和手机端上的操作,需要做一些特殊处理。 假定我们拥有一个域名frp.daxpay.com,并且该域名已经备案,下面就是举一个开发时进行调试的例子。如果出现"/xx/xx" 没有对应的权限错误,检查接口转发地址的配置, 一般是此出现了问题。

因为开发时,需要接收各种回调请求,以及手机端开发时,需要能够从外网进行访问,通常我们需要使用内网穿透工具,比如ngrokfrp等,具体可以自行搜索相关资料。

toml
serverAddr = "8.8.8.8" # frp地址服务
serverPort = 7000 # 服务端口号
auth.method = 'token' # 客户端访问验证方式
auth.token = 'daxpay' # 客户端访问验证密码

[[proxies]]
name = "dev" # 名称
type = "tcp" # 转发类型
localIP = "127.0.0.1" # 本地IP
localPort = 11688 # 本地接收端口号
remotePort = 19100 # 远程服务端口号

文件服务器

如果文件存储使用本地存储方式,通常需要使用Nginx搭建一个文件服务器让外部可以访问本地文件。

shell
   server {
    listen       8899;
    server_name  localhost;
    # 指定要共享的文件目录,这个目录是你要提供静态文件的根目录
    root D:/data/files/;
    # 打开目录索引功能,浏览器可以看到文件列表 如果需要,可以限制只允许列出文件而不能访问目录
    autoindex on;  
    location / {
        # 禁止直接访问目录,限制只列出文件
        try_files $uri $uri/ =404;
        
        # 配置允许访问的文件类型
        # autoindex_exact_size off;  # 显示文件大小时不精确显示为字节,改为KB、MB等单位
        # autoindex_localtime on;    # 显示文件修改时间为服务器本地时间
    }
    
    # 配置允许的文件类型 MIME 类型
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|pdf|txt)$ {
        expires 30d;  # 缓存时间
    }
    
    # 错误页面配置
    error_page  404  /404.html;
    location = /404.html {
        root /path/to/your/error_pages;
    }
  }
本文档内容版权属于济南易杯光年软件技术有限公司