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.

1 lines
4.1 KiB

{"ast":null,"code":"import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport router from '@/router';\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 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 (res.code === 200) {\n return res;\n } else {\n ElMessage.error(res.message || '请求失败');\n return Promise.reject(new Error(res.message || '请求失败'));\n }\n}, error => {\n console.error('请求错误:', error.response || error);\n if (error.response?.status === 401) {\n localStorage.removeItem('token');\n router.push('/login');\n ElMessage.error('登录已过期,请重新登录');\n } else {\n ElMessage.error(error.response?.data?.message || '网络请求失败,请稍后重试');\n }\n return Promise.reject(error);\n});\nexport default service;","map":{"version":3,"names":["axios","ElMessage","router","service","create","baseURL","timeout","interceptors","request","use","config","token","localStorage","getItem","headers","error","Promise","reject","response","res","data","console","log","code","message","Error","status","removeItem","push"],"sources":["D:/language/VScode/Front-end logistics/src/utils/request.js"],"sourcesContent":["import axios from 'axios'\r\nimport { ElMessage } from 'element-plus'\r\nimport router from '@/router'\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 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 (res.code === 200) {\r\n return res\r\n } else {\r\n ElMessage.error(res.message || '请求失败')\r\n return Promise.reject(new Error(res.message || '请求失败'))\r\n }\r\n },\r\n error => {\r\n console.error('请求错误:', error.response || error)\r\n if (error.response?.status === 401) {\r\n localStorage.removeItem('token')\r\n router.push('/login')\r\n ElMessage.error('登录已过期,请重新登录')\r\n } else {\r\n ElMessage.error(error.response?.data?.message || '网络请求失败,请稍后重试')\r\n }\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\nexport default service "],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,cAAc;AACxC,OAAOC,MAAM,MAAM,UAAU;AAE7B,MAAMC,OAAO,GAAGH,KAAK,CAACI,MAAM,CAAC;EAC3BC,OAAO,EAAE,MAAM;EACfC,OAAO,EAAE;AACX,CAAC,CAAC;AAEFH,OAAO,CAACI,YAAY,CAACC,OAAO,CAACC,GAAG,CAC9BC,MAAM,IAAI;EACR,MAAMC,KAAK,GAAGC,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC;EAC3C,IAAIF,KAAK,EAAE;IACTD,MAAM,CAACI,OAAO,CAAC,eAAe,CAAC,GAAG,UAAUH,KAAK,EAAE;EACrD;EACA,OAAOD,MAAM;AACf,CAAC,EACDK,KAAK,IAAI;EACP,OAAOC,OAAO,CAACC,MAAM,CAACF,KAAK,CAAC;AAC9B,CACF,CAAC;AAEDZ,OAAO,CAACI,YAAY,CAACW,QAAQ,CAACT,GAAG,CAC/BS,QAAQ,IAAI;EACV,MAAMC,GAAG,GAAGD,QAAQ,CAACE,IAAI;EACzBC,OAAO,CAACC,GAAG,CAAC,OAAO,EAAEH,GAAG,CAAC;EAEzB,IAAIA,GAAG,CAACI,IAAI,KAAK,GAAG,EAAE;IACpB,OAAOJ,GAAG;EACZ,CAAC,MAAM;IACLlB,SAAS,CAACc,KAAK,CAACI,GAAG,CAACK,OAAO,IAAI,MAAM,CAAC;IACtC,OAAOR,OAAO,CAACC,MAAM,CAAC,IAAIQ,KAAK,CAACN,GAAG,CAACK,OAAO,IAAI,MAAM,CAAC,CAAC;EACzD;AACF,CAAC,EACDT,KAAK,IAAI;EACPM,OAAO,CAACN,KAAK,CAAC,OAAO,EAAEA,KAAK,CAACG,QAAQ,IAAIH,KAAK,CAAC;EAC/C,IAAIA,KAAK,CAACG,QAAQ,EAAEQ,MAAM,KAAK,GAAG,EAAE;IAClCd,YAAY,CAACe,UAAU,CAAC,OAAO,CAAC;IAChCzB,MAAM,CAAC0B,IAAI,CAAC,QAAQ,CAAC;IACrB3B,SAAS,CAACc,KAAK,CAAC,aAAa,CAAC;EAChC,CAAC,MAAM;IACLd,SAAS,CAACc,KAAK,CAACA,KAAK,CAACG,QAAQ,EAAEE,IAAI,EAAEI,OAAO,IAAI,cAAc,CAAC;EAClE;EACA,OAAOR,OAAO,CAACC,MAAM,CAACF,KAAK,CAAC;AAC9B,CACF,CAAC;AAED,eAAeZ,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}