You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0 lines
6.9 KiB

1 month ago
  1. {"ast":null,"code":"import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport router from '@/router';\nimport store from '@/store';\nconst service = axios.create({\n baseURL: '/api',\n timeout: 5000\n});\nservice.interceptors.request.use(config => {\n const token = localStorage.getItem('token');\n if (token) {\n config.headers['Authorization'] = `Bearer ${token}`;\n }\n\n // 添加日志\n console.log('请求配置:', {\n method: config.method,\n url: config.baseURL + config.url,\n params: config.params,\n headers: config.headers\n });\n return config;\n}, error => {\n return Promise.reject(error);\n});\nservice.interceptors.response.use(response => {\n const res = response.data;\n console.log('响应数据:', res);\n if (typeof res === 'string') {\n return {\n code: 200,\n message: res,\n data: null\n };\n }\n if (res.records !== undefined) {\n return {\n code: 200,\n message: 'success',\n data: res\n };\n }\n if (res === true || res === '') {\n return {\n code: 200,\n message: 'success'\n };\n }\n if (res.code !== undefined) {\n return res;\n }\n return {\n code: 200,\n message: 'success',\n data: res\n };\n}, error => {\n console.error('请求错误:', error);\n if (error.response?.status === 503) {\n ElMessage.error('服务暂时不可用,请稍后重试');\n return Promise.reject(new Error('服务暂时不可用'));\n }\n if (error.response?.status === 401) {\n store.dispatch('logout');\n router.push('/login');\n ElMessage.error('登录已过期,请重新登录');\n } else if (error.response?.status === 403) {\n ElMessage.error('您没有权限执行此操作');\n } else if (error.response?.data?.message) {\n ElMessage.error(error.response.data.message);\n } else {\n ElMessage.error('网络请求失败,请稍后重试');\n }\n return Promise.reject(error);\n});\nexport default service;","map":{"version":3,"names":["axios","ElMessage","router","store","service","create","baseURL","timeout","interceptors","request","use","config","token","localStorage","getItem","headers","console","log","method","url","params","error","Promise","reject","response","res","data","code","message","records","undefined","status","Error","dispatch","push"],"sources":["D:/IDEAproject/Front-end logistics/src/utils/request.js"],"sourcesContent":["import axios from 'axios'\r\nimport { ElMessage } from 'element-plus'\r\nimport router from '@/router'\r\nimport store from '@/store'\r\n\r\nconst service = axios.create({\r\n baseURL: '/api',\r\n timeout: 5000\r\n})\r\n\r\nservice.interceptors.request.use(\r\n config => {\r\n const token = localStorage.getItem('token')\r\n if (token) {\r\n config.headers['Authorization'] = `Bearer ${token}`\r\n }\r\n \r\n // \r\n console.log(':', {\r\n method: config.method,\r\n url: config.baseURL + config.url,\r\n params: config.params,\r\n headers: config.headers\r\n })\r\n \r\n return config\r\n },\r\n error => {\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\nservice.interceptors.response.use(\r\n response => {\r\n const res = response.data\r\n console.log(':', res)\r\n \r\n if (typeof res === 'string') {\r\n return {\r\n code: 200,\r\n message: res,\r\n data: null\r\n }\r\n }\r\n \r\n if (res.records !== undefined) {\r\n return {\r\n code: 200,\r\n message: 'success',\r\n data: res\r\n }\r\n }\r\n \r\n if (res === true || res === '') {\r\n return {\r\n code: 200,\r\n message: 'success'\r\n }\r\n }\r\n \r\n if (res.code !== undefined) {\r\n return res\r\n }\r\n \r\n return {\r\n code: 200,\r\n message: 'success',\r\n data: res\r\n }\r\n },\r\n error => {\r\n console.error(':', error)\r\n \r\n if (error.response?.status === 503) {\r\n ElMessage.error('