This commit is contained in:
2025-12-09 16:33:44 +08:00
parent 345af5e2a3
commit 1d42f5ea50
49 changed files with 12015 additions and 1 deletions

222
新功能说明.md Executable file
View 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