跳转到内容

环宇版 · 环境搭建文档

本地开发(一般为 Windows):先装运行时与中间件,再导入数据库、改连接配置,最后分别启动 Java 与前端。环宇版是 SaaS 多租户单商户单体,模块拆分与宇宙版同类,另需把租户测试域名指到本机。文中 IP、账号仅为示例。

组件 最低版本
JDK 17
Maven 3.8+
MySQL 8.0
Redis 5.0+
Elasticsearch 7.x
XXL-JOB 2.4.1
Node.js 18.12.0(推荐 20.9.0)
pnpm ≥ 7
Git / IDEA 需安装 Lombok

Redis 默认端口 6379,必须与各端 application-dev.yml 一致。

修改 my.cnf / my.ini 后重启:

[mysqld]
default_authentication_plugin=mysql_native_password
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

克隆 https://git.mall4j.com/saas-mini/mall4j-saas.git。仓库 db 目录按顺序导入:

  1. 0schema.sql
  2. 编号 1 的主库脚本(文档示例常写作 1mall4j_b2c.sql,以仓库实际文件名为准)
  3. 2area.sql
  4. 3xxl_job.sql

其余文件是升级补丁,初始化不要导入。推荐 SQLyog,不建议用 Navicat 做导入导出。

hosts 绑定文档中的租户测试域名,否则前端会跳错站。库名、账号写入 application-dev.yml

IDEA Open 打开 mall4j-saas,等 Maven 依赖完成。Ctrl+Shift+N 可搜配置文件。

  1. 修改各端 application-dev.yml 中的 MySQL、Redis。
  2. 下载 XXL-JOB 2.4.1,连接已导入的 job 库,并与后台 yml 中的调度地址一致。
  3. 启动 Redis、MySQL、ES、xxl-job-admin;客服需要时再起 WuKongIM。
  4. 启动三个入口:
入口 默认端口(以 yml 为准)
ApiApplication 8086 用户端
MultishopApplication 8087 商家端
AdminApplication 8090 平台端

请求需带租户上下文。库存、登录 token、秒杀等在 Redis,本地不要 FLUSHALL。多环境共用支付时配置不同 workerId(10–99):

application:
workerId: 21

各前端仓库根目录:

Terminal window
pnpm install

若不用 pnpm,需去掉 package.jsonpreinstall: npx only-allow pnpm 以及 engines.pnpm

本机 Java IP 用 ipconfig 查看(下例 192.168.1.120)。

4.1 mall4uni-saas(H5 / 小程序 / App)

Section titled “4.1 mall4uni-saas(H5 / 小程序 / App)”

.env.development

Terminal window
VITE_APP_ENV = 'development'
VITE_APP_BASE_API = 'http://192.168.1.120:8086'
VITE_APP_MP_APPID = '你的公众号appid'

微信内 H5 走公众号 JSAPI 支付与授权,必须配 VITE_APP_MP_APPID。浏览器 H5 走 H5 支付,与前者不是同一套。

小程序 appid 写在 src/manifest.jsonmp-weixin.appid。H5 端口可改 manifest.jsonh5.devServer.port。确认 lang 语言包能加载。

运行:HBuilderX「运行到浏览器 / 微信开发者工具」,或仓库提供的 vite 脚本。

.env.developmentVITE_APP_BASE_API 指向 http://IP:8086pnpm dev 启动。

Terminal window
# 商家 8087,平台改为 8090
VITE_APP_BASE_API = 'http://192.168.1.120:8087'
VITE_APP_WS_IM_API = 'ws://192.168.1.120:5200'

默认端口见 vite.config.jsserver.portpnpm dev 后用 http://本机IP:端口 访问。门店端 mall4s-saas、商家移动端 mall4ms-saas 按仓库说明指向对应后端。