🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
本章节介绍使用框架时,如何进行路由权限的处理。 **注意:框架中针对路由做了处理,如果要跳转的这个路由存在子路由,那么将自动跳转至该子路由下。如果嵌套多层,将依次递归下去,直至处理完毕。** <br/> ``` import JBoot from 'jboot-env'; //引入框架 import 'jboot-env/dist/loading.css'; //引入loading样式 const routerTable = [ { name: 'index', path: 'index', component: require('./index.vue'), meta: {permissionCode: 'index', title: '首页', ...} //permissionCode就是权限编码,要全局唯一!存在此值时,才会调用校验方法! }, ... ]; const responsePermissionCodes = ['index', 'list']; //初始化框架 const jboot = new JBoot(function(options) { //此处进行一些配置 options.http(httpConfig => { httpConfig .table(routerTable) //配置路由表 .check(function (permissionCode, to, callback){ //permissionCode:为路由meta信息中声明的值。to:为将要去往哪个页面。 //1.callback的值false类型时,则代表无页面权限,将跳转至401页面。 //2.callback的值为string类型时,则会跳转到路由表中,name为该值的页面。 //3.callback不传值时,则默认跳转至to属性代表的页面。 //如果服务端返回的权限code结果集中,包含本次要访问的页面权限code,则允许访问。 if(responsePermissionCodes.includes(permissionCode)){ callback(); }else{ callback('/login'); //如果没权限,则跳转至login页面。 } }); }).build(); //必须在末尾添加.build。.build之后则默认框架配置完成。 }); ```