rebase
This commit is contained in:
222
新功能说明.md
Executable file
222
新功能说明.md
Executable file
@@ -0,0 +1,222 @@
|
||||
# 🎵 Meow Music - 用户系统升级完成
|
||||
|
||||
## 🎉 新增功能
|
||||
|
||||
### 1. 完整的用户认证系统
|
||||
- ✅ **用户注册** - 使用用户名、邮箱和密码注册账户
|
||||
- ✅ **用户登录** - 安全的登录验证
|
||||
- ✅ **会话管理** - 基于Token的身份认证
|
||||
- ✅ **密码加密** - 使用bcrypt加密存储密码
|
||||
|
||||
### 2. 个人歌单管理
|
||||
- ✅ **我喜欢** - 每个用户独立的收藏夹
|
||||
- ✅ **创建歌单** - 自定义歌单名称和描述
|
||||
- ✅ **添加歌曲** - 将搜索到的歌曲添加到歌单
|
||||
- ✅ **删除歌曲** - 从歌单中移除歌曲
|
||||
- ✅ **删除歌单** - 删除自定义歌单("我喜欢"除外)
|
||||
|
||||
### 3. 现代化前端界面
|
||||
- ✅ **React + TailwindCSS** - 现代化UI设计
|
||||
- ✅ **响应式布局** - 完美支持桌面和移动设备
|
||||
- ✅ **实时搜索** - 快速搜索在线音乐
|
||||
- ✅ **在线播放** - 直接在浏览器中播放音乐
|
||||
- ✅ **渐变背景** - 美观的紫色渐变主题
|
||||
|
||||
## 📁 新增文件
|
||||
|
||||
### 后端文件
|
||||
```
|
||||
MeowEmbeddedMusicServer/
|
||||
├── struct.go (更新) 新增用户和歌单数据结构
|
||||
├── user.go (新增) 用户认证和管理
|
||||
├── playlist.go (更新) 扩展歌单管理功能
|
||||
├── main.go (更新) 添加新的API路由
|
||||
├── go.mod (更新) 添加bcrypt依赖
|
||||
└── index.go (更新) 支持新应用路由
|
||||
```
|
||||
|
||||
### 前端文件
|
||||
```
|
||||
theme/
|
||||
└── music-app.html (新增) 完整的React单页应用
|
||||
```
|
||||
|
||||
### 配置和文档
|
||||
```
|
||||
├── USER_SYSTEM_README.md (新增) 详细使用文档
|
||||
├── 新功能说明.md (新增) 功能概览
|
||||
└── start.bat (新增) 快速启动脚本
|
||||
```
|
||||
|
||||
### 数据文件(运行时自动创建)
|
||||
```
|
||||
files/
|
||||
├── users.json 用户账户数据
|
||||
├── user_playlists.json 用户歌单数据
|
||||
└── playlists.json 旧版歌单(兼容)
|
||||
```
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 方法1:使用启动脚本(推荐)
|
||||
```batch
|
||||
# Windows
|
||||
start.bat
|
||||
```
|
||||
|
||||
### 方法2:手动启动
|
||||
```bash
|
||||
# 安装依赖
|
||||
go mod tidy
|
||||
|
||||
# 启动服务器
|
||||
go run .
|
||||
```
|
||||
|
||||
### 访问应用
|
||||
1. **新版应用(推荐)**: http://localhost:2233/app
|
||||
2. **旧版界面**: http://localhost:2233/
|
||||
|
||||
## 🎨 界面预览
|
||||
|
||||
### 登录/注册页面
|
||||
- 渐变紫色背景
|
||||
- 玻璃拟态效果
|
||||
- 切换登录/注册模式
|
||||
- 实时表单验证
|
||||
|
||||
### 主应用界面
|
||||
- **侧边栏**:显示搜索、我喜欢、自定义歌单
|
||||
- **主内容区**:
|
||||
- 搜索音乐界面
|
||||
- 歌单详情展示
|
||||
- 音乐播放控制
|
||||
- **顶部导航**:用户信息、退出登录
|
||||
|
||||
### 功能特性
|
||||
- 🎵 实时音乐搜索
|
||||
- ▶️ 在线播放音乐
|
||||
- ❤️ 添加到"我喜欢"
|
||||
- 📋 创建自定义歌单
|
||||
- 🎯 快速添加到歌单
|
||||
- 🗑️ 删除歌曲/歌单
|
||||
|
||||
## 🔌 API端点
|
||||
|
||||
### 用户认证
|
||||
```
|
||||
POST /api/auth/register 注册
|
||||
POST /api/auth/login 登录
|
||||
POST /api/auth/logout 登出
|
||||
GET /api/auth/me 获取当前用户
|
||||
```
|
||||
|
||||
### 歌单管理(需要登录)
|
||||
```
|
||||
GET /api/user/playlists 获取所有歌单
|
||||
POST /api/user/playlists/create 创建歌单
|
||||
POST /api/user/playlists/add-song 添加歌曲
|
||||
DELETE /api/user/playlists/remove-song 移除歌曲
|
||||
DELETE /api/user/playlists/delete 删除歌单
|
||||
```
|
||||
|
||||
### 音乐搜索
|
||||
```
|
||||
GET /stream_pcm?song=歌名&singer=歌手 搜索音乐
|
||||
```
|
||||
|
||||
### 旧版API(向后兼容)
|
||||
```
|
||||
POST /api/favorite/add 添加收藏
|
||||
POST /api/favorite/remove 移除收藏
|
||||
GET /api/favorite/list 收藏列表
|
||||
GET /api/favorite/check 检查收藏
|
||||
```
|
||||
|
||||
## 💡 使用示例
|
||||
|
||||
### 1. 注册新用户
|
||||
访问 http://localhost:2233/app,点击"注册":
|
||||
- 输入用户名:`musiclover`
|
||||
- 输入邮箱:`lover@music.com`
|
||||
- 输入密码:`password123`
|
||||
- 点击"注册"
|
||||
|
||||
### 2. 搜索音乐
|
||||
登录后,在搜索框输入:
|
||||
- 歌曲名:`告白气球`
|
||||
- 点击"搜索"
|
||||
|
||||
### 3. 播放音乐
|
||||
搜索结果显示后:
|
||||
- 点击"▶ 播放"按钮即可播放
|
||||
|
||||
### 4. 添加到歌单
|
||||
搜索到音乐后:
|
||||
- 使用下拉菜单选择"我喜欢"
|
||||
- 歌曲自动添加到歌单
|
||||
|
||||
### 5. 创建自定义歌单
|
||||
在侧边栏"我的歌单"旁:
|
||||
- 点击"+"按钮
|
||||
- 输入歌单名称
|
||||
- 确认创建
|
||||
|
||||
## 🔒 安全特性
|
||||
|
||||
- ✅ 密码使用bcrypt加密
|
||||
- ✅ Token-based会话管理
|
||||
- ✅ API请求认证保护
|
||||
- ✅ 用户数据隔离
|
||||
- ✅ 安全的密码存储
|
||||
|
||||
## 📱 兼容性
|
||||
|
||||
- ✅ 现代浏览器(Chrome, Firefox, Safari, Edge)
|
||||
- ✅ 移动设备浏览器
|
||||
- ✅ 向后兼容旧版API
|
||||
- ✅ ESP32设备访问支持
|
||||
|
||||
## 🎯 技术栈
|
||||
|
||||
### 后端
|
||||
- Go 1.25
|
||||
- bcrypt 密码加密
|
||||
- JSON 数据存储
|
||||
- Token 认证
|
||||
|
||||
### 前端
|
||||
- React 18
|
||||
- TailwindCSS
|
||||
- 原生JavaScript
|
||||
- 单文件应用(无需构建)
|
||||
|
||||
## 🐛 已知限制
|
||||
|
||||
1. **数据存储**:使用JSON文件存储,适合小规模使用
|
||||
2. **Token过期**:Token不会自动过期,关闭浏览器需重新登录
|
||||
3. **并发**:多用户同时操作时有文件锁保护
|
||||
|
||||
## 🔮 未来计划
|
||||
|
||||
- [ ] SQLite数据库支持
|
||||
- [ ] Token自动刷新
|
||||
- [ ] 歌单分享功能
|
||||
- [ ] 播放历史记录
|
||||
- [ ] 歌词同步显示
|
||||
- [ ] 主题切换(暗色/亮色)
|
||||
- [ ] 社交功能(关注、评论)
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
遇到问题?
|
||||
1. 查看 `USER_SYSTEM_README.md` 详细文档
|
||||
2. 检查服务器控制台日志
|
||||
3. 确认所有依赖已安装
|
||||
4. 验证端口2233未被占用
|
||||
|
||||
---
|
||||
|
||||
**开始享受您的专属音乐平台吧!** 🎵✨
|
||||
|
||||
喵波音律-音乐家园QQ交流群:865754861
|
||||
Reference in New Issue
Block a user