本章节介绍使用框架时,如何进行路由权限的处理。
**注意:框架中针对路由做了处理,如果要跳转的这个路由存在子路由,那么将自动跳转至该子路由下。如果嵌套多层,将依次递归下去,直至处理完毕。**
<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之后则默认框架配置完成。
});
```