npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rexios-js

v0.0.4

Published

replay your request

Downloads

8

Readme

rexios-js

安装

npm:

npm install rexios-js

yarn:

yarn add rexios-js

使用

使用须知:此方案需要服务端生成双token,在主token过期失效的情况下,插件会自动拦截过期请求,调用用户自定义的重授权方法将备用token传递给服务端,以获取最新令牌;在重授权完成之后,插件自动重新原过期发起请求,返回正确数据之后,将数据传递给业务端处理。在此过程中,前端不会抛出任何异常。

import useReXios from 'reXios-js'
let config = {
  needReplay: (error) => {
    const { status, config } = error.response
    if(status === 401) return true
    else return false
  },
  replayFunction: replayFunction
}

useReXios(config)

useReXios的配置解析

useReXios的配置参数为四个函数作用分别如下:

  1. needReplay函数作用是:判断在何种情况下应该发起重授权请求。返回一个布尔值,返回true代表当前情况需要重授权
  2. replayFunction:重授权方法,需要手动实现一个通过备用token重新换取最新授权信息的函数。如:
function replayFunction () {
  let refreshToken = sessionStorage.getItem('refreshToken')
  return axios.post(`/xxx/refresh_token?refreshToken=${refreshToken}`).then(res => {
    if (res.data.code != 200) {
      // refreshToken也已经失效了,用户很久没有登录了,这个时候可能需要跳转到登录页面(根据需求定义)
      return
    }
    sessionStorage.setItem('tokenInfo', res.data.token.access_token)
    sessionStorage.setItem('refreshToken', res.data.token.refreshToken)
  }).catch(err => {
    // 错误策略
  })
}

注意: replayFunction应该返回promise,该promise resolve之后插件才会调用后续的请求重发过程。

效果如下:

Alt text

License

MIT.