免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

基于vue-admin-template開發(fā)的項(xiàng)目,在加了基于角色的權(quán)限控制后,刷新頁(yè)面就跳404

本文參考自https://blog.jam00.com/article/info/54.html。

網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營(yíng)銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺(jué)化效果。

? 最近,基于vue admin template做了個(gè)demo,在它基礎(chǔ)上對(duì)某些菜單加了頁(yè)面權(quán)限控制,但是現(xiàn)在刷新做了權(quán)限控制的頁(yè)面后,就404了,沒(méi)加權(quán)限控制的是正常的。經(jīng)過(guò)一番查找,發(fā)現(xiàn)是因?yàn)?vuex 中 sotre 存儲(chǔ)的內(nèi)容會(huì)在刷新頁(yè)面時(shí)丟失導(dǎo)致的。

??

雖然將?next({ ...to, replace: true }) 改為?next({ path: '/' }) 也能解決問(wèn)題,但是體驗(yàn)不好,一刷新就跳轉(zhuǎn)到首頁(yè),關(guān)于next?參考

刷新頁(yè)面時(shí)打印?to.path和from.path 都是 /,無(wú)法獲取上一次路由

不過(guò)發(fā)現(xiàn)使用?window.location.href 可以獲取,這就好辦了

使用方法GetUrlRelativePath獲取路由( /utils/common.js)

1
2
3
4
5
6
7
8
9
10
11
export?function?GetUrlRelativePath(url)?{
??var?arrUrl?=?url.split('//')
?
??var?start?=?arrUrl[1].indexOf('/')
??var?relUrl?=?arrUrl[1].substring(start)
?
??if?(relUrl.indexOf('?')?!==?-1)?{
????relUrl?=?relUrl.split('?')[0]
??}
??return?relUrl
}

獲取刷新前的訪問(wèn)路由

1
const?fromPath?=?GetUrlRelativePath(window.location.href)

獲取用戶的權(quán)限,動(dòng)態(tài)加載路由

然后跳轉(zhuǎn)到刷新前的路由

1
next({?path:?fromPath?})

改動(dòng)后如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
router.beforeEach((to,?from,?next)?=>?{
??NProgress.start()
??if?(getToken())?{
????if?(to.path?===?'/login')?{
??????next({?path:?'/'?})
??????NProgress.done()?//?if?current?page?is?home?will?not?trigger?? afterEach?hook,?so?manually?handle?it
????}?else?{
??????const?fromPath?=?GetUrlRelativePath(window.location.href)
??????if?(store.getters.roles.length?===?0)?{
????????store.dispatch('GetInfo').then(res?=>?{?//?拉取用戶信息
??????????const?roles?=?res.data.roles
??????????store.dispatch('GenerateRoutes',?{?roles?}).then(()?=>?{?//?生成可訪問(wèn)的路由表
????????????router.addRoutes(store.getters.addRouters)?//?動(dòng)態(tài)添加可訪問(wèn)路由表
????????????next({?path:?fromPath?})
??????????})
????????}).catch((err)?=>?{
??????????store.dispatch('FedLogOut').then(()?=>?{
????????????Message.error(err?||?'Verification?failed,?please?login?again')
????????????next({?path:?'/'?})
??????????})
????????})
??????}?else?{
????????next()
??????}
????}
??}?else?{
????if?(whiteList.indexOf(to.path)?!==?-1)?{
??????next()
????}?else?{
??????next(`/login?redirect=${to.path}`)?//?否則全部重定向到登錄頁(yè)
??????NProgress.done()
????}
??}
})

網(wǎng)頁(yè)題目:基于vue-admin-template開發(fā)的項(xiàng)目,在加了基于角色的權(quán)限控制后,刷新頁(yè)面就跳404
分享鏈接:http://m.newbst.com/article28/gsegjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名App開發(fā)品牌網(wǎng)站建設(shè)定制開發(fā)營(yíng)銷型網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化