【vue】axios + cookie + 跳转登录方法
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 + 跳转登录方法的更多相关文章
- Cookie跳转登录验证码
对于web应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的, 对于系统来说使用验证码可以有效果的防止采用机器猜测方 ...
- Webdriver+Java实现使用cookie跳过登录
Webdriver+Java实现使用cookie跳过登录 Webdriver模拟登录过程中很有可能遇到验证码,最近认真学习了下如何使用cookie直接跳过登录过程. 一.cookie的定义 来源百 ...
- 自动化测试 -- 通过Cookie跳过登录验证码
之前写过一篇博客:自动化测试如何解决验证码的问题. http://www.cnblogs.com/fnng/p/3606934.html 介绍了验证码的几种处理方式,最后一种就是通过Cookie跳转过 ...
- python通过Cookie跳过登录验证码
1.通过浏览器获取登录cookie,找到重要的两个参数“BAIDUID”和“BDUSS”: 2.编写Selenium自动化测试脚本,跳过登录. from selenium import webdriv ...
- 通过Cookie跳过登录验证码【限cookie不失效有用】
验证码,相信每个写web自动化测试的同学来说,都是个头疼的事,怎么办呢? 方法还是有的,先说今天这种方式,通过cookie绕过登录验证码 思路: 需要你通过抓包工具抓到你登录的cookie 接下来开始 ...
- vue axios拦截跳转
第一步:添加需要拦截的页面 { path: '/control', name: 'Control', meta: { requireAuth: true }, 第二步:页面拦截 router.befo ...
- Vue+axios 拦截,超时登录问题
axios.interceptors.request.use(config => config, error => Promise.reject(error)); axios.interc ...
- vue axios路由跳转取消所有请求 和 防止重复请求
直接上干货 在发送第二次请求的时候如果第一次请求还未返回,则取消第一次请求,以保证后发送的请求返回的数据不会被先发送的请求覆盖. 或者是跳转路由的时候取消还未返回的请求 第一步: axios 怎么取消 ...
- vue axios封装以及登录token过期跳转问题
Axios配置JWT/封装插件/发送表单数据 首先请务必已仔细阅读 Axios 文档并熟悉 JWT: 中文文档 JWT 中文文档 安装 npm install axios npm install es ...
随机推荐
- layui radio手动选择失效的问题
var radio_types = document.getElementsByName("radio_type"); for (var i = 0; i < radio_t ...
- 题解 P5712 【【深基3.例4】Apples】
题目传送门 思路 仔细读题后,我们可以发现,输出可以分成\(2\)种情况,apple加s与apple不加s,所以我们可以使用if/else来实现. 接着,我们读入n. int n; cin>&g ...
- 最短路-B - 六度分离
B - 六度分离 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6 ...
- C 库函数 - fmod()
C 库函数 - fmod() 转自: C 标准库 - <math.h> 描述 C 库函数 double fmod(double x, double y) 返回 x 除以 y 的余数. 声明 ...
- Hdu2099 整除的尾数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2099 Problem Description 一个整数,只知道前几位,不知道末二位,被另一个整数除尽了 ...
- MariaDB 安装配置记录
1.集群搭建记录 iptables --append INPUT --protocol tcp \ --source 192.168.126.129 --jump ACCEPT iptables -- ...
- Java基础--数组(Arrays)
数组(Array),是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理.本篇博客是对Java基础中的数组进行详细说明. 目录: 数组的概述 一维数组 ...
- Web服务器项目详解 - 00 项目概述
目录 00 项目概述 01 线程同步机制包装类 02 半同步/半反应堆线程池(上) 03 半同步/半反应堆线程池(下) 04 http连接处理(上) 05 http连接处理(中) 06 http连接处 ...
- 如何用python操作XML文件
备注: 基于python3 背景:在统计覆盖率的时候希望绕属性name为test的节点 具体实现源码如下所示,基本都是基于节点属性操作的,当然也就可以基于tag等其他标签去做,可根据需要调整 from ...
- jdk8-》joining、groupingBy、summarizingInt函数
拼接函数 Collectors.joining // 3种重载方法 Collectors.joining() Collectors.joining("拼接符") Collector ...