首页
/ Mall4j商城项目完整开发指南

Mall4j商城项目完整开发指南

2025-07-08 06:21:34作者:翟萌耘Ralph

项目概述

Mall4j是一套前后端完全分离的电商系统解决方案,采用现代化的技术架构,包含多个子项目协同工作。本文将为开发者提供从环境搭建到项目启动的完整指南,帮助您快速理解和部署这套系统。

项目组成

Mall4j由四个核心子项目组成:

  1. mall4j:基于Java的后端服务,提供RESTful API接口
  2. mall4v:基于Vue的后台管理系统前端
  3. mall4m:微信小程序前端项目
  4. mall4uni:基于Uniapp的H5移动端项目

Java后端开发环境搭建

环境要求

组件 最低版本要求
JDK 17
MySQL 5.7+
Redis 4.0+
Node.js 14-16
XXL-JOB 2.4.0

安装步骤

  1. JDK安装

    • 推荐使用OpenJDK 17
    • 配置JAVA_HOME环境变量
  2. MySQL安装

    • 安装MySQL 5.7或更高版本
    • 创建数据库并导入提供的SQL文件(yami_shop.sql)
  3. Redis安装

    • 安装Redis 4.0或更高版本
    • 默认端口6379,可按需修改配置
  4. Maven安装

    • 用于Java项目依赖管理
    • 配置settings.xml文件设置镜像源

项目配置

  1. 修改application-dev.yml文件:

    • 配置数据库连接信息
    • 设置Redis连接参数
  2. 修改shop.properties文件:

    • 配置七牛云存储
    • 设置阿里大鱼短信服务
  3. 修改api.properties文件:

    • 配置接口域名
    • 设置支付回调地址

项目启动

  1. 使用IDE(推荐IntelliJ IDEA)导入Maven项目
  2. 安装Lombok插件
  3. 启动Redis服务
  4. 运行WebApplication启动后台接口
  5. 运行ApiApplication启动前端接口

Vue前端开发环境搭建

环境要求

  • Node.js 18.12.0+(推荐20.9.0)
  • pnpm包管理工具

安装步骤

  1. 安装Node.js

    • 从官网下载并安装推荐版本
    • 验证安装:node -vnpm -v
  2. 安装pnpm

    npm install -g pnpm
    
  3. 安装项目依赖

    pnpm i
    

项目配置

修改环境变量文件:

  • .env.production(生产环境)
  • .env.development(开发环境)

配置项包括:

  • VITE_APP_BASE_API:后端API地址
  • VITE_APP_RESOURCES_URL:静态资源URL

项目启动

  1. 开发环境启动:

    npm run dev
    
  2. H5开发环境启动:

    npm run dev:h5
    

小程序开发注意事项

  1. 修改utils/config.js文件:

    • 配置domain为后端API地址
    • 默认后台API服务端口为8086
  2. 图形验证码问题排查:

    • 检查网络请求是否正确
    • 确认连接的admin服务端口
    • 验证Nginx配置(如使用)

常见问题解答

  1. 后台管理系统访问问题

    • 确保启动的是Vue项目(mall4v)
    • 不要直接访问Java服务端口
  2. Swagger文档访问

    • 文档路径为/doc.html
    • 确保服务已正确启动
  3. 端口配置混淆

    • 后台管理默认端口:8085
    • 小程序接口默认端口:8086
    • 仔细检查各端配置的一致性

项目文档

项目文档位于doc目录下,包含详细的开发指南和API说明。建议在开发前仔细阅读相关文档,了解系统架构和功能模块。

最佳实践建议

  1. 开发环境隔离

    • 为每个开发者创建独立的数据库实例
    • 使用本地Redis避免冲突
  2. 配置管理

    • 敏感信息使用环境变量管理
    • 不同环境使用不同的配置文件
  3. 调试技巧

    • 利用Swagger文档测试API
    • 使用Postman等工具调试接口

通过本文的指导,您应该能够顺利完成Mall4j商城系统的环境搭建和初步运行。如需更深入的功能开发或定制,请参考项目文档中的详细说明。