Skip to content

请求和返回拦截

token

const appCode = import.meta.env.VITE_APP_APP_CODE;

service.interceptors.request.use 添加 token 获取及附带

javascript
const token = getToken();
if (token) {
  config.headers['token'] = token;
}
if (appCode) {
  config.headers['app-code'] = appCode;
}
config.headers['trace-id'] = guid();

service.interceptors.response.use 按当前系统逻辑处理登录相关的 code

javascript
const httpCode = res.code || 200;
const bizCode = res.data.code || 0;

重新登录是否需要提示栏,需要再添加判断,若已经是登录页面,不再出现提示栏:

javascript
if (code === 10001 /* 所有判定为需要重新登录的code */) {
    const path = router?.currentRoute?._value?.path;
    if (path === '/' || path === '/login') {
        useUserStore().logOut().then(() => {
            location.href = '/index';
        })
    } else {
        // 原有重新登录逻辑
    }
}

guid 获取

javascript
function guid() {
  return 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[x]/g, (c) => {
    const r = (Math.random() * 16) || 0;
    const integer = Math.trunc(r);
    return integer.toString(16);
  });
}

修正所有异常判断,正确之后才返回 data

  • 修正最后一个 else if

Released under the MIT License.