更新
面向本科毕设的本地运行项目,后端使用 Python + FastAPI 提供营销分析 API,前端使用 Vue3 + TypeScript + Vite 进行可视化展示,覆盖客户推荐、促销分析、销售预测、客户聚类与语音播报等功能。
backend/ # Python 后端(FastAPI 服务与算法模块) frontend/ # Vue3 前端(TypeScript + Vite) data/ # 默认 CSV 数据存放目录(自行放置 sales_data.csv) outputs/ # 日志、导出与图表输出目录 schema.sql # SQLite 表结构(可选持久化) docs/defense.md # 答辩材料
pip install -r requirements.txt
cd frontend npm install
uvicorn backend.main:app --reload --port 8000
http://localhost:8000/api
data/sales_data.csv
cd frontend npm run dev -- --host --port 5173
浏览器访问 http://localhost:5173/#/,侧边栏可进入各功能模块。
http://localhost:5173/#/
POST /data/upload
POST /data/load
GET /data/overview
POST /recommend
POST /promotion
POST /promotion/analyze
POST /forecast
POST /clustering
POST /export
POST /tts
POST /tts/minimax
GET /tts/minimax/status/{task_id}
MINIMAX_API_KEY
MINIMAX_GROUP_ID
MINIMAX_VOICE_ID
https://api.minimax.chat/v1
task_id
schema.sql
/api/tts
超市 AI 营销系统(前后端分离版)
面向本科毕设的本地运行项目,后端使用 Python + FastAPI 提供营销分析 API,前端使用 Vue3 + TypeScript + Vite 进行可视化展示,覆盖客户推荐、促销分析、销售预测、客户聚类与语音播报等功能。
目录结构
环境准备
运行后端(FastAPI)
http://localhost:8000/api。data/sales_data.csv,可通过接口或前端页面上传。运行前端(Vue3 + Vite)
浏览器访问
http://localhost:5173/#/,侧边栏可进入各功能模块。主要接口(/api)
POST /data/upload:上传 CSV 并加载。POST /data/load:从指定路径加载 CSV。GET /data/overview:查看记录数、客户数、日期范围。POST /recommend:输入客户 ID 与 TopN 获取推荐商品。POST /promotion:按阈值筛选促销候选商品。POST /promotion/analyze:基于 Apriori 的购物篮关联规则挖掘。POST /forecast:按月预测未来销售额与利润。POST /clustering:基于 RFM 的 KMeans 聚类与分群解释。POST /export:导出推荐、促销、预测、分群的 CSV。POST /tts:播报任意文本(本地音频环境需可用)。POST /tts/minimax与GET /tts/minimax/status/{task_id}:调用 MiniMax 云端语音合成并轮询下载链接。前端功能看板
MiniMax 云端语音配置
MINIMAX_API_KEY与MINIMAX_GROUP_ID,可选的默认发音人MINIMAX_VOICE_ID。https://api.minimax.chat/v1,后端接口会先提交任务再通过task_id查询状态与下载地址。数据与持久化
data/sales_data.csv,可通过上传接口替换。schema.sql便于将清洗后数据落地到 SQLite(可选)。自测建议
/api/tts。