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