axios 部分:

import axios from 'axios'
import cookie from './cookie.js'
// import constVal from './constVal.js' const axiosInstance = axios.create({
timeout: 1000 * 60 * 5
}) axiosInstance.interceptors.response.use(response => {
// 接口数据返回之后response拦截
if (response.status !== 200) {
let message = response.toString() || response.status + ':请求失败'
return Promise.reject(message)
}
let rst = response.data
if (rst && rst.xxx) {
cookie.del('x.xxx.com', '/', 'xxx.com')
location.href = rst.xxx + location.href
}
return response.data
}, err => {
return Promise.reject(err)
}) export default {
get (url, params, config) {
const options = Object.assign({}, config, {
method: 'get',
url,
params
// timeout: 10000,
})
return axiosInstance(options).then(response => {
return response
}).catch(error => {
return Promise.reject(error)
})
},
post (url, params, data, config) {
const options = Object.assign({}, config, {
method: 'post',
url,
params,
data
})
return axiosInstance(options).then(response => {
return response
}).catch(error => {
return Promise.reject(error)
})
},
put (url, params, data, config) {
const options = Object.assign({}, config, {
method: 'put',
url,
params,
data
})
return axiosInstance(options).then(response => {
return response
}).catch(error => {
return Promise.reject(error)
})
},
delete (url, params, data, config) {
const options = Object.assign({}, config, {
method: 'delete',
url,
params,
data
})
return axiosInstance(options).then(response => {
return response
}).catch(error => {
return Promise.reject(error)
})
},
all (...array) {
return Promise.all(array).then(resList => {
return resList
}).catch(error => {
return Promise.reject(error)
})
}
}

cookie 部分:

export default {
get: function (name) {
let r = new RegExp('(^|;|\\s+)' + name + '=([^;]*)(;|$)')
let m = document.cookie.match(r)
return (!m ? null : unescape(m[2]))
},
add: function (name, v, path, expire, domain) {
var s = name + '=' + escape(v) + '; path=' + (path || '/') + (domain ? ('; domain=' + domain) : '') // 默认根目录
if (expire > 0) {
var d = new Date()
d.setTime(d.getTime() + expire * 1000)
s += ';expires=' + d.toGMTString()
}
document.cookie = s
},
del: function (name, path, domain) {
if (arguments.length === 2) {
domain = path
path = '/'
}
document.cookie = name + '=;path=' + path + ';' + (domain ? ('domain=' + domain + ';') : '') + 'expires=Thu, 01-Jan-70 00:00:01 GMT'
}
}

main.js 中引用: 

import http from './utils/http.js'
Vue.prototype.http = http // 使用方法为:this.http

【vue】axios + cookie + 跳转登录方法的更多相关文章

  1. Cookie跳转登录验证码

    对于web应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的, 对于系统来说使用验证码可以有效果的防止采用机器猜测方 ...

  2. Webdriver+Java实现使用cookie跳过登录

    Webdriver+Java实现使用cookie跳过登录   Webdriver模拟登录过程中很有可能遇到验证码,最近认真学习了下如何使用cookie直接跳过登录过程. 一.cookie的定义 来源百 ...

  3. 自动化测试 -- 通过Cookie跳过登录验证码

    之前写过一篇博客:自动化测试如何解决验证码的问题. http://www.cnblogs.com/fnng/p/3606934.html 介绍了验证码的几种处理方式,最后一种就是通过Cookie跳转过 ...

  4. python通过Cookie跳过登录验证码

    1.通过浏览器获取登录cookie,找到重要的两个参数“BAIDUID”和“BDUSS”: 2.编写Selenium自动化测试脚本,跳过登录. from selenium import webdriv ...

  5. 通过Cookie跳过登录验证码【限cookie不失效有用】

    验证码,相信每个写web自动化测试的同学来说,都是个头疼的事,怎么办呢? 方法还是有的,先说今天这种方式,通过cookie绕过登录验证码 思路: 需要你通过抓包工具抓到你登录的cookie 接下来开始 ...

  6. vue axios拦截跳转

    第一步:添加需要拦截的页面 { path: '/control', name: 'Control', meta: { requireAuth: true }, 第二步:页面拦截 router.befo ...

  7. Vue+axios 拦截,超时登录问题

    axios.interceptors.request.use(config => config, error => Promise.reject(error)); axios.interc ...

  8. vue axios路由跳转取消所有请求 和 防止重复请求

    直接上干货 在发送第二次请求的时候如果第一次请求还未返回,则取消第一次请求,以保证后发送的请求返回的数据不会被先发送的请求覆盖. 或者是跳转路由的时候取消还未返回的请求 第一步: axios 怎么取消 ...

  9. vue axios封装以及登录token过期跳转问题

    Axios配置JWT/封装插件/发送表单数据 首先请务必已仔细阅读 Axios 文档并熟悉 JWT: 中文文档 JWT 中文文档 安装 npm install axios npm install es ...

随机推荐

  1. BurpSuite 汉化版(含注册机)安装教程

      1.注册机使用方法 首先需要完成java安装及环境变量配置. 打开burp-loader-keygen.jar(注册机)--点击run--license text (随意写)--然后将生成的lic ...

  2. php如何获取单选复选和选择框的值

    1.很久没有写基础的东西了复习一下(往往简单的东西才复杂) <body> 选择语句 <form action="demo.php" method="po ...

  3. [转]三分钟学会.NET Core Jwt 策略授权认证

    [转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而 ...

  4. C#中怎样获取System.Drawing.Color的所有颜色对象并存到数组中

    场景 需要在生成一组多条曲线时,随机从一颜色数组中取颜色,至少一百种颜色以上. 而System.Drawing.Color自带140多种颜色 那么怎样将其自带的颜色对象取出并存在数组中. 注: 博客主 ...

  5. The Number of Inversions

    For a given sequence A={a0,a1,...an−1}A={a0,a1,...an−1}, the number of pairs (i,j)(i,j) where ai> ...

  6. JVM学习-环境构建

    想学习JVM,java虚拟机的底层原理.下面介绍下怎么将Java文件compiler成字节码,然后反编译为二进制查看分析. 一.JavaClass.java文件: package com.gqz.ja ...

  7. 题解 AT3853 【Otoshidama】

    题目传送门. 暴力枚举题. 分析 Step 1:定义两个变量,\(n\)和\(y\). int n,y; cin>>n>>y; Step 2:使用二重循环进行暴力枚举. for ...

  8. MySQL 8.0.18 在 Windows Server 2019 上的安装(ZIP)公开

    AskScuti MySQL : Windows Server 2019 安装 MySQL 8.0 温馨提示:为了展现我最“魅力”的一面,请用谷歌浏览器撩我. 一切就绪,点我开撩

  9. mybatis一对多 多对一 多对多

    https://blog.csdn.net/AdminGuan/article/details/98952484   Mybatis的Mapper该如何编写多对一? 很简单,就是在resultMap标 ...

  10. Codeforces Round #614 (Div. 2) C - NEKO's Maze Game

    题目链接:http://codeforces.com/contest/1293/problem/C 题目:给定一个 2*n的地图,初始地图没有岩浆,都可以走, 给定q个询问,每个询问给定一个点(x,y ...