vue模仿网易云音乐的单页面应用


Posted in Javascript onApril 24, 2019

说明

一直想做一个基于VUE的项目,但是因为项目往往要涉及到后端的知识(不会后端真的苦),所以就没有一直真正的动手去做一个项目。

直到发现GitHub上有网易云音乐的api NeteaseCloudMusicApi ,才开始动手去做。

仅仅完成了首页,登入,歌单,歌曲列表页。

项目地址

https://github.com/qp97vi/music

项目成功运行还要把后端api在本地运行

前端技术栈

vue2+vuex+vue-router+axios+mint-ui+webpack

遇到的问题

1.前端路由拦截

想做一个登录拦截,验证没有登录之前,就跳转到登录页面

解决方法是:通过http response 拦截器判断token(本地的cookie)判断

创建一个http.js

import axios from 'axios'
import store from './store/store'
import * as types from './store/types'
import router from './router/index'

// axios 配置
axios.defaults.timeout = 5000
axios.defaults.baseURL = 'https://api.github.com'

// http request 拦截器
axios.interceptors.request.use(
 config => {
  if (store.state.xsrfCookieName) {
   config.headers.Authorization = `xsrfCookieName ${store.state.xsrfCookieName}`
  }
  return config
 },
 err => {
  return Promise.reject(err)
 },
)

// http response 拦截器
axios.interceptors.response.use(
 response => {
  return response
 },
 error => {
  if (error.response) {
   switch (error.response.status) {
    case 401:
     // 401 清除token信息并跳转到登录页面
     store.commit(types.LOGOUT)
     
     // 只有在当前路由不是登录页面才跳转
     router.currentRoute.path !== 'login' &&
      router.replace({
       path: 'login',
       query: { redirect: router.currentRoute.path },
      })
   }
  }
  // console.log(JSON.stringify(error));//console : Error: Request failed with status code 402
  return Promise.reject(error.response.data)
 },
)

export default axios

2.路由懒加载

{
   path:'/my',
   name:'my',
    meta:{
    requireAuth:true,
   },
   component:resolve=>{
    Indicator.open('加载中...');
    require.ensure(['@/views/my'], () => {
     resolve(require('@/views/my'))
     Indicator.close()
    })
   }
  },

总结

以上所述是小编给大家介绍的vue模仿网易云音乐的单页面应用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
非常不错的功能强大代码简单的管理菜单美化版
Jul 09 Javascript
js 巧妙去除数组中的重复项
Jan 25 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
Apr 15 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
Feb 21 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
May 05 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
Jan 13 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
Apr 17 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
js判断所有表单项不为空则提交表单的实现方法
Sep 09 Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 Javascript
详解Angular6.0使用路由步骤(共7步)
Jun 29 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
Apr 24 #Javascript
详解关于webpack多入口热加载很慢的原因
Apr 24 #Javascript
微信小程序实现的一键连接wifi功能示例
Apr 24 #Javascript
vue router 通过路由来实现切换头部标题功能
Apr 24 #Javascript
js实现全选反选不选功能代码详解
Apr 24 #Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
Apr 24 #Javascript
Vue源码解析之数据响应系统的使用
Apr 24 #Javascript
You might like
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
php实现简单文件下载的方法
2015/01/30 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
CodeIgniter配置之routes.php用法实例分析
2016/01/19 PHP
使用forever管理nodejs应用教程
2014/06/03 NodeJs
初识SmartJS - AOP三剑客
2014/06/08 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
理解javascript闭包
2015/12/15 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
《风娃娃》教学反思
2014/04/19 职场文书
化学专业自荐信
2014/05/28 职场文书
走进敬老院活动总结
2014/07/10 职场文书
2015年财政所工作总结
2015/04/25 职场文书
红色电影观后感
2015/06/18 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书