# MSH System(慢生活智能营养专家) 面向 C 端的**商城 + 营养/工具**一体化平台,包含移动端多端应用(UniApp)与基于 CRMEB 的 Java 后端服务。在 CRMEB Java 版 v2.2 基础上做了业务定制,并接入了 AI(Coze、KieAI、腾讯云 ASR 等)与文章/工具类能力,形成「慢生活营养专家」产品形态。 --- ## 整体架构 系统采用**前后端分离 + 多端一体**架构: ```mermaid flowchart TB subgraph client [客户端多端] Wechat[微信小程序] H5[H5商城] App[App_iOS_Android] Other[支付宝头条等小程序] end UniApp[msh_single_uniapp_Vue2_UniApp] client --> UniApp UniApp -->|"HTTPS / REST API"| Backend subgraph backend [后端服务_Spring_Boot] Front[crmeb_front_C端API_20822] Admin[crmeb_admin_管理端API] Service[crmeb_service_业务逻辑] Common[crmeb_common_工具实体配置] Front --> Service Admin --> Service Service --> Common end Backend --> Front Backend --> Admin Front --> MySQL Front --> Redis Front --> OSS Admin --> MySQL Admin --> Redis MySQL[(MySQL_8.x_Druid)] Redis[(Redis_缓存会话Token)] OSS[对象存储_OSS_COS_七牛] ``` - **前端**:一套 UniApp 源码,通过条件编译发布到微信小程序、H5、App、支付宝/头条等小程序。 - **后端**:多模块 Maven 工程,C 端入口为 `crmeb-front`,管理端为 `crmeb-admin`,共用 `crmeb-service` 与 `crmeb-common`。 - **AI 集成**:独立服务 [models-integration](models-integration/readme.md) 提供 Coze、KieAI、腾讯 ASR、Nano Banana 等能力,与主后端通过 HTTP 协作。 --- ## 目录结构 **本地位置:** /Users/apple/scott2026/msh-system ``` msh-system/ ├── docs/ # 项目文档:PRD、架构分析、DB 设计、SQL 迁移脚本 ├── models-integration/ # AI/API 集成服务(Spring Boot 2.7.5,独立部署),**已经迁移代码到Java后端项目中,目前只是备用**。 ├── msh_crmeb_22/ # CRMEB Java 后端(Spring Boot 2.2.6,多模块 Maven) ├── msh_single_uniapp/ # UniApp 前端(Vue 2,微信/H5/App 多端) └── upload/ # 文件存储(用户上传、打卡图片等) ``` | 目录 | 说明 | |------|------| | [docs/](docs/) | 产品需求、技术栈与架构分析、打卡/社区设计、食谱计算器接口、用户界面交互设计、数据库设计与 SQL | | [models-integration/](models-integration/readme.md) | 与 Coze、KieAI、腾讯 ASR、Nano Banana 等模型集成的独立 Spring Boot 服务,**已经迁移代码到Java后端项目中,目前只是备用** | | [msh_crmeb_22/](msh_crmeb_22/README.md) | 商城与业务主后端:crmeb-common、crmeb-service、crmeb-admin、crmeb-front | | [msh_single_uniapp/](msh_single_uniapp/README.md) | 移动端应用:AI 营养师、计算器、打卡、饮食记录、食物百科、食谱详情、商城与订单等 | | upload/ | 运行时上传文件存储目录(如 crmebimage/public) | --- ## 技术栈概览 | 层次 | 技术项 | 说明 | |------|--------|------| | 前端框架 | Vue 2 + UniApp | 多端统一(微信小程序 / H5 / App) | | 状态管理 | Vuex | 登录态、购物车、全局配置等 | | 请求 | uni.request 封装 | 统一 domain、Token、错误与登录跳转 | | 后端框架 | Spring Boot 2.2 / 2.7 | msh_crmeb_22 多模块;models-integration 独立服务 | | 数据访问 | MyBatis-Plus + MySQL | Druid 连接池、PageHelper 分页 | | 缓存 | Redis (Jedis) | 会话、Token、验证码、配置缓存 | | 认证 | JWT + 行为验证码 | 前端 Header 传 Token | | 文档 | Swagger 2 + Bootstrap UI / SpringDoc | 后端 API 文档 | | 构建 | Maven / npm | 后端 Maven;前端 Vue CLI / HBuilderX | | 对象存储 | 阿里云 OSS / 腾讯云 COS / 七牛 | 图片与文件 | | 支付 | 微信支付、支付宝 | 通过后端封装 | | AI/能力 | Coze、KieAI、腾讯云 ASR、Nano Banana 等 | 在 crmeb-service 与 models-integration 中封装 | --- ## 子项目说明 ### msh_single_uniapp(前端) - **技术**:Vue 2、UniApp、Vuex、mp-html。 - **功能**:首页、工具主入口(慢生活营养专家)、AI 营养师、食谱计算器、打卡、饮食记录、食物百科、食谱详情、商品列表/详情/搜索、订单、用户中心、营销活动等。 - **配置**:`config/app.js` 中配置 API 基地址(domain);`manifest.json` 配置应用名、版本、各端 appid。 - **详细说明**:[msh_single_uniapp/README.md](msh_single_uniapp/README.md) ### msh_crmeb_22(主后端) - **模块**:crmeb-common(公共实体与工具)、crmeb-service(业务逻辑)、crmeb-admin(管理端 API、Quartz 定时任务)、crmeb-front(C 端 API)。 - **端口**:crmeb-front 默认 20822(sophia profile),crmeb-admin 默认 20000。 - **接口前缀**:C 端 `/api/front/*`、`/api/public/*`。 - **详细说明**:[msh_crmeb_22/README.md](msh_crmeb_22/README.md) ### models-integration(AI 集成服务),**已经迁移代码到Java后端项目中,目前只是备用** - **定位**:独立 Maven 工程,与主系统无直接模块依赖,可单独部署,通过 HTTP 与 front 协作。 - **能力**:Coze、KieAI 文生图/视频、腾讯 ASR、文章/任务记录、打卡回调等。 - **详细说明**:[models-integration/readme.md](models-integration/readme.md) --- ## 环境要求 | 依赖 | 版本/说明 | |------|-----------| | JDK | 1.8 | | Maven | 3.6+ | | MySQL | 5.7+ / 8.x | | Redis | 5+ | | Node.js | 用于 UniApp 构建 | | HBuilderX | 推荐用于 UniApp 开发与运行 | --- ## 快速开始 ### 后端(msh_crmeb_22) ```bash cd msh_crmeb_22 mvn clean package # C 端 API ./shell/startFront.sh # 默认端口 20822(sophia) # 管理端 API ./shell/startAdmin.sh # 默认端口 20000 ``` 需在对应 profile 的 `application-*.yml` 中配置 MySQL、Redis 等。 ### AI 集成服务(models-integration),**已经迁移代码到Java后端项目中,目前只是备用** ```bash cd models-integration mvn clean package ./start.sh mysql # 或 postgresql,按实际数据源选择 ``` ### 前端(msh_single_uniapp) 1. 使用 [HBuilderX](https://www.dcloud.io/) 打开 `msh_single_uniapp` 目录。 2. 在 `config/app.js` 中配置 `domain` 为实际后端 API 地址。 3. 运行到对应端:运行 → 运行到浏览器(H5)或运行到小程序模拟器(微信等)。 4. 微信小程序需在 `manifest.json` 中配置已具备权限的 appid。 详见 [msh_single_uniapp/README.md](msh_single_uniapp/README.md)。 --- ## 部署说明 - **后端**:将各模块打好的 JAR 上传至服务器,在 JAR 同级目录执行对应 `shell/startFront.sh`、`shell/startAdmin.sh`(msh_crmeb_22)或 `start.sh`(models-integration)。注意 Web 端口勿与 20000 冲突;反向代理可指向 `http://127.0.0.1:20000`(admin)或 C 端实际端口(如 20822)。 - **前端**:H5 可将构建产物部署到任意静态服务器;微信小程序/App 在各自平台上传代码并配置域名白名单。 --- ## 文档索引 | 文档 | 路径 | |------|------| | 项目技术栈与架构分析 | [docs/项目技术栈与架构分析.md](docs/项目技术栈与架构分析.md) | | PRD 慢生活智能营养专家 v2.0 | [docs/PRD_慢生活智能营养专家_v2.0.md](docs/PRD_慢生活智能营养专家_v2.0.md) | | 用户界面交互设计 | [docs/用户界面交互设计.md](docs/用户界面交互设计.md) | | 打卡社区功能设计方案 | [docs/打卡社区功能设计方案.md](docs/打卡社区功能设计方案.md) | | 打卡详情页一键打卡入口设计 | [docs/打卡详情页_一键打卡入口设计.md](docs/打卡详情页_一键打卡入口设计.md) | | 食谱计算器后端接口开发文档 | [docs/食谱计算器后端接口开发文档.md](docs/食谱计算器后端接口开发文档.md) | | 数据库设计 | [docs/db/db_design.md](docs/db/db_design.md) | | SQL 脚本 | [docs/sql/](docs/sql/)、[msh_crmeb_22/sql/](msh_crmeb_22/sql/) | | 测试与 API 文档 | [docs/Testing/](docs/Testing/)、各子项目 Swagger/SpringDoc 文档 | --- *文档基于当前仓库目录与配置文件整理,用于技术评审、新人上手与架构演进参考。具体版本以各模块 `pom.xml`、`package.json` 及运行环境为准。*