Git Product home page Git Product logo

music-vue's Introduction

Vue Music webApp

Vue 音乐App、数据抓取自QQ音乐

Vue vue-cli Vue vuex vue-router axios better-scroll vue-lazyload

在线演示

为了更好的体验,请用开发者工具模拟移动端体验

扫二维码在手机上查看
效果更好

服务器身在国外,网络可能会有波动

项目截图

主要技术栈

【前端】

  • Vue:用于构建用户界面的 MVVM 框架。它的核心是响应的数据绑定组系统件
  • vue-router:为单页面应用提供的路由系统,项目上线前使用 Lazy Loading Routes 来实现异步加载优化性能
  • vuex:Vue 的集中状态管理,在多个组件共享某些状态时非常便捷,适用于中大型项目
  • vue-lazyload:第三方图片懒加载库,优化页面加载速度
  • better-scroll:iscroll 的优化版,使移动端滑动体验更加流畅,轮播图也是利用此制作
  • Sass(Scss):css 预编译处理器
  • ES6:项目中用到的模块化、解构赋值、Promise、Class 等方法非常好用

【后端】

  • Node.js:利用 Express 起一个本地数据抓取服务器
  • jsonp:服务端通讯。抓取 QQ音乐(移动端)数据(后面数据改为全部用axios实现抓取)
  • axios:服务端通讯。结合 Node.js 代理后端请求,抓取 QQ音乐(PC端)数据

【自动化构建及其他工具】

  • vue-cli:Vue 脚手架工具,快速初始化项目代码,以及 webpack 的配置(汗颜…)
  • eslint:代码风格检查工具,规范代码书写
  • vConsole:移动端调试工具,在移动端输出日志
  • Charles:方便查看移动端网络请求数据

实现细节

主要页面:播放器内核页、推荐页、歌单详情页、歌手页、歌手详情页、排行页、搜索页、添加歌曲页、个人中心页等。 核心页面:播放器内核页

项目结构

TODO

  1. 歌曲数据全部来自 QQ 音乐,接口改变了可能就要修改 jsonpaxios 代码
  2. 由于项目的应用级状态不多(10个左右),所以就没有将 actionmutation、和 getters 分割到单独的文件。但这样架构并不便于维护

Build Setup

# clone the repo into your disk.
$ git clone [email protected]:nanyang24/music-vue.git

# install dependencies
$ npm install

# serve with hot reload at localhost:8080
$ npm run dev

# build for production with minification
$ npm run build

License

The code is available under the MIT license.

music-vue's People

Contributors

nanyang24 avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.