uni-app中使用lodash_Vue实战篇|使用路由管理用户权限(动态路由)

本文介绍了在uni-app中如何利用lodash进行权限控制,通过getCurrentAuthority获取用户权限,check函数进行校验,isLogin检查用户登录状态。在路由配置中设置元信息meta,结合router.beforeEach实现动态路由权限校验。当权限不符时,会引导用户至相应页面。文章还展示了不同权限用户看到的菜单区别,并预告了更精细化的权限设计内容。
摘要由CSDN通过智能技术生成

权限控制是后台管理系统比较常见的需求,如果我们需要对某些页面的添加权限控制的话,那我们可以在路由管理中的权限做一些校验,没有通过权限校验的给出相应的提示或者直接跳转到报错页面。

跟着我一起来学vue实战篇路由管理权限吧!

权限校验函数

  • getCurrentAuthority()函数用于获取当前用户权限,一般来源于后台数据
  • check()函数用于权限的校验匹配
  • isLogin()函数用于检验用户是否登录
e571b32457e01332da524c2825792b06.png

路由配置元信息

  • 路由配置元信息meta:{ authority: ["admin"] }
50023ef1bd583971e4904cbdcef659cb.png

路由守卫router.beforeEach中判断

  • 使用to.matched获取跳转路由的全部信息,包括父路由和子路由
  • 使用lodash中的findLast匹配离跳转路由配置权限的元信息
  • 引入auth.js中check()和isLogin()进行判断是否具有权限或是否已登录</
uni-app使用Vue-router非常简单,只需按照以下步骤操作: 1. 安装Vue-router:打开终端,进入uni-app项目根目录,执行以下命令安装Vue-router: ``` npm install vue-router ``` 2. 创建路由文件:在src目录下创建一个名为router的文件夹,在router文件夹创建一个名为index.js的文件。 3. 配置路由:在index.js编写路由配置代码,例如: ```javascript import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [ { path: '/home', name: 'Home', component: () => import('@/pages/Home.vue') }, { path: '/about', name: 'About', component: () => import('@/pages/About.vue') }, // 其他路由配置... ] }) export default router ``` 4. 在main.js引入路由:打开main.js文件,在顶部引入路由文件,并在Vue实例配置路由: ```javascript import Vue from 'vue' import App from './App' import router from './router' Vue.config.productionTip = false new Vue({ router, // 配置路由 render: h => h(App) }).$mount('#app') ``` 5. 使用路由:在需要使用路由页面组件使用`<router-link>`和`<router-view>`标签进行路由导航和路由渲染。例如,在Home.vue使用`<router-link>`和`<router-view>`: ```html <template> <div> <router-link to="/about">Go to About</router-link> <router-view></router-view> </div> </template> ``` 至此,你已经成功在uni-app使用Vue-router了。可以根据需要配置更多的路由页面组件,实现完整的路由功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值