白名单过滤
router.beforeEach((to, from, next) =>{
var white = ['/reg', '/login']
if (white.indexOf(to.path) >= 0){
next()
} else {
var token = localStorage.getItem('token')
if (token){
next()
} else {
router.push('/login')
}
}
})
请求前拦截器
axios.interceptors.request.use(config=>{
console.log('请求前的拦截器:', config)
var token = localStorage.getItem('token')
if (token){
config.headers['token'] = token
}
return config
})
响应拦截器
axios.interceptors.response.use(function (response) {
console.log('响应拦截器的响应:', response)
if (response.data.code == 403){
router.push('/login')
return response
}else{
return response
}
}, function (error) {
return Promise.reject(error);
});
定时器
<template>
<el-button @click='smsCode' :disabled='status'>{{msg}}</el-button>
</template>
<script>
export default {
data() {
status: false,
msg: '获取验证码',
time: 60
},
metheds: {
smsCode() {
var t = setInterval(() =>{
if (this.time == 0) {
this.msg = '发送验证码';
this.status = false;
this.time = 60;
clearInterval(t);
} else {
this.msg = this.time + '秒';
this.time--;
this.status = true;
}
}, 1000);
}
}
}
</script>
强制刷新页面
window.location.reload()
获取参数
<template slot-scope="scope">
<el-button @click="addResource(scope.row.id)">配置资源</el-button>
</template>