共计 550 个字符,预计需要花费 2 分钟才能阅读完成。
实现
企业微信客户端打开则自动跳转 OAuth 连接授权成功后 Callback Code 回来去后端换区用户 token 自动登录;非企业微信客户端跳转到 Login 页面。。
问题
-
目前我整个逻辑写在了
router.beforeEach
里,写这里合适吗,大家都写在哪里(比如是否把跳转和自动登录写在 main.ts 中路由前?)? -
流程是否有问题?我的基本逻辑:判断有无 token 是否登录 > 判断是否企业微信客户端(是跳转 OAuth 连接并回调)> 判断是否有携带 Code,自动登录。
// 4. 判断访问页面是否在路由白名单地址 (静态路由) 中,如果存在直接放行
if (ROUTER_WHITE_LIST.includes(to.path)) return next();
// 5. 判断是否有 Token,没有重定向到 login 页面
if (!userStore.token) {if (isWeWork()) {userStore.loginWeWork().then(isSuccess => {if (isSuccess) next();});
} else {next({ path: LOGIN_URL, replace: true});
}
} else {
// 使用缓存视图
useCachedViewStoreHook().addCachedView(to);
next();}
正文完