doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:4992回复:1

[react]进度条组件 nprogress 的使用

楼主#
更多 发布于:2022-03-24 17:00
1. 安装

npm install --save nprogress


2. 引用
import nprogress from 'nprogress';


3. 使用
// 请求拦截器
service.interceptors.request.use(
  config => {
    nprogress.start();
    const token = localStorage.getItem('token') || '';
    config.headers.token = token;
    return config;
  },
  error => {
    error.data = {};
    error.data.message = '服务器异常';
    MSG.warn('服务器异常!请稍后再试!');
    return Promise.resolve(error);
  }
);
// 响应拦截器
service.interceptors.response.use(
  response => {
    nprogress.done();
    if (response.data.code == 50006) {
      MSG.warn('请登录再访问!');
      setTimeout(() => {
        window.location.href = '/';
      }, 2000);
    } else if (response.data.code == 50007) {
      MSG.warn('登录过期,请重新登录!');
      setTimeout(() => {
        window.location.href = '/';
      }, 2000);
    }
    const status = response.status;
    let msg = '';
    if (status < 200 || status >= 300) {
      // 处理http错误,抛到业务代码
      msg = showStatus(status);
      if (typeof response.data === 'string') {
        response.data = { msg };
      } else {
        response.data.msg = msg;
      }
    }
    return response;
  },
  error => {
    // 错误抛到业务代码
    error.data = {};
    error.data.msg = '请求超时或服务器异常,请检查网络或联系管理员!';
    return Promise.resolve(error);
  }
);

最新喜欢:

chrisworkalxchrisw...
知识需要管理,知识需要分享
Cookie
贫民
贫民
  • 最后登录2022-08-12
  • 发帖数2
沙发#
发布于:2022-05-29 08:07
我记得html自带一个进度条
游客


返回顶部

公众号

公众号