退出登录的逻辑

Vue3中useRouteruseRoute,容易弄混

Vue3的useRouter和useRoute_useroute userouter_鬼鬼骑士的博客-CSDN博客

退出登录逻辑:

1、点击退出登录以后,向服务器发请求,token失效

2、将仓库中所有和用户相关的数据全部清除

3、跳转到登录页面

4、优化:用户退出登录以后,再次登录,会回到用户之前停留的那个模块而不是首页,这样比较人性化

“退出登录”按钮的回调函数:


//退出登录点击回调
const logout = async () => {//仓库数据全部清除await userStore.userLogout();//跳转到登录页面,并且携带当前所在模块的url参数$router.push({ path: '/login', query: { redirect: $route.path } });}

仓库里面的actions代码: 

async userLogout() {//退出登录请求let result: any = await reqLogout();if (result.code == 200) {//退出登录接口(通知服务器本地用户唯一标识失效)this.token = '';this.username = '';this.avatar = '';REMOVE_TOKEN();return 'ok';} else {return Promise.reject(new Error(result.message));}}

在原来“登录”按钮的回调函数里面加上:

    //判断登录的时候,路由路径当中是否有query参数,如果有就往query参数跳转,没有跳转到首页let redirect: any = $route.query.redirect;$router.push({ path: redirect || '/' });


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部