<!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>