123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import axios from 'axios';
- import {toLogin} from "@/utils/permissions";
- import {ElMessage} from "element-plus";
- export class Interceptors {
- public instance: any
- constructor() {
- this.instance = axios.create({timeout: 1000 * 300})
- this.initInterceptors()
- }
- public getInterceptors() {
- return this.instance
- }
- public initInterceptors() {
- // this.instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'
- /**
- * 请求拦截器
- * 每次请求前,如果存在token则在请求头中携带token
- */
- this.instance.interceptors.request.use(
- (config: any) => {
- // if (!config.headers.Authorization) {
- // const token = sessionStorage.getItem('ax_token');
- // if (token) {
- // config.headers.Authorization = token;
- // } else {
- // // @ts-ignore
- // delete config.headers.Authorization
- // }
- // }
- return config;
- },
- (error: any) => {
- }
- );
- // 响应拦截器
- this.instance.interceptors.response.use(
- // 请求成功
- (res: any) => {
- if (res.status === 200) {
- //
- if (res.data?.code === 402) {
- ElMessage.warning(res.data.message)
- sessionStorage.removeItem('sg_token')
- toLogin()
- } else {
- return res
- }
- }
- },
- // 请求失败
- (error: any) => {
- ElMessage.error(error)
- console.error('错误接口:' + error.config.url)
- // 对响应错误做点什么
- return Promise.reject(error)
- });
- }
- }
|