如何在每个axios请求执行前都执行一些逻辑,每个axios请求前都弹框点了确定才去执行请求

发布于 2022-09-07 22:44:57 字数 888 浏览 10 评论 0

我这么加的,不行,请求都不执行了

service.interceptors.request.use(config => {
  if (getToken()) {
    config.headers['token'] = getToken() // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
  } else {
    console.log('没有token')
  }
  const role = store.state.permission.roleList.find(role => role.url === config.url && role.confirmFlag === _const.YES)
  console.log(role)
  if (true) {
    MessageBox('是否使用第二人确认登录,账号密码已内置?', '提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning'
    }).then(() => {
      config.headers['confirmUser'] = 'wcsconfirmuser'
      config.headers['confirmPwd'] = '123456'
      // Do something before request is sent
      return config
    })
  } else {
    return config
  }
}, error => {
  // Do something with request error
  console.log(error) // for debug
  Promise.reject(error)
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白云不回头 2022-09-14 22:44:57

使用Promise解决了

service.interceptors.request.use(config => {
  return new Promise((resolve) => {
    if (getToken()) {
      config.headers['token'] = getToken() // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
    } else {
      console.log('没有token')
    }
    const role = store.state.permission.roleList.find(role => role.url === config.url && role.confirmFlag === _const.YES)
    console.log(role)
    if (true) {
      MessageBox('是否使用第二人确认登录,账号密码已内置?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        config.headers['confirmUser'] = 'wcsconfirmuser'
        config.headers['confirmPwd'] = '123456'
        console.log(JSON.stringify(config.headers))
        // Do something before request is sent
        resolve(config)
      })
    } else {
      resolve(config)
    }
  })
}, error => {
  // Do something with request error
  console.log(error) // for debug
  Promise.reject(error)
})
爱冒险 2022-09-14 22:44:57
service.interceptors.request.use(config => {
  if (getToken()) {
    config.headers['token'] = getToken() // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
  } else {
    console.log('没有token')
  }
  const role = store.state.permission.roleList.find(role => role.url === config.url && role.confirmFlag === _const.YES)
  console.log(role)
  if (true) {
    return MessageBox('是否使用第二人确认登录,账号密码已内置?', '提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning'
    }).then(() => {
      config.headers['confirmUser'] = 'wcsconfirmuser'
      config.headers['confirmPwd'] = '123456'
      // Do something before request is sent
      return config
    })
  } else {
    return config
  }
}, error => {
  // Do something with request error
  console.log(error) // for debug
  Promise.reject(error)
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文