Web系统登录小结

48 阅读1分钟
对于登录,大家都认为它很简单,因为它不像小程序的请求方式,需要每次带上登录的请求头信息。这里也只是根据最近的业务小记一下,这里分下面几种情况进行描述。
  • 登录成功

    登录成功,自然跳转到首页。

  • 登录失败

    登录失败,进行信息提示

  • 登录超时

    这是我要总结的一点,它的场景就是当你一段时间不再登录时,系统登录超时,然后这时刷新页面会跳到登录页面,但是,但是!一般的web系统,可能再次登录成功还是跳到首页。如果这里需要再次跳会原来登录失效的页面呢?那就需要在跳转时加上url参数了。是吧!

    // 这里系统基于dva封装了一个登录超时的方法
    export function loginTimeOut(data) {
     // 这里的data下面会解释
     if (data && !data.success && data.errorCode === 'E99990006') {
     // 登录超时的处理
     // 获取当前失效登录页面的url信息
     const { pathname, search } = location;
     message.error('error', '登录超时,请重新登录');
     // delay()时我们自己封装的方法,返回一个Promise对象
     delay().then(() => {
     AppStore.dispatch({
     type: 'global/GO_TO',
     payload: `/user/login?go=${pathname}${search}`,
     })
     })
     return false;
     }
     // 登录成功返回true
     return true;
    }

    上面登录超时的方法会被使用在request请求中使用,每次发送请求都会进行校验。

index.js.png

登录逻辑针对超时后的登录进行处理 user.js.png

这里的上面的data就是请求成功后返回的数据结构,可以进行后续的逻辑操作了。