import axios from 'axios' const api = axios.create({ baseURL: '/api', timeout: 30000, }) // 当前项目(js=金山烟草, jd=嘉定烟草) let currentProject = 'js' export function setCurrentProject(project) { currentProject = project } export function getCurrentProject() { return currentProject } // 请求拦截器:自动附加项目标识和 token api.interceptors.request.use((config) => { config.headers['X-Project'] = currentProject const token = localStorage.getItem('auth_token') if (token) { config.headers['Authorization'] = token } return config }) // Token 管理 export function setToken(token) { localStorage.setItem('auth_token', token) api.defaults.headers.common['Authorization'] = token } export function getToken() { const token = localStorage.getItem('auth_token') if (token) { api.defaults.headers.common['Authorization'] = token } return token } export function removeToken() { localStorage.removeItem('auth_token') delete api.defaults.headers.common['Authorization'] } // 初始化时恢复 token getToken() // 登录 export function login(username, password) { return api.post('/orders/login', { username, password }) } // 查询订单 export function queryOrders(params) { return api.post('/orders/query', params) } // 导出Excel export function exportExcel(params) { return api.post('/orders/export/excel', params, { responseType: 'blob' }) } // 导入运单 export function importLogistics(file) { const formData = new FormData() formData.append('file', file) return api.post('/orders/import/logistics', formData, { headers: { 'Content-Type': 'multipart/form-data' }, }) } // 下载导入模板 export function downloadTemplate() { return api.get('/orders/import/template', { responseType: 'blob' }) } // 查询操作日志(仅admin) export function queryLogs(params) { return api.get('/orders/logs', { params }) } // 获取统计数据 export function getStats() { return api.get('/orders/stats') }