import axios from 'axios'; // import router from '../routerManuaConfig' import router from '../router/index' import store from "../store"; import Vue from 'vue'; import applicationUserManager from "../Auth/applicationusermanager"; let base = ''; // 如果是IIS部署,用这个,因为 IIS 只能是 CORS 跨域,不能代理 // let base = process.env.NODE_ENV=="production"? 'http://localhost:8081':''; // 请求延时 axios.defaults.timeout = 20000 var storeTemp = store; axios.interceptors.request.use( config => { var curTime = new Date() var expiretime = new Date(Date.parse(storeTemp.state.tokenExpire)) if (storeTemp.state.token && (curTime < expiretime && storeTemp.state.tokenExpire)) { // 判断是否存在token,如果存在的话,则每个http header都加上token config.headers.Authorization = "Bearer " + storeTemp.state.token; } saveRefreshtime(); return config; }, err => { return Promise.reject(err); } ); // http response 拦截器 axios.interceptors.response.use( response => { return response; }, error => { // 超时请求处理 var originalRequest = error.config; if (error.code == 'ECONNABORTED' && error.message.indexOf('timeout') != -1 && !originalRequest._retry) { Vue.prototype.$message({ message: '请求超时!', type: 'error' }); originalRequest._retry = true return null; } if (error.response) { if (error.response.status == 401) { var curTime = new Date() var refreshtime = new Date(Date.parse(window.localStorage.refreshtime)) // 在用户操作的活跃期内 if (window.localStorage.refreshtime && (curTime <= refreshtime)) { return refreshToken({ token: window.localStorage.Token }).then((res) => { if (res.success) { Vue.prototype.$message({ message: 'refreshToken success! loading data...', type: 'success' }); store.commit("saveToken", res.response.token); var curTime = new Date(); var expiredate = new Date(curTime.setSeconds(curTime.getSeconds() + res.response.expires_in)); store.commit("saveTokenExpire", expiredate); error.config.__isRetryRequest = true; error.config.headers.Authorization = 'Bearer ' + res.response.token; return axios(error.config); } else { // 刷新token失败 清除token信息并跳转到登录页面 ToLogin() } }); } else { // 返回 401,并且不知用户操作活跃期内 清除token信息并跳转到登录页面 ToLogin() } } // 403 无权限 if (error.response.status == 403) { Vue.prototype.$message({ message: '失败!该操作无权限', type: 'error' }); return null; } // 429 ip限流 if (error.response.status == 429) { Vue.prototype.$message({ message: '刷新次数过多,请稍事休息重试!', type: 'error' }); return null; } } return ""; // 返回接口返回的错误信息 } ); export const BaseApiUrl = base; // 登录 export const requestLogin = params => { return axios.get(`${base}/api/login/jwttoken3.0`, { params: params }).then(res => res.data); }; //账号验证是否需要验证码 export const IsSmsValidLoign = params => { return axios.get(`${base}/api/login/IsSmsValid`, { params: params }).then(res => res.data); }; //获取手机验证码 export const SendSmsLoign = params => { return axios.get(`${base}/api/login/SendSms`, { params: params }).then(res => res.data); }; export const requestLoginMock = params => { return axios.post(`${base}/login`, params).then(res => res.data); }; export const refreshToken = params => { return axios.get(`${base}/api/login/RefreshToken`, { params: params }).then(res => res.data); }; export const LoginByJobNo = params => { return axios.get(`${base}/api/Login/LoginByJobNo`, { params: params }).then(res => res.data); }; export const saveRefreshtime = params => { let nowtime = new Date(); let lastRefreshtime = window.localStorage.refreshtime ? new Date(window.localStorage.refreshtime) : new Date(-1); let expiretime = new Date(Date.parse(window.localStorage.TokenExpire)) let refreshCount = 1;//滑动系数 if (lastRefreshtime >= nowtime) { lastRefreshtime = nowtime > expiretime ? nowtime : expiretime; lastRefreshtime.setMinutes(lastRefreshtime.getMinutes() + refreshCount); window.localStorage.refreshtime = lastRefreshtime; } else { window.localStorage.refreshtime = new Date(-1); } }; const ToLogin = params => { store.commit("saveToken", ""); store.commit("saveTokenExpire", ""); store.commit("saveTagsData", ""); window.localStorage.removeItem('user'); window.localStorage.removeItem('NavigationBar'); if (global.IS_IDS4) { applicationUserManager.login(); } else { router.replace({ path: "/login", query: { redirect: router.currentRoute.fullPath } }); window.location.reload() } }; export const getUserByToken = params => { return axios.get(`${base}/api/user/getInfoByToken`, { params: params }).then(res => res.data); }; export function testapi2() { console.log('api is ok.') } export const testapi = pa => { console.log('api is ok.') } // 用户管理 export const getUserListPage = params => { return axios.get(`${base}/api/user/get`, { params: params }); }; export const removeUser = params => { return axios.delete(`${base}/api/user/delete`, { params: params }); }; export const editUser = params => { return axios.put(`${base}/api/user/put`, params); }; export const addUser = params => { return axios.post(`${base}/api/user/post`, params); }; export const batchRemoveUser = params => { return axios.delete(`${base}/api/Claims/BatchDelete`, { params: params });//没做 }; export const editUserPWD = params => { return axios.put(`${base}/api/user/PutPwd`, params); }; // 角色管理 export const getRoleListPage = params => { return axios.get(`${base}/api/role/get`, { params: params }); }; export const removeRole = params => { return axios.delete(`${base}/api/role/delete`, { params: params }); }; export const editRole = params => { return axios.put(`${base}/api/role/put`, params); }; export const addRole = params => { return axios.post(`${base}/api/role/post`, params); }; // 接口模块管理 export const getModuleListPage = params => { return axios.get(`${base}/api/module/get`, { params: params }); }; export const removeModule = params => { return axios.delete(`${base}/api/module/delete`, { params: params }); }; export const editModule = params => { return axios.put(`${base}/api/module/put`, params); }; export const addModule = params => { return axios.post(`${base}/api/module/post`, params); }; // 菜单模块管理 export const getPermissionListPage = params => { return axios.get(`${base}/api/permission/get`, { params: params }); }; export const getPermissionTreeTable = params => { return axios.get(`${base}/api/permission/GetTreeTable`, { params: params }); }; export const removePermission = params => { return axios.delete(`${base}/api/permission/delete`, { params: params }); }; export const editPermission = params => { return axios.put(`${base}/api/permission/put`, params); }; export const addPermission = params => { return axios.post(`${base}/api/permission/post`, params); }; export const getPermissionTree = params => { return axios.get(`${base}/api/permission/getpermissiontree`, { params: params }); }; export const getPermissionIds = params => { return axios.get(`${base}/api/permission/GetPermissionIdByRoleId`, { params: params }); }; export const addRolePermission = params => { return axios.post(`${base}/api/permission/Assign`, params); }; export const getNavigationBar = params => { return axios.get(`${base}/api/permission/GetNavigationBar`, { params: params }).then(res => res.data); }; // Bug模块管理 export const getBugListPage = params => { return axios.get(`${base}/api/TopicDetail/get`, { params: params }); }; export const removeBug = params => { return axios.delete(`${base}/api/TopicDetail/delete`, { params: params }); }; export const editBug = params => { return axios.put(`${base}/api/TopicDetail/update`, params); }; export const addBug = params => { return axios.post(`${base}/api/TopicDetail/post`, params); }; // 博客模块管理 export const getBlogListPage = params => { return axios.get(`${base}/api/Blog`, { params: params }); }; export const getBlogDeatil = params => { return axios.get(`${base}/api/Blog/DetailNuxtNoPer`, { params: params }); }; export const editBlog = params => { return axios.put(`${base}/api/Blog/update`, params); }; export const removeBlog = params => { return axios.delete(`${base}/api/Blog/delete`, { params: params }); }; // 日志 export const getLogs = params => { return axios.get(`${base}/api/Monitor/get`, { params: params }); }; export const getRequestApiinfoByWeek = params => { return axios.get(`${base}/api/Monitor/GetRequestApiinfoByWeek`, { params: params }); }; export const getAccessApiByDate = params => { return axios.get(`${base}/api/Monitor/GetAccessApiByDate`, { params: params }); }; export const getAccessApiByHour = params => { return axios.get(`${base}/api/Monitor/GetAccessApiByHour`, { params: params }); }; export const getServerInfo = params => { return axios.get(`${base}/api/Monitor/Server`, { params: params }); }; export const getAccessLogs = params => { return axios.get(`${base}/api/Monitor/GetAccessLogs`, { params: params }); }; // Task管理 export const getTaskListPage = params => { return axios.get(`${base}/api/TasksQz/get`, { params: params }); }; export const removeTask = params => { return axios.delete(`${base}/api/TasksQz/delete`, { params: params }); }; export const editTask = params => { return axios.put(`${base}/api/TasksQz/put`, params); }; export const addTask = params => { return axios.post(`${base}/api/TasksQz/post`, params); }; export const startJob = params => { return axios.get(`${base}/api/TasksQz/StartJob`, { params: params }); }; export const stopJob = params => { return axios.get(`${base}/api/TasksQz/StopJob`, { params: params }); }; export const reCovery = params => { return axios.get(`${base}/api/TasksQz/ReCovery`, { params: params }); }; //仓库管理 export const getWMSListPage = params => { return axios.get(`${base}/api/WMWareHouse/Get`, { params: params }); }; export const getWMWareHouseGet = params => { return axios.get(`${base}/api/WMWareHouse/GetList`, { params: params }); }; export const addWMWareHouse = params => { return axios.post(`${base}/api/WMWareHouse/Post`, params); }; export const editWMWareHouse = params => { return axios.put(`${base}/api/WMWareHouse/Put`, params); }; export const removeWMWareHouse = params => { return axios.delete(`${base}/api/WMWareHouse/delete`, { params: params }); }; //审批分配管理 export const WMCheckInfoGetList = params => { return axios.get(`${base}/api/WMCheckInfo/GetList`, { params: params }); }; export const WMCheckInfoGet = params => { return axios.get(`${base}/api/WMCheckInfo/Get`, { params: params }); }; export const WMCheckInfoAdd = params => { return axios.post(`${base}/api/WMCheckInfo/Post`, params); }; export const WMCheckInfoEdit = params => { return axios.put(`${base}/api/WMCheckInfo/Put`, params); }; export const WMCheckInfoDelete = params => { return axios.delete(`${base}/api/WMCheckInfo/Delete`, { params: params }); }; export const WMCheckInfoDeleteMore = params => { return axios.delete(`${base}/api/WMCheckInfo/DeleteMore`, { params: params }); }; //部门管理 export const getDepartmentListPage = params => { return axios.get(`${base}/api/Department/Get`, { params: params }); }; export const getDepartmentGet = params => { return axios.get(`${base}/api/Department/GetList`, { params: params }); }; export const addDepartment = params => { return axios.post(`${base}/api/Department/Post`, params); }; export const editDepartment = params => { return axios.put(`${base}/api/Department/Put`, params); }; export const removeDepartment = params => { return axios.delete(`${base}/api/Department/Delete`, { params: params }); }; export const getDepartmentParentList = params => { return axios.get(`${base}/api/Department/GetParentList`, { params: params }); }; export const moveDepartment = params => { return axios.post(`${base}/api/Department/Move`, params); }; export const getDepartmentListTree = params => { return axios.get(`${base}/api/Department/GetDepartmentTree`, { params: params }); }; //采购管理 export const getWMPurchaseInfoListPage = params => { return axios.get(`${base}/api/WMPurchaseInfo/Get`, { params: params }); }; export const addWMPurchaseInfo = params => { return axios.post(`${base}/api/WMPurchaseInfo/Post`, params); }; export const editWMPurchaseInfo = params => { return axios.put(`${base}/api/WMPurchaseInfo/Put`, params); }; export const removeWMPurchaseInfo = params => { return axios.delete(`${base}/api/WMPurchaseInfo/delete`, { params: params }); }; export const DetailWMPurchaseInfo = params => { return axios.get(`${base}/api/WMPurchaseInfo/Detail`, { params: params }); }; export const WMPurchaseInfoLogListPage = params => { return axios.get(`${base}/api/WMPurchaseInfo/GetPurchaseInfoLog`, { params: params }); }; export const deleteWMProductList2 = params => { return axios.delete(`${base}/api/WMPurchaseInfo/DeleteProductList`, { params: params }); }; //商品管理 export const getWMProductListListPage = params => { return axios.get(`${base}/api/WMProductList/Index`, { params: params }); }; export const getWMProductListGet = params => { return axios.get(`${base}/api/WMProductList/Get`, { params: params }); }; export const addWMProductList = params => { return axios.post(`${base}/api/WMProductList/Add`, params); }; export const editWMProductList = params => { return axios.put(`${base}/api/WMProductList/Update`, params); }; export const setProductWMProductList = params => { return axios.put(`${base}/api/WMProductList/SetProduct`, params); }; export const removeWMProductList = params => { return axios.delete(`${base}/api/WMProductList/Delete`, { params: params }); }; export const ExportWMProductList = params => { return axios.get(`${base}/api/WMProductList/ExportProductList`, { params: params, responseType: "blob" }); }; export const batchRemoveWMProductList = params => { return axios.delete(`${base}/api/WMProductList/BatchDelete`, { params: params }); }; export const uploadProductList = params => { return axios.post(`${base}/api/WMProductList/ImportProductList`, params); }; //商品分类管理 export const getWMProductClassListPage = params => { return axios.get(`${base}/api/WMProductClass/Index`, { params: params }); }; export const getWMProductClassGet = params => { return axios.get(`${base}/api/WMProductClass/Get`, { params: params }); }; export const getWMProductClassTreeTable = params => { return axios.get(`${base}/api/WMProductClass/GetTreeTable`, { params: params }); }; // export const removeWMProductClass = params => { // return axios.delete(`${base}/api/WMProductClass/Delete`, { params: params }); // }; export const addWMProductClass = params => { return axios.post(`${base}/api/WMProductClass/Add`, params); }; export const editWMProductClass = params => { return axios.put(`${base}/api/WMProductClass/Update`, params); }; export const getWMProductClassTree = params => { return axios.get(`${base}/api/WMProductClass/GetProductClassTree`, { params: params }); }; export const getWMProductClassTreeLink = params => { return axios.get(`${base}/api/WMProductClass/GetProductClassTreeLink`, { params: params }); }; export const ExportWMProductClass = params => { return axios.get(`${base}/api/WMProductClass/ExportProductClass`, { params: params, responseType: "blob" }); }; export const uploadProductClass = params => { return axios.post(`${base}/api/WMProductClass/ImportProductClass`, params); }; //商品规格管理 export const getWMProductSpecListPage = params => { return axios.get(`${base}/api/WMProductSpec/Index`, { params: params }); }; export const getWMProductSpecGet = params => { return axios.get(`${base}/api/WMProductSpec/Get`, { params: params }); }; export const addWMProductSpec = params => { return axios.post(`${base}/api/WMProductSpec/Add`, params); }; export const editWMProductSpec = params => { return axios.put(`${base}/api/WMProductSpec/Update`, params); }; // export const removeWMProductSpec = params => { // return axios.delete(`${base}/api/WMProductSpec/Delete`, { params: params }); // }; //商品单位管理 export const getWMProductUnitListPage = params => { return axios.get(`${base}/api/WMProductUnit/Index`, { params: params }); }; export const getWMProductUnitGet = params => { return axios.get(`${base}/api/WMProductUnit/Get`, { params: params }); }; export const addWMProductUnit = params => { return axios.post(`${base}/api/WMProductUnit/Add`, params); }; export const editWMProductUnit = params => { return axios.put(`${base}/api/WMProductUnit/Update`, params); }; // export const removeWMProductUnit = params => { // return axios.delete(`${base}/api/WMProductUnit/Delete`, { params: params }); // }; //主体 export const SysOrgGetList = params => { return axios.get(`${base}/api/SysOrg/GetList`, { params: params }); }; export const SysOrgGet = params => { return axios.get(`${base}/api/SysOrg/Get`, { params: params }); }; export const SysOrgAdd = params => { return axios.post(`${base}/api/SysOrg/Post`, params); }; export const SysOrgEdit = params => { return axios.put(`${base}/api/SysOrg/Put`, params); }; export const SysOrgDelete = params => { return axios.delete(`${base}/api/SysOrg/Delete`, { params: params }); }; export const SysOrgDeleteMore = params => { return axios.delete(`${base}/api/SysOrg/DeleteMore`, { params: params }); }; //商品库位管理 export const getWMProductLocationListPage = params => { return axios.get(`${base}/api/WMProductLocation/Index`, { params: params }); }; export const getWMProductLocationGet = params => { return axios.get(`${base}/api/WMProductLocation/Get`, { params: params }); }; export const addWMProductLocation = params => { return axios.post(`${base}/api/WMProductLocation/Add`, params); }; export const editWMProductLocation = params => { return axios.put(`${base}/api/WMProductLocation/Update`, params); }; export const removeWMProductLocation = params => { return axios.delete(`${base}/api/WMProductLocation/Delete`, { params: params }); }; //采购详细 export const WMPurchaseQuoteDetailGetList = params => { return axios.get(`${base}/api/WMPurchaseQuoteDetail/GetList`, { params: params }); }; export const WMPurchaseQuoteDetailGetParams = params => { return axios.get(`${base}/api/WMPurchaseQuoteDetail/GetParams`, { params: params }); }; export const WMPurchaseQuoteDetailAdd = params => { return axios.post(`${base}/api/WMPurchaseQuoteDetail/Add`, params); }; export const WMPurchaseQuoteDetailEdit = params => { return axios.put(`${base}/api/WMPurchaseQuoteDetail/Edit`, params); }; export const WMPurchaseQuoteDetailDelete = params => { return axios.delete(`${base}/api/WMPurchaseQuoteDetail/Delete`, { params: params }); }; export const WMPurchaseQuoteDetailDeleteMore = params => { return axios.delete(`${base}/api/WMPurchaseQuoteDetail/DeleteMore`, { params: params }); }; export const WMPurchaseQuoteDetailQuoteAdd = params => { return axios.post(`${base}/api/WMPurchaseQuoteDetail/QuoteAdd`, params); }; export const WMPurchaseQuoteDetailEnter = params => { return axios.post(`${base}/api/WMPurchaseQuoteDetail/Enter`, params); }; export const WMPurchaseQuoteDetailSetNoPass = params => { return axios.post(`${base}/api/WMPurchaseQuoteDetail/SetNoPass`, params); }; //供应商管理 export const getWMSupplierListPage = params => { return axios.get(`${base}/api/WMSupplier/Get`, { params: params }); }; export const getWMSupplierGet = params => { return axios.get(`${base}/api/WMSupplier/GetList`, { params: params }); }; export const addWMSupplier = params => { return axios.post(`${base}/api/WMSupplier/Post`, params); }; export const editWMSupplier = params => { return axios.put(`${base}/api/WMSupplier/Put`, params); }; export const removeWMSupplier = params => { return axios.delete(`${base}/api/WMSupplier/Delete`, { params: params }); }; export const ExportWMSupplier = params => { return axios.get(`${base}/api/WMSupplier/ExportExcel`, { params: params, responseType: "blob" }); }; export const uploadSupplier = params => { return axios.post(`${base}/api/WMSupplier/ImportSupplierList`, params); }; export const editOAWMSupplier = params => { return axios.put(`${base}/api/WMSupplier/UpdateSupplierId`, params); }; //供应商分类 export const getWMSupplierTypeListPage = params => { return axios.get(`${base}/api/WMSupplierType/Get`, { params: params }); }; export const getSelectWMSupplierTypeListPage = params => { return axios.get(`${base}/api/WMSupplierType/GetSelect`, { params: params }); }; export const addWMSupplierType = params => { return axios.post(`${base}/api/WMSupplierType/Post`, params); }; export const editWMSupplierType = params => { return axios.put(`${base}/api/WMSupplierType/Put`, params); }; export const removeWMSupplierType = params => { return axios.delete(`${base}/api/WMSupplierType/delete`, { params: params }); }; export const getWMSupplierTypeTreeTable = params => { return axios.get(`${base}/api/WMSupplierType/GetTreeTable`, { params: params }); }; export const getSupplierTypeTree = params => { return axios.get(`${base}/api/WMSupplierType/GetSupplierTypeTree`, { params: params }); }; //领料管理 export const getWMSaleInfoListPage = params => { return axios.get(`${base}/api/WMSaleInfo/Get`, { params: params }); }; export const WMSaleInfoGetParams = params => { return axios.get(`${base}/api/WMSaleInfo/GetParams`, { params: params }); }; export const addWMSaleInfo = params => { return axios.post(`${base}/api/WMSaleInfo/Post`, params); }; export const detailWMSaleInfo = params => { return axios.get(`${base}/api/WMSaleInfo/Detail`, { params: params }); }; export const checkWMSaleInfo = params => { return axios.put(`${base}/api/WMSaleInfo/SaleCheck`, params); }; export const outDetailWMSaleInfo = params => { return axios.get(`${base}/api/WMSaleInfo/OutDetail`, { params: params }); }; export const outWMSaleInfo = params => { return axios.put(`${base}/api/WMSaleInfo/SaleOut`, params); }; export const setFinishWMSaleInfo = params => { return axios.put(`${base}/api/WMSaleInfo/SaleSetFinish`, params); }; export const getWMSaleInfoLogListPage = params => { return axios.get(`${base}/api/WMSaleInfo/SaleLog`, { params: params }); }; export const deleteWMProductList = params => { return axios.delete(`${base}/api/WMSaleInfo/DeleteProductList`, { params: params }); }; //报价管理 export const WMQuoteInfoGetList = params => { return axios.get(`${base}/api/WMQuoteInfo/GetList`, { params: params }); }; export const WMQuoteInfoGetParams = params => { return axios.get(`${base}/api/WMQuoteInfo/GetParams`, { params: params }); }; export const WMQuoteInfoAdd = params => { return axios.post(`${base}/api/WMQuoteInfo/Add`, params); }; export const WMQuoteInfoEdit = params => { return axios.put(`${base}/api/WMQuoteInfo/Edit`, params); }; export const WMQuoteInfoDelete = params => { return axios.delete(`${base}/api/WMQuoteInfo/Delete`, { params: params }); }; export const WMQuoteInfoDeleteMore = params => { return axios.delete(`${base}/api/WMQuoteInfo/DeleteMore`, { params: params }); }; export const WMQuoteInfoDetail = params => { return axios.get(`${base}/api/WMQuoteInfo/Detail`, { params: params }); }; export const WMQuoteInfoConfirm = params => { return axios.get(`${base}/api/WMQuoteInfo/Confirm`, { params: params }); }; export const WMQuoteInfoDone = params => { return axios.get(`${base}/api/WMQuoteInfo/Done`, { params: params }); }; //库存流水日志 export const getWMStockLogListPage = params => { return axios.get(`${base}/api/WMStockLog/Index`, { params: params }); }; export const ExportWMStockLog = params => { return axios.get(`${base}/api/WMStockLog/ExportStockLog`, { params: params, responseType: "blob" }); }; //入库单管理 export const getWMInInventoryListPage = params => { return axios.get(`${base}/api/WMInInventory/Index`, { params: params }); }; export const detailWMInInventory = params => { return axios.get(`${base}/api/WMInInventory/Detail`, { params: params }); }; //订单管理 export const getWMOrderMainListPage = params => { return axios.get(`${base}/api/WMOrderMain/Index`, { params: params }); }; export const detailWMOrderMain = params => { return axios.get(`${base}/api/WMOrderMain/Detail`, { params: params }); };