# 多机型语音播报模板运营系统 支持 X11/Hplus/Ultra/F2 Multi/Seeker/X11 Ultra 等多机型的语音播报 Jinja2 模板管理系统。 ## 功能特性 - ✅ 多机型模板管理(X11/Hplus/Ultra/F2 Multi/Seeker/X11 Ultra) - ✅ 设备类型筛选(洗涤/干衣) - ✅ 模板类型筛选(通用/人气/定制/季节/关怀/环保/天气/健康) - ✅ 可视化模板编辑和预览 - ✅ Jinja2 模板实时渲染 - ✅ 模板分类和分组展示 ## 技术栈 **后端**:FastAPI + Pydantic + JSON 文件存储 **前端**:Vue 3 + Vite + 原生 Fetch API ## 本地部署和启动 ### 前置条件 - Python 3.9+(已配置 conda 环境 `rec`) - Node.js 16+ ### 启动后端 ```bash # 激活 conda 环境 conda activate rec # 进入后端目录 cd d:\00_26code\x11_template_vue\backend # 安装依赖(如果还没安装) pip install -r requirements.txt # 启动后端服务(默认端口 8000) uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` 后端服务启动后访问: - API 文档:http://localhost:8000/docs - 健康检查:http://localhost:8000/api/health ### 启动前端 打开新终端: ```bash # 进入前端目录 cd d:\00_26code\x11_template_vue\frontend # 安装依赖(首次运行) npm install # 启动前端开发服务器(默认端口 5173) npm run dev ``` 前端访问地址:http://localhost:5173 ### 一键启动脚本(Windows PowerShell) 在项目根目录创建 `start.ps1`: ```powershell # 启动后端 Start-Process pwsh -ArgumentList "-NoExit", "-Command", "conda activate rec; cd backend; uvicorn app.main:app --reload --host 0.0.0.0 --port 8000" # 等待 2 秒 Start-Sleep -Seconds 2 # 启动前端 Start-Process pwsh -ArgumentList "-NoExit", "-Command", "cd frontend; npm run dev" Write-Host "后端: http://localhost:8000/docs" -ForegroundColor Green Write-Host "前端: http://localhost:5173" -ForegroundColor Green ``` 运行: ```powershell .\start.ps1 ``` ## API 接口 ### 模板管理 - `GET /api/templates` - 获取模板列表(支持筛选参数) - `GET /api/templates/{template_id}` - 获取单个模板 - `POST /api/templates` - 创建模板 - `PUT /api/templates/{template_id}` - 更新模板 - `DELETE /api/templates/{template_id}` - 删除模板 ### 筛选接口 - `GET /api/templates/machine-models` - 获取所有机型列表 - `GET /api/templates/device-types?machine_model=x11` - 获取设备的类型列表 - `GET /api/templates/template-types?machine_model=x11&device_type=wash` - 获取模板类型列表 - `GET /api/templates/categories?machine_model=x11` - 获取分类列表 ### 渲染接口 - `POST /api/templates/preview` - 本地预览模板 - `POST /api/templates/render` - 使用已保存模板渲染 ## 机型说明 | 机型 | 标识符 | 设备类型 | 说明 | |------|--------|----------|------| | X11 | x11 | wash/dry | X11 洗衣机/干衣机 | | Hplus | hplus | wash | Hplus 洗衣机 | | Ultra | ultra | wash | Ultra 洗衣机 | | F2 Multi | f2_multi | wash | F2 Multi 多卡洗涤 | | Seeker | seeker | dry | Seeker 干衣机 | | X11 Ultra | x11_ultra | dry | X11 Ultra 干衣机 | ## 模板类型说明 | 类型 | 标识符 | 说明 | |------|--------|------| | 通用 | common | 基础播报模板 | | 人气 | time_popular | 人气程序推荐 | | 定制 | time_custom | 用户习惯定制 | | 季节 | time_season | 季节换季推荐 | | 关怀 | time_care | 夜间/特殊关怀 | | 环保 | time_environmental | 错峰用电提醒 | | 天气 | time_weather | 天气相关建议 | | 健康 | time_health | 清洁/健康提醒 | ## 数据存储 模板数据存储在 `backend/data/templates.json`,采用 JSON 文件格式,支持持久化和备份。 ## 注意事项 - 本系统独立运行,不修改 `daping_rec_online_api` 任何代码 - 模板格式与 `daping_rec_online_api` 中的 Jinja2 模板完全兼容 - 可按需导入现有模板到本系统管理