From 202f69ff07a2840a9746cda72361f0f67a20a85a Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期二, 30 十一月 2021 19:47:10 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- PAMapp/assets/ts/api/share.ts | 68 ++++++++++++++++++++++++--------- 1 files changed, 49 insertions(+), 19 deletions(-) diff --git a/PAMapp/assets/ts/api/share.ts b/PAMapp/assets/ts/api/share.ts index 12fa904..6e92bac 100644 --- a/PAMapp/assets/ts/api/share.ts +++ b/PAMapp/assets/ts/api/share.ts @@ -1,31 +1,61 @@ +import { AxiosRequestConfig, AxiosError, AxiosResponse } from 'axios'; +import ErrorMessageBox from '../errorService'; import axios from 'axios'; -import { AxiosRequestConfig, AxiosError, AxiosResponse } 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 -}) + baseURL: process.env.BASE_URL, + withCredentials: true +}); -service.interceptors.request.use(function (config: AxiosRequestConfig) { - loadingStart(); +service.interceptors.request.use( + (config:AxiosRequestConfig)=>{ + loadingStart(); return config; -}, function (error: AxiosError) { - loadingFinish(); - return Promise.reject(error); -}); + } +); -service.interceptors.response.use(function (response: AxiosResponse) { - loadingFinish(); - return response; -}, function (error: AxiosError) { - loadingFinish(); +service.interceptors.response.use( + (response:AxiosResponse)=>{ + loadingFinish(); + return response; // maybe can use response.data + }, + (error:AxiosError)=>{ + loadingFinish(); + showErrorMessageBox(error) return Promise.reject(error); -}); + } +); function loadingStart(): void { - setTimeout(() => { window.$nuxt.$loading.start(); - }); -} +}; function loadingFinish(): void { window.$nuxt.$loading.finish(); -} +}; + +function showErrorMessageBox(error:any):void{ + // console.log('error', error, error.response); + if(!_.includes(notRequireInterceptorErrorUrl,error.config.url)){ + switch (error.response.status) { + case 401: + ErrorMessageBox('���暹��').then(()=>{ + window.$nuxt.$store.commit('localStorage/storageClear'); + location.href='/'; + }); + break; + default: + ErrorMessageBox('', error); + break; + } + + } +}; -- Gitblit v1.8.0