feature_0521
郑皇 6 years ago
parent 0ab23a4a07
commit bb643cc2e1

@ -1,129 +1,129 @@
import axios from 'axios' import axios from "axios";
import qs from 'qs' import qs from "qs";
// import store from '../store' // import store from '../store'
import commonUtils from '../utils/Common' import commonUtils from "../utils/Common";
//base url //base url
// http://mf.kiisoo.com:58080/ // http://mf.kiisoo.com:58080/
// axios.defaults.baseURL = 'https://wxtk.bsdits.com/kiisoo-ic/'; // axios.defaults.baseURL = 'https://wxtk.bsdits.com/kiisoo-ic/';
axios.defaults.baseURL = axios.defaults.baseURL =
process.env.NODE_ENV === 'production' ? 'https://wxtk.bsdits.com/kiisoo-ic/' : '/kiisoo-ic' process.env.NODE_ENV === "production" ? "/kiisoo-ic" : "/kiisoo-ic";
//响应时间 //响应时间
axios.defaults.timeout = 120000 axios.defaults.timeout = 120000;
axios.defaults.withCredentials = true axios.defaults.withCredentials = true;
//配置请求头 //配置请求头
axios.defaults.headers.post['Content-Type'] = axios.defaults.headers.post["Content-Type"] =
'application/x-www-form-urlencoded;charset=UTF-8' "application/x-www-form-urlencoded;charset=UTF-8";
/** /**
* POST传参序列化(添加请求拦截器) * POST传参序列化(添加请求拦截器)
*/ */
axios.interceptors.request.use( axios.interceptors.request.use(
(config) => { (config) => {
config.headers['X-Requested-With'] = 'XMLHttpRequest' config.headers["X-Requested-With"] = "XMLHttpRequest";
config.headers['Content-Type'] = 'application/json;charset=UTF-8;' config.headers["Content-Type"] = "application/json;charset=UTF-8;";
// config.headers['Authorization'] = sessionStorage.getItem("sessionId"); // config.headers['Authorization'] = sessionStorage.getItem("sessionId");
//在发送请求之前做某件事 //在发送请求之前做某件事
if (config.method === 'post') { if (config.method === "post") {
console.log(config) console.log(config);
if (config.data.isGetActivityInfo === true) { if (config.data.isGetActivityInfo === true) {
config.headers['Content-Type'] = 'application/json;charset=UTF-8;' config.headers["Content-Type"] = "application/json;charset=UTF-8;";
} else if ( } else if (
Object.prototype.toString.call(config.data) === '[object FormData]' Object.prototype.toString.call(config.data) === "[object FormData]"
) { ) {
config.headers['Content-Type'] = 'multipart/form-data' config.headers["Content-Type"] = "multipart/form-data";
} else { } else {
config.headers['Content-Type'] = config.headers["Content-Type"] =
'application/x-www-form-urlencoded;charset=UTF-8' "application/x-www-form-urlencoded;charset=UTF-8";
var str = qs.stringify(config.data) var str = qs.stringify(config.data);
config.data = str config.data = str;
} }
} }
return config return config;
}, },
(error) => { (error) => {
// console.log('错误的传参') // console.log('错误的传参')
return Promise.reject(error) return Promise.reject(error);
} }
) );
/** /**
* 返回状态判断(添加响应拦截器) * 返回状态判断(添加响应拦截器)
*/ */
axios.interceptors.response.use( axios.interceptors.response.use(
(res) => { (res) => {
let data = res.data.results let data = res.data.results;
if (res.data.code === '9999' || sessionStorage.getItem('logout')) { if (res.data.code === "9999" || sessionStorage.getItem("logout")) {
// iView.Message.error('会话超时,请重新登录'); // iView.Message.error('会话超时,请重新登录');
// store.commit('LOGOUT'); // store.commit('LOGOUT');
commonUtils.goToLogin() commonUtils.goToLogin();
return Promise.resolve(res) return Promise.resolve(res);
} }
//对响应数据做些事 //对响应数据做些事
if (!data) { if (!data) {
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '1001') { if (data.code === "1001") {
// iView.Message.error("账号不存在"); // iView.Message.error("账号不存在");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '1002') { if (data.code === "1002") {
// iView.Message.error("账号已停用"); // iView.Message.error("账号已停用");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '1003') { if (data.code === "1003") {
// iView.Message.error("密码错误"); // iView.Message.error("密码错误");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '1004') { if (data.code === "1004") {
// iView.Message.error("账号已注销"); // iView.Message.error("账号已注销");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '1005') { if (data.code === "1005") {
// iView.Message.error("账号未绑定品牌"); // iView.Message.error("账号未绑定品牌");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '1006') { if (data.code === "1006") {
// iView.Message.error("账号未绑定店铺"); // iView.Message.error("账号未绑定店铺");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '1007') { if (data.code === "1007") {
// iView.Message.error("账号无权限"); // iView.Message.error("账号无权限");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '1009') { if (data.code === "1009") {
// iView.Message.error("账号已过时"); // iView.Message.error("账号已过时");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code === '0001') { if (data.code === "0001") {
// this.$Message.error("系统繁忙,请重试"); // this.$Message.error("系统繁忙,请重试");
return Promise.resolve(res) return Promise.resolve(res);
} }
if (data.code !== '0000') { if (data.code !== "0000") {
// this.$Message.error(data.errorMsg); // this.$Message.error(data.errorMsg);
return Promise.resolve(res) return Promise.resolve(res);
} }
return res return res;
}, },
(error) => { (error) => {
// iView.Message.error('网络异常'); // iView.Message.error('网络异常');
return Promise.reject(error) return Promise.reject(error);
} }
) );
/** /**
* 返回一个Promise(发送get请求) * 返回一个Promise(发送get请求)
@ -139,18 +139,18 @@ export function get(url, param) {
.then( .then(
(response) => { (response) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
resolve(response) resolve(response);
}, },
(err) => { (err) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
reject(err) reject(err);
} }
) )
.catch((error) => { .catch((error) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
reject(error) reject(error);
}) });
}) });
} }
/** /**
@ -167,18 +167,18 @@ export function post(url, params) {
.then( .then(
(response) => { (response) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
resolve(response) resolve(response);
}, },
(err) => { (err) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
reject(err) reject(err);
} }
) )
.catch((error) => { .catch((error) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
reject(error) reject(error);
}) });
}) });
} }
export function put(url, params) { export function put(url, params) {
@ -189,18 +189,18 @@ export function put(url, params) {
.then( .then(
(response) => { (response) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
resolve(response) resolve(response);
}, },
(err) => { (err) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
reject(err) reject(err);
} }
) )
.catch((error) => { .catch((error) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
reject(error) reject(error);
}) });
}) });
} }
export function fetchDelete(url, params) { export function fetchDelete(url, params) {
@ -211,168 +211,168 @@ export function fetchDelete(url, params) {
.then( .then(
(response) => { (response) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
resolve(response) resolve(response);
}, },
(err) => { (err) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
reject(err) reject(err);
} }
) )
.catch((error) => { .catch((error) => {
// iView.LoadingBar.finish(); // iView.LoadingBar.finish();
reject(error) reject(error);
}) });
}) });
} }
export function downloadZip(url, filename, options = {}) { export function downloadZip(url, filename, options = {}) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
axios.defaults.headers['content-type'] = 'application/json;charset=UTF-8' axios.defaults.headers["content-type"] = "application/json;charset=UTF-8";
axios({ axios({
method: 'post', method: "post",
url: url, // 请求地址 url: url, // 请求地址
data: options, // 参数 data: options, // 参数
responseType: 'blob', // 表明返回服务器返回的数据类型 responseType: "blob", // 表明返回服务器返回的数据类型
}).then( }).then(
(response) => { (response) => {
resolve(response.data) resolve(response.data);
let blob = new Blob([response.data], { let blob = new Blob([response.data], {
type: 'application/zip', type: "application/zip",
}) });
console.log(blob) console.log(blob);
let fileName = filename + '.zip' let fileName = filename + ".zip";
if (window.navigator.msSaveOrOpenBlob) { if (window.navigator.msSaveOrOpenBlob) {
// console.log(2) // console.log(2)
navigator.msSaveBlob(blob, fileName) navigator.msSaveBlob(blob, fileName);
} else { } else {
// console.log(3) // console.log(3)
var link = document.createElement('a') var link = document.createElement("a");
link.href = window.URL.createObjectURL(blob) link.href = window.URL.createObjectURL(blob);
link.download = fileName link.download = fileName;
link.click() link.click();
//释放内存 //释放内存
window.URL.revokeObjectURL(link.href) window.URL.revokeObjectURL(link.href);
} }
}, },
(err) => { (err) => {
reject(err) reject(err);
} }
) );
}) });
} }
export function downloadExcel(url, filename, options = {}) { export function downloadExcel(url, filename, options = {}) {
let split = filename.split(',') let split = filename.split(",");
if (split.length != 1) { if (split.length != 1) {
filename = '店铺发起申请数报表' filename = "店铺发起申请数报表";
} else { } else {
filename = '零售公司拓客报表' filename = "零售公司拓客报表";
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
axios.defaults.headers['content-type'] = axios.defaults.headers["content-type"] =
'application/x-www-form-urlencoded;charset=UTF-8' "application/x-www-form-urlencoded;charset=UTF-8";
axios({ axios({
method: 'post', method: "post",
url: url, // 请求地址 url: url, // 请求地址
data: options, // 参数 data: options, // 参数
responseType: 'blob', // 表明返回服务器返回的数据类型 responseType: "blob", // 表明返回服务器返回的数据类型
}).then( }).then(
(response) => { (response) => {
resolve(response.data) resolve(response.data);
let blob = new Blob([response.data], { let blob = new Blob([response.data], {
type: 'application/vnd.ms-excel', type: "application/vnd.ms-excel",
}) });
console.log(blob) console.log(blob);
let fileName = filename + '.xls' let fileName = filename + ".xls";
if (window.navigator.msSaveOrOpenBlob) { if (window.navigator.msSaveOrOpenBlob) {
// console.log(2) // console.log(2)
navigator.msSaveBlob(blob, fileName) navigator.msSaveBlob(blob, fileName);
} else { } else {
// console.log(3) // console.log(3)
var link = document.createElement('a') var link = document.createElement("a");
link.href = window.URL.createObjectURL(blob) link.href = window.URL.createObjectURL(blob);
link.download = fileName link.download = fileName;
link.click() link.click();
//释放内存 //释放内存
window.URL.revokeObjectURL(link.href) window.URL.revokeObjectURL(link.href);
} }
}, },
(err) => { (err) => {
reject(err) reject(err);
} }
) );
}) });
} }
export function downloadImg(url, filename, options = {}) { export function downloadImg(url, filename, options = {}) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
axios.defaults.headers['content-type'] = axios.defaults.headers["content-type"] =
'application/x-www-form-urlencoded;charset=UTF-8' "application/x-www-form-urlencoded;charset=UTF-8";
axios({ axios({
method: 'post', method: "post",
url: url, // 请求地址 url: url, // 请求地址
data: options, // 参数 data: options, // 参数
responseType: 'blob', // 表明返回服务器返回的数据类型 responseType: "blob", // 表明返回服务器返回的数据类型
}).then( }).then(
(response) => { (response) => {
resolve(response.data) resolve(response.data);
let blob = new Blob([response.data], { let blob = new Blob([response.data], {
type: 'application/png', type: "application/png",
}) });
console.log(blob) console.log(blob);
let fileName = filename + '.png' let fileName = filename + ".png";
if (window.navigator.msSaveOrOpenBlob) { if (window.navigator.msSaveOrOpenBlob) {
// console.log(2) // console.log(2)
navigator.msSaveBlob(blob, fileName) navigator.msSaveBlob(blob, fileName);
} else { } else {
// console.log(3) // console.log(3)
var link = document.createElement('a') var link = document.createElement("a");
link.href = window.URL.createObjectURL(blob) link.href = window.URL.createObjectURL(blob);
link.download = fileName link.download = fileName;
link.click() link.click();
//释放内存 //释放内存
window.URL.revokeObjectURL(link.href) window.URL.revokeObjectURL(link.href);
} }
}, },
(err) => { (err) => {
reject(err) reject(err);
} }
) );
}) });
} }
export function downloadFileToExcel(url, filename, options) { export function downloadFileToExcel(url, filename, options) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
axios.defaults.headers['content-type'] = 'application/json' axios.defaults.headers["content-type"] = "application/json";
axios.get(url, { params: options, responseType: 'blob' }).then( axios.get(url, { params: options, responseType: "blob" }).then(
(response) => { (response) => {
resolve({ success: true }) resolve({ success: true });
let blob = new Blob([response.data], { let blob = new Blob([response.data], {
type: 'application/vnd.ms-excel', type: "application/vnd.ms-excel",
}) });
console.log(blob) console.log(blob);
let fileName = filename + '.xls' let fileName = filename + ".xls";
if (window.navigator.msSaveOrOpenBlob) { if (window.navigator.msSaveOrOpenBlob) {
// console.log(2) // console.log(2)
navigator.msSaveBlob(blob, fileName) navigator.msSaveBlob(blob, fileName);
} else { } else {
// console.log(3) // console.log(3)
var link = document.createElement('a') var link = document.createElement("a");
link.href = window.URL.createObjectURL(blob) link.href = window.URL.createObjectURL(blob);
link.download = fileName link.download = fileName;
link.click() link.click();
//释放内存 //释放内存
window.URL.revokeObjectURL(link.href) window.URL.revokeObjectURL(link.href);
} }
}, },
(err) => { (err) => {
reject(err) reject(err);
} }
) );
}) });
} }
export function getBaseUrl() { export function getBaseUrl() {
return axios.defaults.baseURL return axios.defaults.baseURL;
} }
export default { export default {
@ -385,4 +385,4 @@ export default {
fetchDelete, fetchDelete,
getBaseUrl, getBaseUrl,
downloadFileToExcel, downloadFileToExcel,
} };

Loading…
Cancel
Save