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. layui radio手动选择失效的问题

    var radio_types = document.getElementsByName("radio_type"); for (var i = 0; i < radio_t ...

  2. 题解 P5712 【【深基3.例4】Apples】

    题目传送门 思路 仔细读题后,我们可以发现,输出可以分成\(2\)种情况,apple加s与apple不加s,所以我们可以使用if/else来实现. 接着,我们读入n. int n; cin>&g ...

  3. 最短路-B - 六度分离

    B - 六度分离 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6 ...

  4. C 库函数 - fmod()

    C 库函数 - fmod() 转自: C 标准库 - <math.h> 描述 C 库函数 double fmod(double x, double y) 返回 x 除以 y 的余数. 声明 ...

  5. Hdu2099 整除的尾数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2099 Problem Description 一个整数,只知道前几位,不知道末二位,被另一个整数除尽了 ...

  6. MariaDB 安装配置记录

    1.集群搭建记录 iptables --append INPUT --protocol tcp \ --source 192.168.126.129 --jump ACCEPT iptables -- ...

  7. Java基础--数组(Arrays)

    数组(Array),是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理.本篇博客是对Java基础中的数组进行详细说明. 目录: 数组的概述 一维数组 ...

  8. Web服务器项目详解 - 00 项目概述

    目录 00 项目概述 01 线程同步机制包装类 02 半同步/半反应堆线程池(上) 03 半同步/半反应堆线程池(下) 04 http连接处理(上) 05 http连接处理(中) 06 http连接处 ...

  9. 如何用python操作XML文件

    备注: 基于python3 背景:在统计覆盖率的时候希望绕属性name为test的节点 具体实现源码如下所示,基本都是基于节点属性操作的,当然也就可以基于tag等其他标签去做,可根据需要调整 from ...

  10. jdk8-》joining、groupingBy、summarizingInt函数

    拼接函数 Collectors.joining // 3种重载方法 Collectors.joining() Collectors.joining("拼接符") Collector ...