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. 【经验】Delphi INI文件保存与读取

    //需要引用IniFiles uses system.IniFiles; //保存INI配置文件 procedure TForm1.btnSaveClick(Sender: TObject); var ...

  2. Linux CentOS汉化系统

    u root切换为root用户 写入环境变量 echo "export LANG="zh_CN.UTF8"">>/etc/profile sourc ...

  3. 【转载】用jquery给select option 赋值

    var dataList = [ "6211125886667895", "6211125886667892", "6211125886667897& ...

  4. SpringBoot: 1.创建第一个SpringBoot项目(转)

      一.新建项目 二.打开项目的pom文件,在里面添加maven依赖 1 <!--springboot项目依赖的父项目--> 2 <parent> 3 <groupId& ...

  5. 从a-zA-Z0-9特殊字符中生成指定数量的随机字符密码的多层for循环跳出

    师从‘百测’besttest 今日牛老师布置了一个作业,生成一个随机密码,且要包含大写字母.小写字母.数字和特殊字符,且不能重复. 想着先生成密码,然后用各字符去检查是否存在,使用for嵌套循环. i ...

  6. mysql 数据库的基本操作

    day 41 MySql 一. 为啥使用数据库? 因为之前使用文件(Excel)管理数据, 但是数据量特别大的时候,使用Excel管理 的话, 就比较的麻烦了因此引入一个新的数据管理软件 : 数据库软 ...

  7. Leetcode之动态规划(DP)专题-714. 买卖股票的最佳时机含手续费(Best Time to Buy and Sell Stock with Transaction Fee)

    Leetcode之动态规划(DP)专题-714. 买卖股票的最佳时机含手续费(Best Time to Buy and Sell Stock with Transaction Fee) 股票问题: 1 ...

  8. Spring RestTemplate详解(转载)

    转载来源:https://www.cnblogs.com/zhaoyan001/p/8442602.html 1.什么是REST? REST(RepresentationalState Transfe ...

  9. Python学习笔记——以函数为参数的内置函数

    1.用法 一个参数 def ds(x): return 2 * x + 1 print(ds(5)) 11 g = lambda x : 2 * x + 1 print(g(5)) 11 两个参数 d ...

  10. Android ConstraintLayout 说明和例子

    快速说明 当我们点击一个按钮时,显示效果如下 Baseline的显示需要右键该控件,然后 约束类型 尺寸约束 实心方块,用来调整组件的大小 边界约束 空心圆圈,建立组件之间,组件和parent的约束关 ...