|
@@ -10,6 +10,8 @@ import { PLATFORM, DEVICE_ID } from "../constants/app";
|
|
|
import { initSyncTime, fetchTime } from "../plugins/syncServerTime";
|
|
|
import { objTypeOf } from "./utils";
|
|
|
|
|
|
+const logoutUrl = "api/admin/common/logout";
|
|
|
+
|
|
|
// const IS_DEV = false;
|
|
|
// axios interceptors
|
|
|
var load = "";
|
|
@@ -145,6 +147,11 @@ const errorCallback = (error) => {
|
|
|
const errorDataCallback = (response) => {
|
|
|
if (objTypeOf(response.data) === "blob") return response.data;
|
|
|
|
|
|
+ if (response.config.url.includes(logoutUrl)) {
|
|
|
+ logoutHandle();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
const error = response.data;
|
|
|
let message = error.message || error.error || "请求错误";
|
|
|
const unauthStatus = [401, 403];
|
|
@@ -171,24 +178,7 @@ const errorDataCallback = (response) => {
|
|
|
unauthMsgBoxIsShow = false;
|
|
|
if (action !== "confirm") return;
|
|
|
|
|
|
- const returnUrl = Vue.ls.get("returnUrl");
|
|
|
- if (returnUrl) {
|
|
|
- window.location.href = returnUrl;
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- Vue.ls.clear();
|
|
|
- const paramDomainCode =
|
|
|
- window.sessionStorage.getItem("paramDomainCode");
|
|
|
- const routeDomainCode =
|
|
|
- window.sessionStorage.getItem("routeDomainCode");
|
|
|
- if (paramDomainCode) {
|
|
|
- router.push({ name: "Login", query: { code: paramDomainCode } });
|
|
|
- } else if (routeDomainCode) {
|
|
|
- router.push({ name: "Login", params: { code: routeDomainCode } });
|
|
|
- } else {
|
|
|
- router.push({ name: "Login" });
|
|
|
- }
|
|
|
+ logoutHandle();
|
|
|
},
|
|
|
});
|
|
|
} else if (error.code === 503002) {
|
|
@@ -204,6 +194,25 @@ const errorDataCallback = (response) => {
|
|
|
return error;
|
|
|
};
|
|
|
|
|
|
+function logoutHandle() {
|
|
|
+ const returnUrl = Vue.ls.get("returnUrl");
|
|
|
+ if (returnUrl) {
|
|
|
+ window.location.href = returnUrl;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Vue.ls.clear();
|
|
|
+ const paramDomainCode = window.sessionStorage.getItem("paramDomainCode");
|
|
|
+ const routeDomainCode = window.sessionStorage.getItem("routeDomainCode");
|
|
|
+ if (paramDomainCode) {
|
|
|
+ router.push({ name: "Login", query: { code: paramDomainCode } });
|
|
|
+ } else if (routeDomainCode) {
|
|
|
+ router.push({ name: "Login", params: { code: routeDomainCode } });
|
|
|
+ } else {
|
|
|
+ router.push({ name: "Login" });
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* response format
|
|
|
* {
|