import {
mapMutations
} from 'vuex'
import axios from 'axios'
import {
Toast
} from 'mint-ui';
import i18n from 'assets/js/vi18n/i18n.js'
export const mixins = {
data() {
return {
istimeout: true
}
},
methods: {
ajaxSend(urlSuffix, paramsData) {
// 公共请求数据的方法。
let vm = this;
let storage = window.localStorage;
let langCode='zh-CN';
let langChange=storage.langCode
if(langChange){
langCode=langChange;
}
let zksysReqParams = {
"lang": langCode,
"tz": "+8:00",
"agent": "zkteco",
"platform": "app",
"sys": "zks-platform",
"sessionId": storage.sessionId,
"intfVer": "1.0.0",
"payload": {
"datafmt": 1,
"params": {}
}
};
var prefixUrl = "http://192.168.12.52:8181";
// var prefixUrl = "";
// var prefixUrl=window.localStorage.prefixUrl;
storage.prefixUrl=prefixUrl; var reqParams = Object.assign({}, zksysReqParams);
reqParams.payload.params = paramsData;
let url = prefixUrl + urlSuffix;
return axios.post(url, reqParams).then((res) => {
if (res.data.code !== '00000000') {
if (res.data.code == 'ET000001') {
// Toast('登录过期,请重新登录');
vm._chang(false); //过期的话,把show设为false。在login时进行判断。
vm.$router.push({path:'/login'});
return false;
}else{
Toast(vm.$t(res.data.code));
}
}else{
storage.sessionId=res.data.sessionId;
}
return Promise.resolve(res.data);
}).catch((err) => {
// Toast(err);
console.log(err);
})
},
getCookie: function (name) {
var cookieName = encodeURIComponent(name) + "=";
var cookieStart = document.cookie.indexOf(cookieName);
var cookieValue = null;
if (cookieStart > -1) {
var cookieEnd = document.cookie.indexOf(";", cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
cookieValue = encodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
}
return decodeURIComponent(decodeURIComponent(cookieValue));
},
setCookie: function (name, value, days, path, domain, secure) {
var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);
if (days>0) {
var expires = new Date();
expires.setTime(expires.getTime() + days * 3600000 * 24);
//expires.setTime(expires.getTime() + days * 120000);
var _expires = (typeof days) == "string" ? "" : ";expires=" + expires.toUTCString();
cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value)+ _expires + path;
}
if (path) {
cookieText += "; path=" + path;
}
if (domain) {
cookieText += "; domain=" + domain;
}
if (secure) {
cookieText += "; secure"
}
document.cookie = cookieText;
},
unsetCookie: function (name,days, path, domain, secure) {
this.setCookie(name, "", days, path, domain, secure);
},
// 去掉多余的应该隐藏的东西。
queryTextArea() {
let list = document.querySelectorAll('textarea');
list.forEach(el => {
el.setAttribute("readonly", 'readonly');
})
let editTable = document.querySelectorAll('.editTableList');
editTable.forEach(el => {
el.style.display = 'none';
})
let spanid = document.querySelectorAll('.spanid');
spanid.forEach(el => {
el.style.display = 'none';
})
let imp_delete = document.querySelectorAll('.ipm_deletetr');
imp_delete.forEach(el => {
el.style.display = 'none';
})
let hoverx = document.querySelectorAll('.hoverx');
hoverx.forEach(el => {
el.style.display = 'none';
})
let hover = document.querySelectorAll('.hover');
hover.forEach(el => {
el.style.display = 'none';
})
let markRowStyle = document.querySelectorAll('.markRowStyle');
markRowStyle.forEach(el => {
el.style.display = 'none';
})
},
// 去拿到对应的keyList;
_getKeyList() {
let msgdata = this.$i18n.messages["zh-CN"].message;
let arr = [];
this.flagdata.forEach((el, index) => {
arr.push(el.appMenuName);
});
let keydata = [];
for (let key in msgdata) {
if (arr.indexOf(msgdata[key]) > -1) {
keydata.push(key);
}
}
this.keydata = keydata;
},
...mapMutations({
_chang: 'CHANG_SHOW'
})
},
filters: {
timerYear(value){
var oDate = new Date(value);
return oDate.getFullYear();
},
timer(value){
var oDate = new Date(value);
return oDate.getFullYear() + '/' + (oDate.getMonth() + 1 > 9 ? oDate.getMonth() + 1 : '0' + (oDate.getMonth() + 1)) + '/' + (oDate.getDate() > 9 ? oDate.getDate() : '0' + oDate.getDate());
},
timernew(value) {
var oDate = new Date(value);
return oDate.getFullYear() + '-' + (oDate.getMonth() + 1 > 9 ? oDate.getMonth() + 1 : '0' + (oDate.getMonth() + 1)) + '-' + (oDate.getDate() > 9 ? oDate.getDate() : '0' + oDate.getDate());
},
timerHen: function (input) {
var oDate = new Date(input);
return oDate.getFullYear() + '/' + (oDate.getMonth() + 1 > 9 ? oDate.getMonth() + 1 : '0' + (oDate.getMonth() + 1)) + '/' + (oDate.getDate() > 9 ? oDate.getDate() : '0' + oDate.getDate()) + ' ' + (oDate.getHours() > 9 ? oDate.getHours() : '0' + oDate.getHours()) + ':' + (oDate.getMinutes() > 9 ? oDate.getMinutes() : '0' + oDate.getMinutes());
},
timerover: function (input) {
var oDate = new Date(input);
return oDate.getFullYear() + '-' + (oDate.getMonth() + 1 > 9 ? oDate.getMonth() + 1 : '0' + (oDate.getMonth() + 1)) + '-' + (oDate.getDate() > 9 ? oDate.getDate() : '0' + oDate.getDate()) + ' ' + (oDate.getHours() > 9 ? oDate.getHours() : '0' + oDate.getHours()) + ':' + (oDate.getMinutes() > 9 ? oDate.getMinutes() : '0' + oDate.getMinutes());
},
}
}

vue+axios请求头封装的更多相关文章

  1. vue全局设置请求头 (封装axios请求)

    Vue.http.interceptors.push((request, next) => { // 请求发送前的处理逻辑 request.headers.set('Authorization' ...

  2. vue/axios请求拦截

    import axios from 'axios';import { Message } from 'element-ui';import Cookies from 'js-cookie';impor ...

  3. axios请求的封装

    /* axios的请求封装 */         //axios的原生写法get,post请求         //第一个参数为请求地址,第二个参数为请求的参数,params是将参数拼接在url的后面 ...

  4. 10. vue axios 请求未完成时路由跳转报错问题

    axios 请求未完成时路由跳转报错问题 前两天项目基本功能算是完成了,在公司测试时遇到了遇到了一个问题,那就是在请求未完成时进行路由跳转时会报错,想了几种办法来解决,例如加loading,请求拦截, ...

  5. axios请求头几种区别:application/x-www-form-urlencoded

    今天小伙伴问我们项目axios默认请求头是application/x-www-form-urlencoded;charset=UTF-8, 现在有个后端接口要求请求头方式为application/js ...

  6. axios请求方法封装.

    axios的使用上一般封装好对应的方法,ES6导出,直接调用,消息通知使用了ElementUI的Message组件. 这是一个封装了axios的Rest风格的工具类,包扩常用的POST,GET,PUT ...

  7. vue-ajax/axios请求函数封装: axios+promise

    项目文件目录/src/api ajax.js /** * ajax 请求函数模块 * 返回值为promise对象 */ import axios from 'axios' export default ...

  8. vue axios 请求 https 的特殊处理

    最近遇到自签发的CA证书,在前端axios请求https请求时,无法自动加载证书. 解决方法:将无法加载的请求在浏览器新窗口手动加载,选择继续连接. 重新加载,问题解决. 根本原因:因为自签发证书,浏 ...

  9. vue axios 请求本地接口端口不一致出现跨域设置代理

    首先在config下面的index.js,设置跨域代理 在axios请求的时候     用'/api/' 替代baseURL 最重要的就是设置完必须重新 npm run dev 否则不生效

随机推荐

  1. 青岛和深圳,两座条件相似的城市,为何GDP相差这么大

    深圳和青岛,是一对非常有意思的城市.两者都是沿海城市:两者都是所在省的经济强市:两者都是副省级城市,但都不是省会:两者GDP都超过所在省的省会城市.当然,两个城市也有相当大的差距,一个位于南方,一个位 ...

  2. MATLAB学习(四)线性方程求解,多项式运算,函数局部最优解

    >> A=[2 1 3;1 3 2];B=[5;10] B = 5 10 >> X=lsqnonneg(A,B) X = 0 2.8571 0.7143 >> A\ ...

  3. Linux (Ubuntu)安装svn

    1 先查看是否已经安装了svn 如果没有安装svn则: ubuntu@ip----:~$ svn --version The program 'svn' is currently not instal ...

  4. baidu echats简介

    http://note.youdao.com/noteshare?id=ef467acdbe5b84005a1315d77a4475d1

  5. SpringBoot: 6.文件上传(转)

    1.编写页面uploadFile.html <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  6. 【Zookeeper】本地模式安装

    安装步骤 上传gz包 通过rz命令,将zookeeper-3.4.10.tar.gz安装包上传到/opt/soft/文件夹下. [root@bigdata111 soft]# rz [root@big ...

  7. JAVA_day1_变量和常量

    JAVA变量和常量 一.JAVA中的关键字 注:关键字区分大小写,Try不是关键字而try则是. 二.JAVA标识符 1.标识符:标识符就是用于给 Java 程序中变量.类.方法等命名的符号. 2.标 ...

  8. python基础知识(继承)

    继承的基本语法 class  Class(继承那个基类如果有多个基类用逗号隔开,如果没有就继承object): """ 类的帮助信息""" ...

  9. python3 速查参考- python基础 9 -> MySQL基础概念、数据库create、alter、insert、update、delete、select等基础命令

    前置步骤: 下载一个绿色版的mysql数据库客户端连接工具 :http://wosn.net/821.html mysql平台为win7(以后会有CentOS上的) 学习目的: 掌握数据库的基本概念, ...

  10. Hbase标准配置文件 + 增删改查

    1.可用配置文件 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href=&q ...