对于登录,大家都认为它很简单,因为它不像小程序的请求方式,需要每次带上登录的请求头信息。这里也只是根据最近的业务小记一下,这里分下面几种情况进行描述。
登录成功
登录成功,自然跳转到首页。
登录失败
登录失败,进行信息提示
登录超时
这是我要总结的一点,它的场景就是当你一段时间不再登录时,系统登录超时,然后这时刷新页面会跳到登录页面,但是,但是!一般的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请求中使用,每次发送请求都会进行校验。
登录逻辑针对超时后的登录进行处理
这里的上面的data就是请求成功后返回的数据结构,可以进行后续的逻辑操作了。