Files
msh-system/README.md
scottpan 4be53dcd1b feat: 集成 KieAI 服务,移除 models-integration 子项目
- 添加 Gemini 2.5 Flash 对话接口(流式+非流式)
- 添加 NanoBanana 图像生成/编辑接口
- 添加 Sora2 视频生成接口(文生视频、图生视频、去水印)
- 移除 models-integration 子项目(功能已迁移至主后端)
- 新增测试文档和 Playwright E2E 配置
- 更新前端页面和 API 接口
- 更新后端配置和日志处理
2026-03-03 15:33:50 +08:00

192 lines
8.3 KiB
Markdown
Raw 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.
# MSH System慢生活智能营养专家
面向 C 端的**商城 + 营养/工具**一体化平台包含移动端多端应用UniApp与基于 CRMEB 的 Java 后端服务。在 CRMEB Java 版 v2.2 基础上做了业务定制,并接入了 AICoze、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-frontC 端 API
- **端口**crmeb-front 默认 20822sophia profilecrmeb-admin 默认 20000。
- **接口前缀**C 端 `/api/front/*``/api/public/*`
- **详细说明**[msh_crmeb_22/README.md](msh_crmeb_22/README.md)
### models-integrationAI 集成服务),**已经迁移代码到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 # 默认端口 20822sophia
# 管理端 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` 及运行环境为准。*