- 添加 Gemini 2.5 Flash 对话接口(流式+非流式) - 添加 NanoBanana 图像生成/编辑接口 - 添加 Sora2 视频生成接口(文生视频、图生视频、去水印) - 移除 models-integration 子项目(功能已迁移至主后端) - 新增测试文档和 Playwright E2E 配置 - 更新前端页面和 API 接口 - 更新后端配置和日志处理
192 lines
8.3 KiB
Markdown
192 lines
8.3 KiB
Markdown
# 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` 及运行环境为准。*
|