zoukankan      html  css  js  c++  java
  • 路由守卫

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <div id="app">
            <h3>
                <router-link to='./login'>登录</router-link>
                <router-link to='./index'>主页</router-link>
                <router-link to='./goodsCart'>购物车</router-link>
                <router-link to='./service'>服务</router-link>
                <router-link to='./home'>HOME</router-link>
            </h3>
            <router-view></router-view>
        </div>
        <script src="node_modules/vue/dist/vue.js"></script>
        <script src="./node_modules/vue-router/dist/vue-router.min.js"></script>
    </body>
    </html>
    <script>
        ( () => {
            var isLogin = false
            const index = { template: `<h1>欢迎来到首页</h1> `} 
            const login = { template:
                            `<div>
                                <input type='text' id='userName' placeholder='请输入用户名' /><br/><br/>
                                <input type='password' id='userPass'  /><br/><br/>
                                <input type='button' id='btn'  value='登录'/><br/><br/>
                            </div>`
                        }
            const home = { template: `<h1>这是HOME页</h1>` }            
            const goodsCart = { template: `<h1>这是goodsCart页</h1>` }            
            const service = { template: `<h1>这是售后服务页</h1>` }            
    
            const routes = [
                { redirect:'login', path:'/' },
                { component: index, path: '/index', name: 'index' },
                { component: login, path: '/login', name: 'login' },
                { component: home, path: '/home', name: 'home' },
                { component: goodsCart, path: '/goodsCart', name: 'goodsCart' },
                { component: service, path: '/service', name: 'service' },
                { redirect:'*', path:'/login'}
            ]
    
            const router = new VueRouter({
                routes,
            })
    
    
            router.beforeEach( ( to,from,next) => {
                const nextRouter = ["index","home","goodsCart",'service']
                if(nextRouter.indexOf(to.name) >=0 ){
                    if(!isLogin){
                        alert('请先登录')
                        return router.push({ name : "login"})
                    }
                }
                if(to.name === 'login'){
                    if (isLogin) {
                        router.push({ name: 'index' })
                    }
                }
                next()
            })
            Vue.nextTick( () => {
                document.getElementById('btn').onclick = function (){
                    if (document.getElementById('userName').value === '' && document.getElementById('userPass').value !== '') {
                        alert('请输入用户名')
                        return
                    } else if (document.getElementById('userPass').value === '' && document.getElementById('userName').value !== '') {
                        alert('请输入密码')
                        return
                    } else if (document.getElementById('userPass').value === '' && document.getElementById('userName').value === '') {
                        alert('请输入用户名和密码')
                        return
                    }
                    console.warn('[warn]','----')
                    if(document.getElementById('userName').value === 'admin' && document.getElementById('userPass').value === '123456'){
                        isLogin = true
                        router.push({name:'index'})
                        setTimeout(() => {
                            isLogin = false
                        },6000);
                    }
                }
            })
            localStorage.setItem('ligeng','xxxxxxxxxxxx')
            const VM = new Vue({
                el:'#app',
                router,
            })
        })()
    </script>
    

      

  • 相关阅读:
    DOS常用命令
    SQL查询优化:详解SQL Server非聚集索引(转载)
    SQLServer索引
    SQL注入技术专题—由浅入深【精华聚合贴】
    DVWA 1.9 通关秘籍
    高手养成计划基础篇-Linux第二季
    【摩斯电码】我是如何通过一张小纸条渗透进了妹子的心
    阿里旗下蚂蚁金服副总:有望3-5年内消灭伪基站
    【病毒分析】对一个vbs脚本病毒的分析
    【安全热点】阿里巴巴月饼门,观点两极化,孰对孰错?
  • 原文地址:https://www.cnblogs.com/jockr/p/11278615.html
Copyright © 2011-2022 走看看