那个网站可以做宣传一元友情链接平台
1.需求
A系统想快速进入到B系统,但又不想输入账号密码,A系统的token与B系统共用token,因此在访问B系统就会在路径上携带token(https://magictool-box.com/login?token=《token》),通过token直接进入B系统首页,这样让用户无感登录B系统
2.思路
整个过程关键点就在与路由守卫会判断你收否有token,那么就将路径上的token存储起来就可以了
3.实现代码
// 路由守卫
router.beforeEach((to, from, next) => {NProgress.start()if (getToken()) {to.meta.title && useSettingsStore().setTitle(to.meta.title)/* has token*/if (to.path === '/login') {next({ path: '/' })NProgress.done()} else if (whiteList.indexOf(to.path) !== -1) {next()} else {usePermissionStore().generateRoutes()next()}} else {if(to.query.token){ // 1.判断路由路径上有没有tokensetToken(to.query.token); // 2.存储token// localStorage.setItem('userId', 7);next({ path: '/' }) // 3.跳转到首页}// 没有tokenif (whiteList.indexOf(to.path) !== -1) {// 在免登录白名单,直接进入next()} else {next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页NProgress.done()}}
})
4.说明:这才是实现代码
if(to.query.token){ // 1.判断路由路径上有没有token
setToken(to.query.token); // 2.存储token
// localStorage.setItem('userId', 7);
next({ path: '/' }) // 3.跳转到首页
}