一个极简主义的音乐播放 Web 应用,支持歌词显示、url提取、歌单管理。
- 📝 提取b站视频音频并下载
- 📋 歌单管理与播放队列
- 🖼️ 毛玻璃视觉效果
- Vue 3 (Composition API + Script Setup)
- Vite
- Tailwind CSS
- Pinia 状态管理
- Vue Router
- FastAPI
- SQLite
- SQLAlchemy
项目提供了一键部署脚本,会自动检测并安装所需环境:
Windows: 双击 deploy.bat
Linux/Mac:
chmod +x deploy.sh
./deploy.sh脚本会自动:
- 检测/安装 Python(如未安装)
- 检测/安装 Node.js(如未安装)
- 创建 Python 虚拟环境
- 安装后端依赖
- 安装前端依赖
- 初始化数据库
- 启动后端和前端服务
启动完成后访问:
如果已具备 Python 和 Node.js 环境,也可以手动启动:
# 克隆项目
git clone https://github.com/你的用户名/music-station.git
cd music-station
# === 启动后端 ===
cd music-api
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 启动服务
uvicorn app.main:app --reload# === 启动前端 ===
cd music-web
# 安装依赖
npm install # 或 pnpm install
# 启动开发服务器
npm run devmusic-station/
├── deploy.bat # Windows 一键部署脚本
├── deploy.sh # Linux/Mac 一键部署脚本
├── README.md # 项目说明
├── CLAUDE.md # 项目规划文档
│
├── music-api/ # FastAPI 后端
│ ├── app/
│ │ ├── main.py # 主应用
│ │ ├── models.py # 数据模型
│ │ ├── schemas.py # Pydantic 模型
│ │ └── routers/ # API 路由
│ ├── seed.py # 种子数据
│ └── requirements.txt
│
└── music-web/ # Vue 3 前端
├── src/
│ ├── components/ # 组件
│ ├── stores/ # Pinia 状态
│ ├── services/ # API 服务
│ └── assets/ # 静态资源
├── package.json
└── vite.config.ts
启动后端后访问 http://localhost:8000/docs 查看 API 文档。
GET /api/songs- 获取歌曲列表(支持标签筛选)GET /api/songs/{id}- 获取歌曲详情GET /api/songs/tags- 获取所有标签GET /api/playlists- 获取歌单列表POST /api/playlists- 创建歌单
MIT