feat: 集成 KieAI 服务,移除 models-integration 子项目

- 添加 Gemini 2.5 Flash 对话接口(流式+非流式)
- 添加 NanoBanana 图像生成/编辑接口
- 添加 Sora2 视频生成接口(文生视频、图生视频、去水印)
- 移除 models-integration 子项目(功能已迁移至主后端)
- 新增测试文档和 Playwright E2E 配置
- 更新前端页面和 API 接口
- 更新后端配置和日志处理
This commit is contained in:
2026-03-03 15:33:50 +08:00
parent 1ddb051977
commit 4be53dcd1b
586 changed files with 21142 additions and 25130 deletions

191
README.md Normal file
View File

@@ -0,0 +1,191 @@
# 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` 及运行环境为准。*