login.vue
mounted() {
sessionStorage.clear()
this.obtionlist()
this.serachSb()
this.$store.commit('SET_ROUTES',Routes)
},
this.$refs[nameForm].validate(valid => {
// 数据传递的规则验证
if (valid) {
const list=this.filterDynamicRouter(this.$store.state.user.routes,JSON.stringify(res.result.userAuthRules))
sessionStorage.setItem("routes", JSON.stringify(list));
sessionStorage.setItem("routess",JSON.stringify(res.result.userAuthRules));
dataRoutes[0].children=list
this.$router.addRoutes(dataRoutes)
} else {
return false
}
})
},
filterDynamicRouter (arr, accessList) {
const _this =this;
let list =JSON.parse(accessList)
let delist=arr.filter((value)=>{
for(let i=0;i<list.length;i++){
if(list[i].path===value.path){
if(value.children&&value.children.length){
value.children=this.filterDynamicRouter(value.children,JSON.stringify(list[i].children))
return true
}else if(value.children.length==0){
value.children=[]
return true
}
}
}
})
return delist
},
app.vue
mounted(){
this.$store.commit('SET_ROUTES',Routes)
if(sessionStorage.getItem('routess')){
dataRoutes[0].children=this.filterDynamicRouter(this.$store.state.user.routes,sessionStorage.getItem('routess'))
this.$router.addRoutes(dataRoutes)
}
},
methods:{
filterDynamicRouter (arr, accessList) {
const _this =this;
let list =JSON.parse(accessList)
let delist=arr.filter((value)=>{
for(let i=0;i<list.length;i++){
if(list[i].path===value.path){
if(value.children&&value.children.length){
value.children=this.filterDynamicRouter(value.children,JSON.stringify(list[i].children))
return true
}else if(value.children.length==0){
value.children=[]
return true
}
}
}
})
return delist
},
}