Files
MeowMusicServer/新功能说明.md
2025-12-09 16:33:44 +08:00

223 lines
5.6 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🎵 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