• axisos 封装实例


    今天研究了一下公司pc端封装的axios,主要配合element以及js-cookie,自己跟着搞了一遍,在这里记录一下。

    代码

    import axios from 'axios';
    import { Loading } from 'element-ui';
    import Cookies from 'js-cokie';
    
    //基于axios基本配置创建实例
    const serviece=axios.ceeate({
        baseUrl: '',
        timeOut: 10000,
        headers: {
            source: 'YTO-STEWARD'
        }
    });
    
    let loadingInstance;
    
    // 创建http请求拦截器
    serviece.interceptors.request.use(
        config => {
            config.headers['Content-Type'] = 'application/json';
            loadingInstance=Loading.serviece({
                lock: true,
                text: '加载中,请稍后...',
                background: 'rgba(255,255,255,0.7)'
            });
            let token = Cookies.get('jwt-token');
            if (token) {
                config.headers['jwt-token'] = token;
            }
            return config;
        },
        err => {
            return Promise.reject(err);
        }
    );
    
    // 创建http返回拦截器
    serviece.interceptors.response.use(
        response => {
            loadingInstance && loadingInstance.close();
            return response.data;
        },
        err => {
            let { headers,config } =err.response;
            if (headers['jwt-token']) {
                Cookies.set('jwt-token', headers['jwt-token'], {
                    expires: 1 /24
                });
                Cookies.set('token-expires', Date.now(), {
                    expires: 1 /24
                })
            };
            loadingInstance && loadingInstance.close();
            return Promise.reject(err);
        }
    );
    
    export default serviece;
  • 相关阅读:
    Spark 基本概念及入门
    Cron 表达式详解
    VmWare 网络模式
    微信、支付宝各种支付退款
    Spring Security OAuth2 SSO 单点登录
    Git 入门详解
    基于Spring Boot 2.x 的 Spring Cloud Admin 实践
    Git 提交规范
    Linux 安装 Mysql8.0
    Docker入门
  • 原文地址:https://www.cnblogs.com/musings/p/13201527.html
Copyright © 2020-2023  润新知