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. OriginPro 9.1 科研图标绘制入门

    OriginPro 9.1 科研图标绘制入门 目的:1.介绍如何不用编程画出复杂多样的图表2.介绍OriginLab 常用功能3.科研报告时,有效绘图,省却时间 科研发展需求.反映专业形象.满足公司要 ...

  2. java.lang.reflect.Method.getAnnotation()方法示例

    转: java.lang.reflect.Method.getAnnotation()方法示例 作者: 初生不惑 Java技术QQ群:227270512 / Linux QQ群:479429477   ...

  3. Restful 风格

    大家在做Web开发的过程中,method常用的值是get和post. 可事实上,method值还可以是put和delete等等其他值.既然method值如此丰富,那么就可以考虑使用同一个url,但是约 ...

  4. k8s 1.15.2 部署

    目录 一.环境准备 二.软件安装 三.部署master节点 四.部署node节点 五.集群状态检测 一.环境准备 IP地址 节点角色 CPU Memory Hostname Docker versio ...

  5. Chrome F12 谷歌开发者工具解析

    一.工具简单介绍 F12可用于网站界面.性能测试,bug定位等 以 www.baidu.com 为例: Elements:查看页面元素属性(多用于自动化元素定位) Console:记录日志信息(用于定 ...

  6. PJzhang:kali linux安装virtualbox虚拟机和chrome浏览器

    猫宁!!! 参考链接: https://www.cnblogs.com/zhishuai/p/8007410.html kali linux 安装virtualbox. 查询系统的版本 apt-cac ...

  7. fdisk中参数配置说明表

    命令 描述 a 设置活动分区标志 b 编辑BSD Unix系统用的磁盘标签 c 设置DOS兼容标志 d 删除分区 l 显示可用的分区类型 m 显示命令选项(帮助) n 添加一个新的分区 o 创建DOS ...

  8. libvirt log系统分析

    1.编译和安装 配置参数需要加上–enable-debug=yes,相关定义在src/util/virlog.h文件中定义 图1-1 ENABLE_DEBUG宏 如果没有加这个编译参数,调用VIR_D ...

  9. 配置glance使用ceph作为后端存储

    在ceph监视器上执行 1.创建pool池 为glance服务创建pool池(因为我只有一个OSD节点,所以要将副本数设置为1) ceph osd pool create glance-images  ...

  10. springboot整合es客户端操作elasticsearch(五)

    springboot整合es客户端操作elasticsearch的总结: 客户端可以进行可以对所有文档进行查询,就是不加任何条件: SearchRequest searchRequest = new ...