import axios from 'axios' // import qs from 'qs' // import message from '@/components/public/message/src' import router from '@/router/index' import {getCookie} from '@/tool/cookie' // import cookie from '@/tools/cookie.js' axios.defaults.timeout = 60000 * 60; //响应时间 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; //配置请求头 axios.defaults.withCredentials = true; //跨域携带cookie import { message } from 'ant-design-vue'; axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //配置接口地址 //POST传参序列化(添加请求拦截器) axios.interceptors.request.use((config) => { //在发送请求之前做某件事 if(config.method === 'post' || config.method === 'put' || config.method === 'delete'){ // config.data = qs.stringify(config.data); // config.data = JSON.stringify(config.data); } config.headers.Authorization = getCookie('token'); return config; },(error) =>{ return Promise.reject(error); }); //返回状态判断(添加响应拦截器) axios.interceptors.response.use((res) =>{ if (res.data) { if (res.data.errCode === 0) { return Promise.resolve(res.data.data); } else if(!res.data.errMsg){ let obj = { data:res.data, type:res.headers['content-type'], name:res.headers['content-disposition'], } return Promise.resolve(obj); }else{ message.error(res.data.errMsg) return Promise.reject(res.data); } } else{ message.error(res.data.errMsg) return Promise.reject(res.data); } }, function(error) { if(error?.response?.status === 401){ router.replace('/login') return Promise.reject() } let data_new = error?.response?.data message.error(data_new?.errMsg || 'Error: server exception') return Promise.reject(data_new); }); export const Https = { httpUrls: { interfaceUrl: '', accountLogin:'/api/account/login', //登入 accountLogout:'/api/account/logout',//登出 queryStorePage:'/api/store/queryStorePage',//门店分页列表 sotreSaveOrEdit:'/api/store/saveOrEdit',//新增或编辑门店 storeDelete:'/api/store/delete',//删除门店 labelQueryStorePage:'/api/label/queryStorePage',//标签分页列表 labelSaveOrEdit:'/api/label/saveOrEdit', //新增或编辑标签 labelDelete:'/api/label/delete',//删除标签 accountQueryUserPage:'/api/account/queryUserPage',//用户分页列表 storeQueryAll:'/api/store/queryAll',//下拉-查询所有店铺 roleQueryRolePage:'/api/role/queryRolePage', //角色分页列表 roleQueryAll:'/api/role/queryAll', // 下拉-查询所有角色 accountSaveOrEdit:'/api/account/saveOrEdit',//添加或编辑账号 accountEnable:'/api/account/enable', // 禁用-停用账户 accountDelete:'/api/account/delete',//删除账户 roleQueryPermissionList:'/api/role/queryPermissionList',//查询权限列表 roleSaveOrEdit:'/api/role/saveOrEdit', //新增或编辑角色 roleDelete:'/api/role/delete', //删除角色 queryProductPage:'/api/product/queryProductPage',//商品分页列表 queryProductLabel:'/api/label/queryProductLabel',//下拉-查询所有商品标签 queryProductAssortmentPage:'/api/product/queryProductAssortmentPage',//商品搭配分页列表 attributeQueryAll:'/api/attribute/queryAll',//下拉-查询所有属性值 productConfirmUpload:'/api/product/confirmUpload', countWorkBench:'/api/product/countWorkBench',//首页工作台统计 batchUploadProductRelation:'/api/product/batchUploadProductRelation',//批量上传商品后传对应的关联信息,新增商品 productDelete:'/api/product/delete', //删除商品 countProductUpdateProcess:'/api/product/countProductUpdateProcess', //统计商品批量上传进度 productEdit:'/api/product/edit',//编辑商品 productDetail:'/api/product/detail',//商品详情 doOnSale:'/api/product/doOnSale', //上架-下架商品 queryUsrPermission:'/api/role/queryUsrPermission',//菜单权限 queryProductStore:'/api/store/queryProductStore', //下拉-查询所有商品店铺 exportProduct:'/api/product/exportProduct', //商品导出 miTuExportPage:'/api/miTuExport/miTuExportPage', //获取导出报表列表 miTuExportExport:'/api/miTuExport/export', //商品导出 salesIncentivesAddTask:'/api/salesIncentives/addTask', //创建激励任务 salesIncentivesQueryPage:'/api/salesIncentives/queryPage', //激励任务列表 salesIncentivesSalesRanking:'/api/salesIncentives/salesRanking', //激励任务列表 }, axiosGet(url,config) { return new Promise((resolve, reject) => { axios.get(url,config).then(response => { resolve(response) }).catch((error) => { reject(error) }) }); }, axiosPut(url, data) { return new Promise((resolve, reject) => { axios.put(url, data).then(response => { resolve(response) }).catch((error) => { reject(error) }) }); }, axiosPost(url, data,config) { return new Promise((resolve, reject) => { axios.post(url, data,config).then(response => { resolve(response) }).catch((error) => { reject(error) }) }); }, axiosDelete(url, newData) { return new Promise((resolve, reject) => { axios.delete(url,{data:newData}).then(response => { resolve(response) }).catch((error) => { reject(error) }) }); }, }