| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- 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')
- }
|