一共3個頁面,默認指向login頁面,登陸后存儲client_id到cookie和global.CLIENT_ID
我想做的是登錄狀態(tài)檢測,頁面跳轉(zhuǎn)時檢查global.CLIENT_ID或者cookie,不存在就跳轉(zhuǎn)到login頁面去。
// 路由頁面
import main from './components/main/main.vue';
import star from './components/star/star.vue';
import login from './components/login/login.vue';
// 路由配置
const routes = [
{
name: 'main',
path: '/main',
component: main,
// meta: {
// login_required: true
// }
},
{
name: 'star',
path: '/star',
component: star,
// meta: {
// login_required: true
// }
},
{
name: 'login',
path: '/login',
component: login,
// meta: {
// login_required: false
// }
},
{
path: '/',
redirect: '/login'
}
];
const router = new VueRouter({
routes: routes
});
new Vue({
el: '#app',
components: {App},
template: '<App/>',
router: router
})
我百度了一下相關(guān)的問題,有人說可以用router鉤子,可我試了一下
router.beforeEach(function (to, from, next) {
if(to.name === 'main' || to.name === 'star'){
next('/login');
}
else{
next();
}
});
即使是這樣,也會存在兩個問題:
1、如果直接在瀏覽器地址欄輸入http://localhost:8080/#/main,可以直接略過邏輯訪問到main
2、當(dāng)前頁面是main,點擊一次star會跳轉(zhuǎn)到login,但再次點擊star,就會跳轉(zhuǎn)到star.
我也嘗試在main.js中watch global.CLIENT_ID,但報錯說遞歸太多。
請給我一個思路,或者相關(guān)代碼,謝謝。
在路由攔截中寫是正確的,往下的思路你沒想透
如果要去的登陸頁,不判斷有無本地信息
如果去的是其它頁面,有本地登陸信息且未超時過,否則轉(zhuǎn)登陸頁
show my code
if(to.name==="login"){
next();
}else{
if(loginInfo){
// 這里要加一個有登陸信息比對時間
next()
}else{
next("login")
}
}
另一個大佬的回答,供參考:
https://segmentfault.com/q/10...
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。