vue做登录路由控制

Vue在main.js中做登录路由控制在这里插入代码片

main.js
代码一定要写在vue实例之前

router.beforeEach((to, from, next) => {   //控制登录状态
    var local = JSON.parse(localStorage.getItem('beingisLogin'));
    if (to.path == '/login' || to.path == '/sendCode' || to.path == '/inviteCode' || to.path == '/' || to.path == '/startup' || to.path == '/index' || to.path == '/about_us' || to.path == '/privacy' || to.path == '/purchase_agreement' || to.path == '/user_agreement' || to.path == '/service_fee' || to.path == '/statement' || to.path == '/understand_more') {
        next()
    } else {
        if (local) {
            next();
        } else {
            Vue.prototype.$message({
                message: '请先登录',
                type: 'warning'
            });
            next({
                path: '/login'
            });
            return false;
        }
    }
});
Vue3实现路由需要使用Vue Router。下面是一个简单的实现登陆界面的路由示例: 首先需要安装Vue Router: ```bash npm install vue-router@4.0.6 ``` 然后在项目创建一个router.js文件,代码如下: ```javascript import { createRouter, createWebHashHistory } from 'vue-router'; import Home from './views/Home.vue'; import Login from './views/Login.vue'; const routes = [ { path: '/', name: 'Home', component: Home, meta: { requiresAuth: true // 设置需要登录才能访问 } }, { path: '/login', name: 'Login', component: Login } ]; const router = createRouter({ history: createWebHashHistory(), routes }); // 导航守卫,用于控制访问权限 router.beforeEach((to, from, next) => { if (to.meta.requiresAuth && !localStorage.getItem('token')) { next('/login'); } else { next(); } }); export default router; ``` 在这个文件,我们首先导入了Vue Router的必要函数和我们需要的组件,然后定义了两个路由:Home和Login。在Home路由设置了一个meta属性,标记该路由需要登录才能访问。最后使用createRouter创建了一个路由实例,并使用导航守卫实现了登录访问控制。 接下来在main.js引入并使用router.js: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; const app = createApp(App); app.use(router); app.mount('#app'); ``` 以上就是一个简单的Vue3路由实现登陆界面的示例。当用户尝试访问需要登录才能访问的路由时,会被重定向到登录页面。如果用户已经登录,则可以顺利访问。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值