5.6 KiB
Executable File
5.6 KiB
Executable File
🎵 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:使用启动脚本(推荐)
# Windows
start.bat
方法2:手动启动
# 安装依赖
go mod tidy
# 启动服务器
go run .
访问应用
- 新版应用(推荐): http://localhost:2233/app
- 旧版界面: 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
- 单文件应用(无需构建)
🐛 已知限制
- 数据存储:使用JSON文件存储,适合小规模使用
- Token过期:Token不会自动过期,关闭浏览器需重新登录
- 并发:多用户同时操作时有文件锁保护
🔮 未来计划
- SQLite数据库支持
- Token自动刷新
- 歌单分享功能
- 播放历史记录
- 歌词同步显示
- 主题切换(暗色/亮色)
- 社交功能(关注、评论)
📞 技术支持
遇到问题?
- 查看
USER_SYSTEM_README.md详细文档 - 检查服务器控制台日志
- 确认所有依赖已安装
- 验证端口2233未被占用
开始享受您的专属音乐平台吧! 🎵✨
喵波音律-音乐家园QQ交流群:865754861