Vue-mmPlayer —— 基于 Vue 的在线音乐播放器
Vue-mmPlayer 是一个基于 Vue 的在线音乐播放器。模仿 QQ 音乐网页版界面,采用 flexbox
和 position
布局; mmPlayer 虽然是响应式,但主要以 PC 端为主,移动端只做相应适配; 只做主流浏览器兼容。
api:一个开源的网易云音乐 NodeJS 版 API
技术栈
- Vue Cli(Vue 脚手架工具)
- Vue(核心框架)
- Vue Router(页面路由)
- Vuex(状态管理)
- ES 6 / 7 (JavaScript 语言的下一代标准)
- Less(CSS 预处理器)
- Axios(网络请求)
- FastClick(解决移动端 300ms 点击延迟)
项目结构目录图(使用 tree 生成)
├── public // 静态资源目录 │ └─index.html // 入口 html 文件 ├── screenshots // 项目截图 ├── src // 项目源码目录 │ ├── api // 数据交互目录 │ │ └── index.js // 获取数据 │ ├── assets // 资源目录 │ │ └── background // 启动背景图目录 │ │ └── img // 静态图片目录 │ ├── base // 公共基础组件目录 │ │ ├── mm-dialog │ │ │ └── mm-dialog.vue // 对话框组件 │ │ ├── mm-icon │ │ │ └── mm-icon.vue // icon 组件 │ │ ├── mm-loading │ │ │ └── mm-loading.vue // 加载动画组件 │ │ ├── mm-no-result │ │ │ └── mm-no-result.vue // 暂无数据提示组件 │ │ ├── mm-progress │ │ │ └── mm-progress.vue // 进度条拖动组件 │ │ └── mm-toast │ │ ├── index.js // mm-toast 组件插件化配置 │ │ └── mm-toast.vue // 弹出层提示组件 │ ├── components // 公共项目组件目录 │ │ ├── lyric │ │ │ └── lyric // 歌词和封面组件 │ │ └── mm-header │ │ │ └── mm-header.vue // 头部组件 │ │ ├── music-btn │ │ │ └── music-btn.vue // 按钮组件 │ │ ├── music-list │ │ │ └── music-list.vue // 列表组件 │ │ └── volume │ │ └── volume.vue // 音量控制组件 │ ├── pages // 页面组件目录 │ │ ├── comment │ │ │ └── comment.vue // 评论 │ │ ├── details │ │ │ └── details.vue // 排行榜详情 │ │ ├── historyList │ │ │ └── historyList.vue // 我听过的(播放历史) │ │ ├── playList │ │ │ └── playList.vue // 正在播放 │ │ ├── search │ │ │ └── search.vue // 搜索 │ │ ├── topList │ │ │ └── topList.vue // 排行榜页面 │ │ ├── userList │ │ │ └── userList.vue // 我的歌单 │ │ ├── mmPlayer.js // 播放器事相关件绑定 │ │ └── music.vue // 播放器主页面 │ ├── router │ │ └── index.js // 路由配置 │ ├── store // vuex 的状态管理 │ │ ├── actions.js // 配置 actions │ │ ├── getters.js // 配置 getters │ │ ├── index.js // 引用 vuex,创建 store │ │ ├── mutation-types.js // 定义常量 mutations 名 │ │ ├── mutations.js // 配置 mutations │ │ └── state.js // 配置 state │ ├── styles // 样式文件目录 │ │ ├── index.less // mmPlayer 相关基础样式 │ │ ├── mixin.less // 样式混合 │ │ ├── reset.less // 样式重置 │ │ └── var.less // 样式变量(字体大小、字体颜色、背景颜色) │ ├── js // 数据交互目录 │ │ ├── hack.js // 修改 nextTick │ │ ├── mixin.js // 组件混合 │ │ ├── song.js // 数据处理 │ │ ├── storage.js // localStorage 配置 │ │ └── util.js // 公用 js 方法 │ ├── App.vue // 根组件 │ ├── config.js // 基本配置 │ └── main.js // 入口主文件 └── vue.config.js // vue-cli 配置文件
功能
- 播放器
- 快捷键操作
- 歌词滚动
- 正在播放
- 排行榜
- 歌单详情
- 搜索
- 播放历史
- 查看评论
- 同步网易云歌单

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Dash to Dock 添加 GNOME 40 支持
流行的桌面扩展坞扩展 Dash to Dock 最终添加了 GNOME 40 支持,用户可以从 GNOME 扩展网站在 GNOME 40 上安装。 Dash to dock 扩展是 GNOME Shell 的一个增强型 dash,它将默认的仪表盘从概览中移出,并将其转换为一个停靠区,以便更容易地启动应用程序,并在窗口和工作区之间更快地切换,而无需离开桌面视图,从而改善 Linux 系统或 GNOME 运行的工作流程。 该扩展与GNOME 40 桌面兼容的工作早在四月就开始了,不过此前用户需要从 Github 上手动安装开发版本来进行试用。现在,该插件的第 70 版获得了对 GNOME 40 及其水平工作区和应用程序启动器的正式支持。停靠区可以被放置在屏幕的不同侧面,并且在退出概览后仍然可以访问。 Dash to Dock 是免费的开源软件,GitHub 上提供了源代码(以及包下载),不过用户也可以选择从 GNOME 扩展网站安装,并且安装后重启 GNOME Shell 即可。
- 下一篇
Linux 将不再默认启用 AMD SME
邮件列表显示,由于某些平台上的缺点,Linux 内核将不再默认在支持的硬件上使用 AMD 安全内存加密 (SME)。 自从将 AMD SME 支持引入 Linux 内核以来,当内核中内置 SME 支持 (AMD_MEM_ENCRYPT) 时,安全内存加密都会默认激活。"AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT" 的默认设置允许开箱即用地使用安全内存加密,而无需指定任何额外的内核参数等。然而,这导致了某些平台上的启动失败,尤其是 IOMMU 以及一些图形驱动程序,不希望对内存进行加密。 默认情况下不使用 AMD SME 的更改源于相关平台问题 Raven Ridge,以及默认情况下尝试 SME 可能导致的启动失败。不过,由于 SME 需要在内核启动过程的早期阶段启用,至少目前不可能有增强的逻辑来以更健壮的方式确定何时可以在没有用户交互的情况下启用/禁用 SME。 因此,随着x86/urgent pr进入 Linux 5.15,然后向后移植到以前的内核,AMD 内存加密将不会默认启用。如果当前内核已经包含了 AMD 内存加密代码,则仍然可以通过设置 "mem_en...
相关文章
文章评论
共有0条评论来说两句吧...