qihang-ecom-erp-open/新手指南.md

115 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 启航电商ERP开源版新手指南
面向第一次接触本项目的开发者,帮助你在本地快速跑通后端与前端,了解整体技术框架与模块划分,并定位常见问题。
## 1. 项目简介
- 仓库qihang-ecom-erp-open后端多模块 + 前端 Vue 项目)
- 定位:电商企业数字化转型的订单/商品/库存等业务中台底座
- 特性:多平台(淘宝、京东、拼多多、抖店、微信等)、多店铺、订单/售后/库存/采购/发货
## 2. 技术框架与组件
- 语言/运行时Java 17
- Spring 家族:
- Spring Boot 3.0.x
- Spring Cloud 2022.xSpring Cloud Alibaba 2022.xNacos、Sentinel 等)
- 数据访问MyBatis-Plus 3.5.x
- 数据库MySQL 8.x
- 缓存Redis 7.x
- 注册中心Nacos 2.3.x
- 流量治理Sentinel 1.8.x可选
- 网络/HTTPOpenFeign、OkHttp
- 鉴权与安全Spring Security 6 + JWT
- 前端Vue 2 + Element-UINode.js 16
注意oms-api 依赖本地 libs/open-sdk-2.1.12.jarsystemPath 方式),建议在 CI/CD 中明确提供或上传到私服后改为普通依赖。
## 3. 模块结构概览
- 顶层聚合qihang-ecom-erp-openpom packaging
- api微服务
- gatewayAPI 网关Spring Cloud Gateway + Sentinel
- sys-api系统域用户/角色/菜单/字典/配置/任务、登录鉴权等)
- erp-apiERP 核心域(商品、库存、入出库、采购、订单/发货/售后、报表等)
- oms-api开放平台对接淘宝/京东/拼多多/抖店/微信/快手等:授权、拉单、发货、商品同步)
- core公共能力
- common通用工具、异常、返回封装、配置
- security鉴权、安全、JWT、登录、权限校验
- interfaces领域服务接口契约与实现解耦
- model实体、DTO/VO/BO、查询与请求对象
- mapperMyBatis-Plus Mapper 接口与 XML 映射
- service业务服务实现实现 interfaces编排 mapper、领域逻辑
- serviceImpl历史/备用实现(现阶段以 service 为主)
- vue前端Vue2 + Element-UI
依赖关系自上而下api -> service -> interfaces/mapper -> model所有模块共享 core/common & core/security。
## 4. 环境准备
- 必备JDK 17、Maven 3.8+、Node.js 16.x、MySQL 8、Redis 7、Nacos 2.3.x
- 可选Sentinel 1.8.7
- 数据库:导入 docs/qihang-erp.sql 到新库 qihang-erp
## 5. 快速启动
1) 启动基础设施
- MySQL、Redis 正常可用
- 启动 Nacos单机示例
- 下载 nacos-server 2.3.x解压后
- Linux/Mac`sh bin/startup.sh -m standalone`
- Windows`bin\startup.cmd -m standalone`
- 可选:启动 Sentinel 控制台
2) 构建后端
- 在仓库根目录执行
- `mvn clean install -DskipTests`
- `mvn clean package -DskipTests`
- 依次启动微服务(本地 IDE 或 java -jar
- api/oms-api开放平台服务
- api/sys-api系统服务
- api/erp-apiERP 服务)
- api/gateway网关
3) 启动前端
- 切换到 vue 目录,`npm install``npm run dev`
- 浏览器打开http://localhost:88
- 默认账号:`admin` / `admin123`
## 6. 配置要点
- 数据库与 Redis、Nacos 等连接在各服务的 resources/application.yml|yaml 中配置
- sys-api 使用 Spring Security + JWT首次需 GET /captchaImage 再 POST /login 获取 token
- oms-api 需确保 libs/open-sdk-2.1.12.jar 存在(用于平台 SDK 调用);必要时替换为私服依赖
## 7. 常见问题FAQ
- 服务注册不到 Nacos
- 检查 Nacos 是否启动、地址配置是否正确ip/端口/命名空间)
- 启动报数据源/表不存在
- 确认已导入 docs/qihang-erp.sql 并与配置库名一致
- 登录失败/权限问题
- 确认 Redis 正常、JWT 密钥与过期时间配置正确;使用 admin/admin123 测试
- oms-api 调用平台接口报 SDK 相关错误
- 检查 open-sdk-2.1.12.jar 是否存在;或将 SDK 发布到私服并在 pom 中改为普通依赖
- 构建失败报版本冲突
- 统一使用 api/pom.xml 中的 dependencyManagement 约束版本,避免子模块写死不一致版本
## 8. 开发建议
- 入口类:
- api/sys-api/src/main/java/.../SysApi.java
- api/erp-api/src/main/java/.../ErpApi.java
- api/oms-api/src/main/java/.../OmsApi.java
- api/gateway/src/main/java/.../Gateway.java
- 推荐阅读顺序Controller -> Service -> Mapper(XML) -> Model
- 新增业务:先在 interfaces 定义契约,再在 service 实现,最终由 api 层 Controller 暴露
- 日志oms-api 引入 logstash-logback-encoder可对接 ELK
## 9. 目录速览(节选)
- api/:各微服务
- core/公共库common/security/interfaces
- model/:实体与 DTO/VO/BO
- mapper/DAO 与 XML 映射
- service/:业务实现
- vue/:前端工程
- docs/SQL/预览图/文档
## 10. 后续提升建议
- 将 oms-api 的 systemPath SDK 迁移到私服依赖
- 在 api 父 POM 中统一 Spring Cloud 版本管理,减少子模块手动版本
- 网关侧启用统一鉴权过滤(结合 core/security
祝你开发顺利,快速上手并跑通全链路!