2019-09-26

2019-09-26  本文已影响0人  js66

/**

function axiosRequest(url, type, data = {}, timeout = 100000, needContentType = true) {
return new Promise(function (resolve, reject) {
let requestObj = {
method: type,
url: url,
params: data,
data: data,
responseType: 'json',
maxContentLength: 1073741824, // 单位 bytes 这里为1G
headers: {
'Content-Type': 'application/json'
},
timeout: timeout || 100000
}

    // 如果是get请求,需要对参数序列化函数进行改造,因为会过滤掉null值得参数
    if (_.isEqual(type.toLowerCase(), 'get')) {
        requestObj.paramsSerializer = function (params) {
            let str = '';
            for (let key in params) {
                str += key + '=' + encodeURIComponent(params[key]) + '&';
            }

            return str.slice(0, str.length - 1);
        }
    }

    axios(requestObj).then((response) => {
        resolve(response.data);
    }).catch(function (error) {
        console.error(error);
        reject(error);
    });
})

}

import _ from 'lodash';

// 克隆自身属性
function cloneDeep(obj) {
var o;
if (typeof obj === 'object') {
if (obj === null) {
o = null;
} else {
if (obj instanceof Array) {
o = [];
for (var i = 0, len = obj.length; i < len; i++) {
o.push(cloneDeep(obj[i]));
}
} else {
o = {};
for (var k in obj) {
if (obj.hasOwnProperty(k)) {
o[k] = cloneDeep(obj[k]);
}
}
}
}
} else {
o = obj;
}
return o;
}

// 克隆指定的自身属性
function cloneDeepWithKeys(obj, keys) {
var o;
if (typeof obj === 'object') {
if (obj === null) {
o = null;
} else {
if (obj instanceof Array) {
o = [];
for (var i = 0, len = obj.length; i < len; i++) {
o.push(cloneDeepWithKeys(obj[i], keys));
}
} else {
o = {};
for (var k in obj) {
if (_.indexOf(keys, k) !== -1 && obj.hasOwnProperty(k)) {
o[k] = cloneDeep(obj[k]);
}
}
}
}
} else {
o = obj;
}
return o;
}

// 判断是否为空
function isEmpty(obj) {
if (obj === undefined || obj === '') {
return true;
}

if (_.isBoolean(obj) || _.isNumber(obj) || _.isDate(obj) || _.isRegExp(obj) || _.isFunction(obj) || _.isElement(obj) || _.isArguments(obj)) {
    return false;
}

if ((typeof obj) === 'undefined') {
    return true;
}

return _.isEmpty(obj);

}

function toPercent(point) {
var str = Number(point * 100).toFixed(1);
str += '%';
return str;
}

function toPoint(percent) {
var str = percent.replace('%', '');
str = str / 100;
return str;
}

function getCookie(cName) {
if (document.cookie.length > 0) {
var cStart = document.cookie.indexOf(cName + '=')
if (cStart != -1) {
cStart = cStart + cName.length + 1
var cEnd = document.cookie.indexOf(';', cStart)
if (cEnd == -1) cEnd = document.cookie.length
return unescape(document.cookie.substring(cStart, cEnd))
}
}
return ''
}

function setCookie(cName, value, expiredays) {
var exdate = new Date()
exdate.setDate(exdate.getDate() + expiredays)
document.cookie = cName + '=' + escape(value) +
((expiredays == null) ? '' : ';expires=' + exdate.toGMTString())
}

/**

/**

/**

export default {
cloneDeep: cloneDeep,
cloneDeepWithKeys: cloneDeepWithKeys,
isEmpty: isEmpty,
toPercent: toPercent,
toPoint: toPoint,
setCookie: setCookie,
getCookie: getCookie,
findPropertyDeepEqual: findPropertyDeepEqual,
findPropertyDeepIncludes: findPropertyDeepIncludes,
swapElement: swapElement
}

上一篇 下一篇

猜你喜欢

热点阅读