小程序token过期处理401

if (data.code === 401) {
    if (config.url.includes('/refreshToken')) {
      console.log('两个token都过期了')
        // 情况token
      app.setToken('token', '')
      app.setToken('refreshToken', '')
        // 跳转到登录页
      wx.redirectTo({
        url: '/pages/login/index',
      })
      return Promise.reject('信息过期。重新登录')
    }
    // 用refreshToken重新发送请求
    const res = await http({
      url: '/refreshToken',
      method: 'POST',
      header: {
        Authorization: 'Bearer ' + app.getToken('refreshToken')
      }
    })
    console.log(res)
    // 保存token
    app.setToken('token', res.token)
    app.setToken('refreshToken', res.refreshToken)

    config = Object.assign({}, config, {
      header: {
        Authorization: 'Bearer ' + res.token
      }
    })
    // config.header.Authorization = 'Bearer ' + res.token
    console.log(config)
    return http(config)
  } else if (data.code === 10000) {
    return data.data
  } else {
    wx.$toast(data.message || '请求失败')
    return Promise.reject(data.message)
  }
}

你可能感兴趣的:(前端)