trunk/pc4mobx/organization/util/request.js

42 lines
1.4 KiB
JavaScript

const server = window.server || '';
export const postFetch = (url, params) => {
if (typeof localStorage.access_token === "string" && localStorage.access_token !== "") {
params.access_token = localStorage.access_token;
}
url = server + url + "?__random__=" + (new Date()).valueOf();
return fetch(url, getFetchParams("POST", params)).then(res => res.json());
};
export const getFd = (values) => {
let fd = {};
for (let p in values) {
values[p] = _.isNil(values[p]) ? "" : values[p];
let item = values[p];
if (window.E9Encrypt && __AESEcrypt__) item = __AESEcrypt__.aes_data_encrypt(item);
fd = { ...fd, [p]: item };
}
if (window.E9Encrypt && __AESEcrypt__) {
fd = { ...fd, rsaAes01: __AESEcrypt__.get_rsa_aes_01(), rsaAes02: __AESEcrypt__.get_rsa_aes_02() };
}
return fd;
};
const getFetchParams = (method, params, header = {}) => {
let obj = {
method, mode: "cors",
headers: {
"Content-Type": "application/json",
"X-Requested-With": "XMLHttpRequest",
...header
}
};
if (server === "") {
obj.credentials = "include";
}
if (!_.isEmpty(params) && Object.prototype.toString.call(params) === "[object Object]") {
obj.body = JSON.stringify(getFd(params));
} else {
obj.body = JSON.stringify(params);
}
return obj;
};