vue项目中用了动态路由,addRoutes(),谷歌,edge等其他浏览器都没问题,只有ie浏览器进入动态路由后,一刷新就会跳转到重定向的(redirect:’/404‘)。
过程是这样的:
1、登录接口获取到路有权限
2、去store中存储到state中,并通过cookie.js 存到cookie中
3、每次跳转页面判断是否存在角色路由(是否刷新丢失路由)
4、如丢失则去获取cookie中存储的角色权限,重新addroutes添加到路由表中
- 登录接口获取权限 ,并保存到cookie中
//state中代码
const state = {
roles: Cookies.get('roles') || '','
}
//mutations 触发代码
SET_ROLES: (state, role) => {
state.roles = role
Cookies.set('roles', role)
},
//接口 action中代码
loginZhdd({
commit
}, uid) {
return new Promise((resolve, reject) => {
loginZhdd({
uid: uid
}).then(response => {
const {
result
} = response.data
if (result.code == 200) {
commit('SET_ROLES',