Skip to content

Repository files navigation

音乐播放平台

这是一个基于Vue.js开发的音乐播放平台,提供歌手浏览、音乐播放、收藏等功能。

功能特点

  • 用户登录与注册
  • 歌手列表浏览
  • 歌手详情页面展示
  • 音乐播放与收藏
  • 个人音乐库管理
  • 歌单创建与管理
  • 分页显示歌曲列表
  • 页面间便捷导航
  • 统一的返回逻辑(所有页面的返回功能都基于事件机制)
  • 美观的UI设计与流畅动画效果
  • 所有列表均支持分页功能,提升性能
  • 评论系统(支持对歌曲和歌单进行评论、点赞和点踩)

页面说明

歌曲详情页 (SongDetailPage)

歌曲详情页展示了歌曲的详细信息、封面、歌词和播放控件:

  • 高质量封面展示,播放时有旋转动画
  • 详细的歌曲信息(歌名、歌手、专辑等)
  • 实时滚动的歌词显示,支持点击歌词跳转
  • 完整的播放控制(播放/暂停、进度条、音量)
  • 智能返回功能(可根据来源自动返回歌单或歌手详情页)
  • 支持收藏/取消收藏歌曲

使用方法

  1. 从歌单详情页或歌手详情页点击歌曲进入歌曲详情页
  2. 使用页面中央的控件控制歌曲播放
  3. 查看歌词并可点击歌词跳转到指定位置
  4. 点击返回按钮会自动返回到进入前的页面(歌单或歌手详情页)

歌手列表页 (SingerPage)

歌手列表页面展示了所有歌手的信息,以卡片形式呈现:

  • 精美的网格布局展示歌手信息
  • 平滑的过渡动画,提升用户体验
  • 支持按歌手名称搜索
  • 分页功能,便捷浏览大量歌手信息
  • 加载状态指示,提升用户体验
  • 响应式布局,完美适配不同设备

使用方法

  1. 通过导航菜单进入歌手列表页
  2. 浏览歌手卡片,查看歌手基本信息
  3. 使用分页控件浏览更多歌手
  4. 点击歌手卡片进入对应歌手详情页

歌单列表页 (GedanPage)

歌单列表页面以卡片形式展示所有可用的歌单:

  • 优雅的网格布局展示歌单卡片
  • 精美的悬停效果和转场动画
  • 显示歌单名称和歌曲数量
  • 分页功能,高效浏览大量歌单
  • 加载状态和空数据提示,增强用户体验

使用方法

  1. 通过导航菜单进入歌单列表页
  2. 浏览歌单卡片,查看歌单信息
  3. 使用分页控件浏览更多歌单
  4. 点击歌单卡片进入对应歌单详情页

歌手详情页 (SingerDetailPage)

歌手详情页面展示了歌手的详细信息和热门歌曲列表,包括:

  • 歌手基本信息(姓名、英文名、粉丝数、专辑数、单曲数)
  • 歌手简介
  • 歌手详细资料(出生日期、地区、国籍、性别、出道日期、音乐风格、所属唱片公司)
  • 代表作品
  • 获奖记录
  • 热门歌曲列表(支持播放和收藏)
  • 分页功能,方便浏览大量歌曲
  • 返回按钮,直接返回到歌手列表页
  • 歌曲点击跳转,可直接进入歌曲详情页

使用方法

  1. 在歌手列表页面点击任意歌手卡片,系统会自动跳转到该歌手的详情页面
  2. 在详情页可以浏览歌手的详细信息
  3. 可以播放歌手的热门歌曲
  4. 可以收藏/取消收藏歌曲
  5. 使用页面底部的分页控件浏览更多歌曲
  6. 点击页面顶部的返回按钮可直接返回到歌手列表页
  7. 点击歌曲信息区域可跳转到该歌曲的详情页

技术特点

  • 响应式设计,适配不同屏幕尺寸
  • 丰富的动画效果,提升用户体验
  • 优化的音频播放控制,同时只能播放一首歌曲
  • 分页组件,支持页码跳转和页面切换
  • 页面间无缝导航,提升用户体验
  • 统一的页面返回逻辑,保持一致的用户体验
  • 智能的上下文切换,记录页面来源确保返回正确
  • 懒加载图片,优化页面加载性能
  • 过渡动画,增强用户交互体验

评论功能 (CommentSection)

评论组件是一个可复用的功能模块,集成在歌曲详情页和歌单详情页中:

  • 支持发表评论和评分
  • 高赞评论置顶显示
  • 点赞和点踩功能
  • 评论分页与优化加载
  • 时间格式化(如"3小时前"、"刚刚")
  • 响应式设计,适配各种屏幕尺寸
  • 动画效果,提升用户体验

使用方法

  1. 在歌曲详情页或歌单详情页底部查看评论区
  2. 点击"写评论"按钮发表新评论
  3. 对歌曲评论时可以同时评分
  4. 可以对他人评论进行点赞或点踩
  5. 使用分页控件浏览更多评论

项目结构

src/
├── api/                # API请求相关
├── assets/             # 静态资源
├── components/         # 组件
│   ├── com/            # 公共组件
│   │   ├── Pagination.vue        # 分页组件
│   │   ├── CommentSection.vue    # 评论组件
│   │   └── ...
│   ├── qiantaiPage/    # 前台页面组件
│   │   ├── singerPage.vue         # 歌手列表页面
│   │   ├── singerDetailPage.vue   # 歌手详情页面
│   │   ├── songDetailPage.vue     # 歌曲详情页面
│   │   ├── gedanPage.vue          # 歌单列表页面
│   │   ├── gedanMusicPage.vue     # 歌单详情页面
│   │   ├── musicPage.vue          # 音乐列表页面
│   │   └── ...
│   └── ...
├── router/             # 路由配置
└── ...

开发与部署

开发环境

# 安装依赖
npm install

# 启动开发服务器
npm run serve

生产环境

# 构建生产版本
npm run build

后续计划

  • 添加更多动画效果
  • 优化移动端体验
  • 增加社交分享功能
  • 优化分页加载性能
  • 增强页面间导航体验
  • 添加黑暗模式支持
  • 引入更多交互特效
  • 完善上下文感知导航机制

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages