8a491337569e85ecacc62498e701d299.json 17 KB

1
  1. {"remainingRequest":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/eslint-loader/index.js??ref--13-0!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/utils/request.js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/utils/request.js","mtime":1708395647252},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/babel.config.js","mtime":1708395041663},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js","mtime":1708395147257},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/eslint-loader/index.js","mtime":1708395146572}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmVycm9yLmNhdXNlLmpzIjsKaW1wb3J0IGF4aW9zIGZyb20gImF4aW9zIjsKaW1wb3J0IHsgTWVzc2FnZUJveCwgTWVzc2FnZSwgTG9hZGluZyB9IGZyb20gImVsZW1lbnQtdWkiOwppbXBvcnQgc3RvcmUgZnJvbSAiQC9zdG9yZSI7CmltcG9ydCB7IGdldFRva2VuIH0gZnJvbSAiQC91dGlscy9hdXRoIjsKdmFyIGlzSGFuZGxlID0gZmFsc2U7CgovLyBjcmVhdGUgYW4gYXhpb3MgaW5zdGFuY2UKdmFyIHNlcnZpY2UgPSBheGlvcy5jcmVhdGUoewogIC8vIGJhc2VVUkw6IHByb2Nlc3MuZW52LlZVRV9BUFBfQkFTRV9BUEksCiAgYmFzZVVSTDogImh0dHA6Ly8xMC40OC4zNi40MzoxODgxMC8iLAogIC8vIHVybCA9IGJhc2UgdXJsICsgcmVxdWVzdCB1cmwKICAvLyB3aXRoQ3JlZGVudGlhbHM6IHRydWUsIC8vIHNlbmQgY29va2llcyB3aGVuIGNyb3NzLWRvbWFpbiByZXF1ZXN0cwogIHRpbWVvdXQ6IDIwMDAwIC8vIHJlcXVlc3QgdGltZW91dAp9KTsKCnZhciBsb2FkaW5nSW5zdGFuY2UgPSBudWxsOwpmdW5jdGlvbiBzdGFydExvYWRpbmcoKSB7CiAgbG9hZGluZ0luc3RhbmNlID0gTG9hZGluZy5zZXJ2aWNlKHsKICAgIGZ1bGxzY3JlZW46IHRydWUsCiAgICB0ZXh0OiAi5ou85ZG95Yqg6L295LitLi4uIiwKICAgIGJhY2tncm91bmQ6ICJyZ2JhKDAsIDAsIDAsIDAuOCkiCiAgfSk7Cn0KZnVuY3Rpb24gZW5kTG9hZGluZygpIHsKICBsb2FkaW5nSW5zdGFuY2UuY2xvc2UoKTsKfQp2YXIgbmVlZExvYWRpbmdSZXF1ZXN0Q291bnQgPSAwOwpmdW5jdGlvbiBzaG93RnVsbFNjcmVlbkxvYWRpbmcoKSB7CiAgaWYgKG5lZWRMb2FkaW5nUmVxdWVzdENvdW50ID09PSAwKSB7CiAgICBzdGFydExvYWRpbmcoKTsKICB9CiAgbmVlZExvYWRpbmdSZXF1ZXN0Q291bnQrKzsKfQpmdW5jdGlvbiB0cnlIaWRlRnVsbFNjcmVlbkxvYWRpbmcoKSB7CiAgaWYgKG5lZWRMb2FkaW5nUmVxdWVzdENvdW50IDw9IDApIHJldHVybjsKICBuZWVkTG9hZGluZ1JlcXVlc3RDb3VudC0tOwogIGlmIChuZWVkTG9hZGluZ1JlcXVlc3RDb3VudCA9PT0gMCkgewogICAgZW5kTG9hZGluZygpOwogIH0KfQoKLy8gcmVxdWVzdCBpbnRlcmNlcHRvcgpzZXJ2aWNlLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZShmdW5jdGlvbiAoY29uZmlnKSB7CiAgaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoICE9PSAiIy9kYXNoYm9hcmQiKSB7CiAgICBzaG93RnVsbFNjcmVlbkxvYWRpbmcoKTsKICB9CiAgdmFyIHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oInRva2VuIik7CiAgdG9rZW4gJiYgKGNvbmZpZy5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSB0b2tlbik7CiAgLy8gdG9rZW4gJiYgKGNvbmZpZy5oZWFkZXJzLnRva2VuID0gdG9rZW4pOwogIHJldHVybiBjb25maWc7Cn0sIGZ1bmN0aW9uIChlcnJvcikgewogIGlmICh3aW5kb3cubG9jYXRpb24uaGFzaCAhPT0gIiMvZGFzaGJvYXJkIikgewogICAgdHJ5SGlkZUZ1bGxTY3JlZW5Mb2FkaW5nKCk7CiAgfQogIC8vIGRvIHNvbWV0aGluZyB3aXRoIHJlcXVlc3QgZXJyb3IKICBjb25zb2xlLmxvZyhlcnJvcik7IC8vIGZvciBkZWJ1ZwogIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7Cn0pOwoKLy8gcmVzcG9uc2UgaW50ZXJjZXB0b3IKc2VydmljZS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKAovKioNCiAqIElmIHlvdSB3YW50IHRvIGdldCBodHRwIGluZm9ybWF0aW9uIHN1Y2ggYXMgaGVhZGVycyBvciBzdGF0dXMNCiAqIFBsZWFzZSByZXR1cm4gIHJlc3BvbnNlID0+IHJlc3BvbnNlDQogKi8KCi8qKg0KICogRGV0ZXJtaW5lIHRoZSByZXF1ZXN0IHN0YXR1cyBieSBjdXN0b20gY29kZQ0KICogSGVyZSBpcyBqdXN0IGFuIGV4YW1wbGUNCiAqIFlvdSBjYW4gYWxzbyBqdWRnZSB0aGUgc3RhdHVzIGJ5IEhUVFAgU3RhdHVzIENvZGUNCiAqLwpmdW5jdGlvbiAocmVzcG9uc2UpIHsKICBpZiAod2luZG93LmxvY2F0aW9uLmhhc2ggIT09ICIjL2Rhc2hib2FyZCIpIHsKICAgIHRyeUhpZGVGdWxsU2NyZWVuTG9hZGluZygpOwogIH0KICB2YXIgcmVzID0gcmVzcG9uc2UuZGF0YTsKICB2YXIgcmVzZSA9IHJlc3BvbnNlOwogIC8vIGNvbnNvbGUubG9nKHJlc2UsJ3JlZXJyZXJlcmVyZXJlcmUuLi8uLi8uLi8uLi8vJyk7CiAgLy8gaWYgdGhlIGN1c3RvbSBjb2RlIGlzIG5vdCAyMDAwMCwgaXQgaXMganVkZ2VkIGFzIGFuIGVycm9yLgogIGlmIChyZXMuY29kZSAhPT0gMjAwICYmICFyZXMudHlwZSAmJiByZXNlLnN0YXR1cyAhPT0gMjAwKSB7CiAgICBNZXNzYWdlKHsKICAgICAgbWVzc2FnZTogcmVzLm1zZyB8fCAiRXJyb3IiLAogICAgICB0eXBlOiAiZXJyb3IiLAogICAgICBkdXJhdGlvbjogNSAqIDEwMDAKICAgIH0pOwoKICAgIC8vIDUwMDA4OiBJbGxlZ2FsIHRva2VuOyA1MDAxMjogT3RoZXIgY2xpZW50cyBsb2dnZWQgaW47IDUwMDE0OiBUb2tlbiBleHBpcmVkOwogICAgaWYgKHJlcy5jb2RlID09PSA1MDAwOCB8fCByZXMuY29kZSA9PT0gNTAwMTQpIHsKICAgICAgLy8gdG8gcmUtbG9naW4KICAgICAgTWVzc2FnZUJveC5jb25maXJtKCJZb3UgaGF2ZSBiZWVuIGxvZ2dlZCBvdXQsIHlvdSBjYW4gY2FuY2VsIHRvIHN0YXkgb24gdGhpcyBwYWdlLCBvciBsb2cgaW4gYWdhaW4iLCAiQ29uZmlybSBsb2dvdXQiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICJSZS1Mb2dpbiIsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIkNhbmNlbCIsCiAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHN0b3JlLmRpc3BhdGNoKCJ1c2VyL3Jlc2V0VG9rZW4iKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0KICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IocmVzLm1zZyB8fCAiRXJyb3IiKSk7CiAgfSBlbHNlIGlmIChyZXMudHlwZSkgewogICAgcmV0dXJuIHJlczsKICB9IGVsc2UgewogICAgaWYgKHJlcy5jb2RlID09IDQwNikgewogICAgICBpZiAoaXNIYW5kbGUpIHJldHVybjsKICAgICAgaXNIYW5kbGUgPSB0cnVlOwogICAgICB2YXIgc3RyID0gcmVzLm1zZy5zdWJzdHIoLTE5KTsKICAgICAgTWVzc2FnZUJveC5jb25maXJtKCJcdTVGNTNcdTUyNERcdThEMjZcdTUzRjdcdTRFOEUiLmNvbmNhdChzdHIsICJcdTU3MjhcdTUxNzZcdTRFRDZcdThCQkVcdTU5MDdcdTRFMEFcdTc2N0JcdTVGNTUsXHU2QjY0XHU4QkJFXHU1OTA3XHU1REYyXHU5MDAwXHU1MUZBXHU3NjdCXHU1RjU1IiksICLmj5DnpLoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLpgIDlh7rnmbvlvZUiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBzdG9yZS5kaXNwYXRjaCgidXNlci9yZXNldFRva2VuIikudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgIGlzSGFuZGxlID0gZmFsc2U7CiAgICAgIH0sIDEwMDApOwogICAgfSBlbHNlIGlmIChyZXMuY29kZSA9PSA0MDIpIHsKICAgICAgaWYgKGlzSGFuZGxlKSByZXR1cm47CiAgICAgIGlzSGFuZGxlID0gdHJ1ZTsKICAgICAgTWVzc2FnZUJveC5jb25maXJtKCJcdTVGNTNcdTUyNERcdThEMjZcdTUzRjdcdTc2N0JcdTVGNTVcdTVERjJcdThGQzdcdTY3MUZcdUZGMENcdThCRjdcdTkxQ0RcdTY1QjBcdTc2N0JcdTVGNTVcdUZGMDEiLCAi5o+Q56S6IiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi6YCA5Ye655m75b2VIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgc3RvcmUuZGlzcGF0Y2goInVzZXIvcmVzZXRUb2tlbiIpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICBpc0hhbmRsZSA9IGZhbHNlOwogICAgICB9LCAxMDAwKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiByZXM7CiAgICB9CiAgICAvLyByZXR1cm4gcmVzCiAgfQp9LCBmdW5jdGlvbiAoZXJyb3IpIHsKICBpZiAod2luZG93LmxvY2F0aW9uLmhhc2ggIT09ICIjL2Rhc2hib2FyZCIpIHsKICAgIHRyeUhpZGVGdWxsU2NyZWVuTG9hZGluZygpOwogIH0KICBjb25zb2xlLmxvZygiZXJyIiArIGVycm9yKTsgLy8gZm9yIGRlYnVnCiAgTWVzc2FnZSh7CiAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLAogICAgdHlwZTogImVycm9yIiwKICAgIGR1cmF0aW9uOiA1ICogMTAwMAogIH0pOwogIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7Cn0pOwpleHBvcnQgZGVmYXVsdCBzZXJ2aWNlOw=="},{"version":3,"names":["axios","MessageBox","Message","Loading","store","getToken","isHandle","service","create","baseURL","timeout","loadingInstance","startLoading","fullscreen","text","background","endLoading","close","needLoadingRequestCount","showFullScreenLoading","tryHideFullScreenLoading","interceptors","request","use","config","window","location","hash","token","localStorage","getItem","headers","Authorization","error","console","log","Promise","reject","response","res","data","rese","code","type","status","message","msg","duration","confirm","confirmButtonText","cancelButtonText","then","dispatch","reload","Error","str","substr","concat","setTimeout"],"sources":["/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/utils/request.js"],"sourcesContent":["import axios from \"axios\";\r\nimport {\r\n MessageBox,\r\n Message,\r\n Loading\r\n} from \"element-ui\";\r\nimport store from \"@/store\";\r\nimport {\r\n getToken\r\n} from \"@/utils/auth\";\r\nlet isHandle = false;\r\n\r\n// create an axios instance\r\nconst service = axios.create({\r\n // baseURL: process.env.VUE_APP_BASE_API,\r\n baseURL: \"http://10.48.36.43:18810/\", // url = base url + request url\r\n // withCredentials: true, // send cookies when cross-domain requests\r\n timeout: 20000, // request timeout\r\n});\r\n\r\nlet loadingInstance = null;\r\n\r\nfunction startLoading() {\r\n loadingInstance = Loading.service({\r\n fullscreen: true,\r\n text: \"拼命加载中...\",\r\n background: \"rgba(0, 0, 0, 0.8)\",\r\n });\r\n}\r\n\r\nfunction endLoading() {\r\n loadingInstance.close();\r\n}\r\nlet needLoadingRequestCount = 0;\r\n\r\nfunction showFullScreenLoading() {\r\n if (needLoadingRequestCount === 0) {\r\n startLoading();\r\n }\r\n needLoadingRequestCount++;\r\n}\r\n\r\nfunction tryHideFullScreenLoading() {\r\n if (needLoadingRequestCount <= 0) return;\r\n needLoadingRequestCount--;\r\n if (needLoadingRequestCount === 0) {\r\n endLoading();\r\n }\r\n}\r\n\r\n// request interceptor\r\nservice.interceptors.request.use(\r\n (config) => {\r\n if (window.location.hash !== \"#/dashboard\") {\r\n showFullScreenLoading();\r\n }\r\n const token = localStorage.getItem(\"token\");\r\n token && (config.headers.Authorization = token);\r\n // token && (config.headers.token = token);\r\n return config;\r\n },\r\n (error) => {\r\n if (window.location.hash !== \"#/dashboard\") {\r\n tryHideFullScreenLoading();\r\n }\r\n // do something with request error\r\n console.log(error); // for debug\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\n// response interceptor\r\nservice.interceptors.response.use(\r\n /**\r\n * If you want to get http information such as headers or status\r\n * Please return response => response\r\n */\r\n\r\n /**\r\n * Determine the request status by custom code\r\n * Here is just an example\r\n * You can also judge the status by HTTP Status Code\r\n */\r\n (response) => {\r\n if (window.location.hash !== \"#/dashboard\") {\r\n tryHideFullScreenLoading();\r\n }\r\n const res = response.data;\r\n const rese = response;\r\n // console.log(rese,'reerrererererere../../../..//');\r\n // if the custom code is not 20000, it is judged as an error.\r\n if (res.code !== 200 && !res.type && rese.status !== 200) {\r\n Message({\r\n message: res.msg || \"Error\",\r\n type: \"error\",\r\n duration: 5 * 1000,\r\n });\r\n\r\n // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;\r\n if (res.code === 50008 || res.code === 50014) {\r\n // to re-login\r\n MessageBox.confirm(\r\n \"You have been logged out, you can cancel to stay on this page, or log in again\",\r\n \"Confirm logout\", {\r\n confirmButtonText: \"Re-Login\",\r\n cancelButtonText: \"Cancel\",\r\n type: \"warning\",\r\n }\r\n ).then(() => {\r\n store.dispatch(\"user/resetToken\").then(() => {\r\n location.reload();\r\n });\r\n });\r\n }\r\n return Promise.reject(new Error(res.msg || \"Error\"));\r\n } else if (res.type) {\r\n return res;\r\n } else {\r\n if (res.code == 406) {\r\n if (isHandle) return;\r\n isHandle = true;\r\n let str = res.msg.substr(-19);\r\n MessageBox.confirm(\r\n `当前账号于${str}在其他设备上登录,此设备已退出登录`,\r\n \"提示\", {\r\n confirmButtonText: \"退出登录\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\",\r\n }\r\n ).then(() => {\r\n store.dispatch(\"user/resetToken\").then(() => {\r\n location.reload();\r\n });\r\n });\r\n setTimeout(() => {\r\n isHandle = false;\r\n }, 1000);\r\n } else if (res.code == 402) {\r\n if (isHandle) return;\r\n isHandle = true;\r\n MessageBox.confirm(`当前账号登录已过期,请重新登录!`, \"提示\", {\r\n confirmButtonText: \"退出登录\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\",\r\n }).then(() => {\r\n store.dispatch(\"user/resetToken\").then(() => {\r\n location.reload();\r\n });\r\n });\r\n setTimeout(() => {\r\n isHandle = false;\r\n }, 1000);\r\n } else {\r\n return res;\r\n }\r\n // return res\r\n }\r\n },\r\n (error) => {\r\n if (window.location.hash !== \"#/dashboard\") {\r\n tryHideFullScreenLoading();\r\n }\r\n console.log(\"err\" + error); // for debug\r\n Message({\r\n message: error.message,\r\n type: \"error\",\r\n duration: 5 * 1000,\r\n });\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport default service;"],"mappings":"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"}]}