Skip to content

快速开始

**本文引用的文件** - [lemes-cloud/pom.xml](file://lemes-cloud/pom.xml) - [lemes-cloud/lemes-auth/pom.xml](file://lemes-cloud/lemes-auth/pom.xml) - [lemes-cloud/lemes-gateway/pom.xml](file://lemes-cloud/lemes-gateway/pom.xml) - [lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/pom.xml) - [lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/pom.xml) - [lemes-cloud/lemes-business-devicemate/lemes-service-dm-workflow/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-workflow/pom.xml) - [lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-server/src/main/resources/bootstrap.yml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-server/src/main/resources/bootstrap.yml) - [lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-server/src/main/resources/bootstrap.yml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-server/src/main/resources/bootstrap.yml) - [lemes-cloud/lemes-business-devicemate/lemes-service-dm-workflow/lemes-service-dm-workflow-server/src/main/resources/bootstrap.yml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-workflow/lemes-service-dm-workflow-server/src/main/resources/bootstrap.yml) - [lemes-cloud/src/devops/docker-compose/docker-compose.yml](file://lemes-cloud/src/devops/docker-compose/docker-compose.yml) - [lemes-cloud/src/devops/docker-compose/install.sh](file://lemes-cloud/src/devops/docker-compose/install.sh) - [lemes-cloud/src/devops/docker-compose/load-config.sh](file://lemes-cloud/src/devops/docker-compose/load-config.sh) - [lemes-web/package.json](file://lemes-web/package.json)

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖分析
  7. 性能考虑
  8. 故障排除指南
  9. 结论
  10. 附录

简介

本“快速开始”旨在帮助开发者在本地快速搭建 DeviceMate 微服务项目,并完成基础功能验证。内容覆盖环境要求、安装步骤、启动顺序与端口配置、基础功能演示与验证方法,以及常见问题排查建议。目标是让不同技术背景的读者都能顺利完成本地开发环境的准备与验证。

项目结构

DeviceMate 采用多模块 Maven 聚合工程组织,后端以 Spring Cloud + Spring Boot + Nacos 为核心,前端基于 Vue2(lemes-web)。核心模块包括网关、认证、通用服务、设备、库存、工作流等子模块;同时提供 Docker Compose 脚本用于一键拉起环境。

图示来源

章节来源

核心组件

  • 网关服务:负责路由与统一入口,便于前端调用后端微服务。
  • 认证服务:提供 OAuth2 授权能力,作为安全边界。
  • 通用服务:提供公共能力与基础设施。
  • 设备服务:设备相关业务接口与数据。
  • 库存服务:库存相关业务接口与数据。
  • 工作流服务:基于 Flowable 的流程引擎服务。
  • 前端应用:lemes-web,Vue2 技术栈,提供开发与构建脚本。

章节来源

架构总览

下图展示本地开发环境的典型启动顺序与交互关系:先启动注册中心与配置中心(Nacos),再启动网关与认证服务,最后启动各业务服务;前端通过网关访问后端服务。

图示来源

详细组件分析

环境要求与安装步骤

  • JDK 与构建工具
    • Java: 17+(父工程属性指定)
    • Maven: 使用 Maven 3.6+ 进行构建
  • 容器与编排
    • Docker 与 Docker Compose:用于一键拉起后端服务
  • 中间件
    • Nacos:服务注册与配置中心(本地可使用 standalone 或集群)
    • PostgreSQL:数据库(如需本地直连,请按各服务配置准备库表)
    • Redis:缓存(如需本地直连,请按各服务配置准备实例)

安装步骤(本地开发)

  • 克隆仓库与子模块初始化
    • 克隆主仓库后,执行子模块初始化与更新(如存在 .gitmodules)
  • 安装依赖
    • 后端:在 lemes-cloud 目录执行 Maven 构建,下载依赖
    • 前端:在 lemes-web 目录执行依赖安装
  • 启动中间件
    • 启动 Nacos(本地 standalone 或外部集群)
    • 准备 PostgreSQL 与 Redis(如需直连)
  • 启动后端服务
    • 按顺序启动:Gateway → Auth → 业务服务(Device/Store/Workflow)
  • 启动前端
    • 在 lemes-web 目录执行开发服务器启动脚本

章节来源

启动顺序与服务端口

  • 启动顺序建议
    1. Nacos(注册/配置中心)
    2. Gateway(网关)
    3. Auth(认证)
    4. Device/Store/Workflow(业务服务)
  • 服务端口(本地直连时参考)
    • Gateway: 80
    • Auth: 8030
    • Device: 8041
    • Store: 8042
    • Workflow: 8043
  • Docker Compose 端口映射(示例)
    • 通用服务: 8000
    • 设备服务: 8041
    • 库存服务: 8042
    • 工作流服务: 8043
    • 前端 Web: 80

章节来源

基础功能演示与验证

  • 登录与认证
    • 启动 Auth 与 Gateway 后,通过前端登录页面发起认证请求,确认网关能正确路由到认证服务
  • 设备管理
    • 启动 Device 服务后,尝试访问设备相关接口,确认服务注册与健康状态
  • 库存管理
    • 启动 Store 服务后,尝试访问库存相关接口,确认服务注册与健康状态
  • 工作流
    • 启动 Workflow 服务后,尝试访问流程相关接口,确认服务注册与健康状态
  • 前端联调
    • 启动 lemes-web 并连接本地 Gateway,打开页面验证接口调用是否成功

章节来源

Docker 一键部署(可选)

  • 安装 Docker 与 Docker Compose
    • 使用提供的安装脚本自动安装并配置 Docker 与 Compose
  • 加载配置
    • 使用配置加载脚本从远端仓库拉取 base.yml、.env、docker-compose.yml,并根据参数定制组件
  • 启动
    • 在 docker-compose 目录执行 compose 启动命令,按映射端口访问服务

章节来源

依赖分析

  • 后端技术栈
    • Java 17、Spring Boot 3.2.4、Spring Cloud 2023.0.0、Spring Cloud Alibaba、Nacos 客户端
    • MyBatis/MyBatis-Plus、Druid、EasyExcel、Apache Commons、JSoup、Jasypt 等
  • 前端技术栈
    • Vue2、Element-UI、Axios、Webpack、ESLint、Jest 等

图示来源

章节来源

性能考虑

  • 服务注册与发现
    • 合理设置 Nacos 心跳超时与元数据,避免频繁摘除/恢复
  • 日志与监控
    • 使用集中化日志与健康检查端点,及时发现慢请求与异常
  • 数据库与缓存
    • 合理配置连接池与缓存命中率,避免热点数据抖动
  • 网关限流与熔断
    • 在 Gateway 层面配置限流与熔断策略,保护下游服务

故障排除指南

  • 端口冲突
    • 症状:服务无法启动或端口占用
    • 处理:修改 bootstrap.yml 中的 server.port 或停止占用进程
  • Nacos 连接失败
    • 症状:服务启动时报 Nacos 连接错误
    • 处理:确认 Nacos 地址、命名空间、用户名/密码配置正确;若使用本地 standalone,确保端口可达
  • 前端无法访问后端
    • 症状:浏览器控制台报跨域或 404
    • 处理:确认 Gateway 路由规则与后端服务已注册;检查前端代理或网关配置
  • Docker 启动失败
    • 症状:compose 启动报错或容器无法拉起
    • 处理:检查镜像仓库地址、网络与卷挂载路径;使用安装脚本重新初始化 Docker 环境
  • 依赖下载失败
    • 症状:Maven 下载依赖超时或失败
    • 处理:检查私服地址与账号;切换网络或使用本地代理

章节来源

结论

通过以上步骤,您可以在本地完成 DeviceMate 的环境搭建与基础验证。建议优先使用 Docker Compose 快速拉起后端服务,再启动前端进行联调;遇到问题时,优先检查 Nacos 配置、端口占用与网络连通性。

附录

  • 常用命令
    • 后端:在 lemes-cloud 目录执行 Maven 构建
    • 前端:在 lemes-web 目录执行依赖安装与开发启动
    • Docker:在 docker-compose 目录执行 compose 启动与停止