mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-17 16:24:25 +08:00
add device & sessions page
This commit is contained in:
+17
-2
@@ -32,10 +32,15 @@ axios.interceptors.request.use(config => {
|
||||
axios.interceptors.response.use(response => {
|
||||
return response;
|
||||
}, error => {
|
||||
if (error.response && error.response.data && error.response.data.errorCode) {
|
||||
if (error.response && !error.response.config.ignoreError && error.response.data && error.response.data.errorCode) {
|
||||
const errorCode = error.response.data.errorCode;
|
||||
|
||||
if (202001 <= errorCode && errorCode <= 202008) { // unauthorized access or token is invalid
|
||||
if (errorCode === 202001 // unauthorized access
|
||||
&& errorCode <= 202002 // current token is invalid
|
||||
&& errorCode <= 202003 // current token is expired
|
||||
&& errorCode <= 202004 // current token type is invalid
|
||||
&& errorCode <= 202005 // current token requires two factor authorization
|
||||
&& errorCode <= 202006) { // current token does not require two factor authorization
|
||||
userState.clearToken();
|
||||
location.reload();
|
||||
return Promise.reject({ processed: true });
|
||||
@@ -98,6 +103,8 @@ export default {
|
||||
if (data.result.oldTokenId) {
|
||||
axios.post('v1/tokens/revoke.json', {
|
||||
tokenId: data.result.oldTokenId
|
||||
}, {
|
||||
ignoreError: true
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -119,4 +126,12 @@ export default {
|
||||
password
|
||||
});
|
||||
},
|
||||
getTokens: () => {
|
||||
return axios.get('v1/tokens/list.json');
|
||||
},
|
||||
revokeToken: ({ tokenId }) => {
|
||||
return axios.post('v1/tokens/revoke.json', {
|
||||
tokenId
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user