一个月能干点啥?我写完 VUE 音乐播放器 | 原力计划
banner图API
推荐歌单API (rnd的参数是使用Math.random()生成的)
歌单详情API
歌手API
歌手详情API (singermid 是从歌手API中返回的数据中得到的)
排行榜API
排行榜详情API (topid是从排行榜API得到的)
搜索API (我直接用老师的线上的API了,不过还是要做代理)
热门搜索API
歌词API (pcachetime 是使用 +new Date()生成的)
播放地址API (songmid 里面的参数是歌曲的songmid)
├── README.md
├── build
│ ├── build.js
│ ├── check-versions.js
│ ├── utils.js
│ ├── vue-loader.conf.js
│ ├── webpack.base.conf.js // alias在这里配置
│ ├── webpack.dev.conf.js // favicon可以在这里配置
│ └── webpack.prod.conf.js
├── config
│ ├── dev.env.js
│ ├── index.js
│ └── prod.env.js
├── index.html // 入口html文件
├── package-lock.json
├── package.json
├── prod.server.js
├── src // 源码目录
│ ├── App.vue
│ ├── api // 接口
│ │ ├── config.js // 公共配置
│ │ ├── rank.js
│ │ ├── recommend.js
│ │ ├── search.js
│ │ ├── singer.js
│ │ └── song.js
│ ├── base // 公共组件
│ │ ├── confirm // 确认组件
│ │ │ └── confirm.vue
│ │ ├── dialog // 弹出组件
│ │ │ ├── dialog.vue
│ │ │ └── vip.png
│ │ ├── listview // 歌手列表组件
│ │ │ └── listview.vue
│ │ ├── loading // 加载组件
│ │ │ ├── loading.gif
│ │ │ └── loading.vue
│ │ ├── no-result // 无结果组件
│ │ │ ├── no-result.vue
│ │ │ ├── no-result@2x.png
│ │ │ └── no-result@3x.png
│ │ ├── progress-bar // 进度条组件
│ │ │ └── progress-bar.vue
│ │ ├── progress-circle // 圆形进度条组件
│ │ │ └── progress-circle.vue
│ │ ├── scroll // 滚动组件(较核心组件)
│ │ │ └── scroll.vue
│ │ ├── search-box // 搜索框组件
│ │ │ └── search-box.vue
│ │ ├── search-list // 用于搜索历史
│ │ │ └── search-list.vue
│ │ ├── slider // 轮播图组件
│ │ │ └── slider.vue
│ │ ├── song-list // 歌曲组件(用于music-list组件)
│ │ │ ├── first@2x.png
│ │ │ ├── first@3x.png
│ │ │ ├── second@2x.png
│ │ │ ├── second@3x.png
│ │ │ ├── song-list.vue
│ │ │ ├── third@2x.png
│ │ │ └── third@3x.png
│ │ ├── switches // 切换组件(user-center组件有用)
│ │ │ └── switches.vue
│ │ └── top-tip // 顶部提示组件
│ │ └── top-tip.vue
│ ├── common // 存放js、stylus、图片、小图标
│ │ ├── fonts // 小图标文件存放所在地
│ │ │ ├── music-icon.eot
│ │ │ ├── music-icon.svg
│ │ │ ├── music-icon.ttf
│ │ │ └── music-icon.woff
│ │ ├── image // 存放logo和favicon
│ │ │ ├── default.png
│ │ │ └── favicon.ico
│ │ ├── js // js库
│ │ │ ├── cache.js // 处理localStorage
│ │ │ ├── config.js
│ │ │ ├── dom.js // 处理dom
│ │ │ ├── jsonp.js // jsonp的封装
│ │ │ ├── mixin.js // mixin
│ │ │ ├── singer.js
│ │ │ ├── song.js
│ │ │ └── utill.js // 节流函数,生成随机数
│ │ └── stylus // 公共样式
│ │ ├── base.styl
│ │ ├── icon.styl
│ │ ├── index.styl
│ │ ├── mixin.styl
│ │ ├── reset.styl
│ │ └── variable.styl
│ ├── components // 组件
│ │ ├── add-song // 组件
│ │ │ └── add-song.vue
│ │ ├── disc // 组件
│ │ │ └── disc.vue
│ │ ├── m-header // 头部组件
│ │ │ ├── logo@2x.png
│ │ │ ├── logo@3x.png
│ │ │ └── m-header.vue
│ │ ├── music-list // 歌曲列表组件(使用比较多)
│ │ │ └── music-list.vue
│ │ ├── player // 播放组件(核心组件)
│ │ │ └── player.vue
│ │ ├── playlist // 播放列表组件
│ │ │ └── playlist.vue
│ │ ├── rank // 排行组件
│ │ │ └── rank.vue
│ │ ├── recommend // 推荐组件
│ │ │ └── recommend.vue
│ │ ├── search // 搜索组件
│ │ │ └── search.vue
│ │ ├── singer // 歌手组件
│ │ │ └── singer.vue
│ │ ├── singer-detail // 歌手详情组件
│ │ │ └── singer-detail.vue
│ │ ├── suggest // 输入搜索内容出现的列表
│ │ │ └── suggest.vue
│ │ ├── tab // 路由切换组件
│ │ │ └── tab.vue
│ │ ├── top-list // 排行详情组件
│ │ │ └── top-list.vue
│ │ └── user-center // 用户中心组件
│ │ └── user-center.vue
│ ├── main.js // 程序入口文件,加载各种公共组件
│ ├── router
│ │ └── index.js // 路由配置
│ └── store // vuex的状态管理
│ ├── actions.js // 配置actions
│ ├── getters.js // 配置getters
│ ├── index.js // 引用vuex,创建store
│ ├── mutation-types.js // 定义常量muations名
│ ├── mutations.js // 配置mutations
│ └── state.js // state状态
└── static
└── logo.png
更多精彩推荐
☞15 岁黑进系统,发挑衅邮件意外获 Offer,不惑之年捐出全部财产,Twitter CEO 太牛了!
☞雷军:4G 手机已清仓,全力转 5G;QQ音乐播放中途插语音广告引热议;Wine 5.9 发布 | 极客头条
☞实操来了!一文告诉你如何用 Streamlit 和 Heroku 开发 Web