From 3fae583242df9d3c6599b4c0ff350cca0d66a061 Mon Sep 17 00:00:00 2001 From: 劉鈞霖 <benson@gmail.com> Date: 星期二, 30 十一月 2021 13:06:11 +0800 Subject: [PATCH] [ Update ] 修正除了登入 api 以外 401 錯誤訊息並清掉 localStorage --- PAMapp/assets/ts/api/share.ts | 53 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 31 insertions(+), 22 deletions(-) diff --git a/PAMapp/assets/ts/api/share.ts b/PAMapp/assets/ts/api/share.ts index 3b37732..fe55bb2 100644 --- a/PAMapp/assets/ts/api/share.ts +++ b/PAMapp/assets/ts/api/share.ts @@ -1,11 +1,20 @@ -import axios from 'axios'; import { AxiosRequestConfig, AxiosError, AxiosResponse } from 'axios'; -import { MessageBox } from 'element-ui'; +import ErrorMessageBox from '../errorService'; +import LocalStorage from '~/store/localStorage'; +import axios from 'axios'; +import _ from 'lodash'; + +const notRequireInterceptorErrorUrl=[ + '/otp/verify', + '/eService/authenticate', + '/login/validate/get_img_code', + '/login/validate/verify_img_code', +]; export const service = axios.create({ - baseURL: process.env.BASE_URL, - withCredentials: true -}) + baseURL: process.env.BASE_URL, + withCredentials: true +}); service.interceptors.request.use( (config:AxiosRequestConfig)=>{ @@ -21,30 +30,30 @@ }, (error:AxiosError)=>{ loadingFinish(); - if (error.config.url !== '/otp/verify') { - openErrorMessage(); - } + showErrorMessageBox(error) return Promise.reject(error); } ); - - function loadingStart(): void { window.$nuxt.$loading.start(); -} +}; function loadingFinish(): void { window.$nuxt.$loading.finish(); -} +}; -function openErrorMessage():void{ - MessageBox({ - message: '蝟餌絞���隤�', - showClose:false, - showConfirmButton:true, - confirmButtonText:'蝣箄��', - customClass:'pam-message-box', - closeOnClickModal:false, - }); -} \ No newline at end of file +function showErrorMessageBox(error:any):void{ + if(!_.includes(notRequireInterceptorErrorUrl,error.config.url)){ + switch (error.response.status) { + case 401: + ErrorMessageBox('���暹��'); + window.$nuxt.$store.commit('localStorage/storageClear'); + break; + default: + ErrorMessageBox(); + break; + } + + } +}; -- Gitblit v1.8.0