VUE3+TS后台管理系统的登录、菜单权限分配业务逻辑解析

登录页面

1.布局

我使用的是Element-Plus里的布局和Form表单组件 在这里插入图片描述

2.登录逻辑

1.本地校验用户名、密码不能为空

通过Element-plus的组件定义规则,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ixDNQLVX-1658231800494)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ee83fb512721464cabf546607ab67a17~tplv-k3u1fbpfcp-watermark.image?)]

2.提交按钮绑定提交事件

  1. 通过validate初步验证账号和密码是否合理(validate 验证.js的目标是提供一种跨框架和跨语言的数据验证方式。验证约束可以在 JSON 中声明,并在客户端和服务器之间共享。 )
  2. 数据合理则用md5对秘密进行加密(安全)
  3. 发起异步请求,在封装的request.js中处理
  • 防抖(不能重复提交,利用Set的键不能重复的特性)

  • 缓存数据

  • axios的请求拦截(获取Vuex中的用户的Token,将Token存入请求的hearders头中,作为一个用户的标识)
    -

  • axios的响应拦截(判断后端返回的状态,并进行相应的提醒和操作。并缓存数据)

  1. 成功后将数据保存到Vuex的Admin中
  2. 然后通过路由的push方法跳转到首页
    在这里插入图片描述

3.判断权限分配左侧菜单列表

  • 在router中写好对应页面的链接等
  • 做全局前置路由守卫 在这里插入图片描述

2.菜单列表设计

el-menu配置router,在el-menu-item中的 :index为跳转的路径

在这里插入图片描述
在数据表t_fun中,会设计好每个业务模块对应的路由t_fun跳转路径和pk(主键)以及模块的名称
在这里插入图片描述
通过每个用户的pk来给用户分配权限(t_admin-fk为用户主键,t_fun_fk为对应的权限模块)
在这里插入图片描述

在后端会根据用户的主键返回一个funList到前端,存储在Vuex中并且需要对权限进行获取并且根据权限配置路由的url数组pageURLs,通过async异步返回Promise对象,用await暂停async函数,等待Promise返回结果,再继续执行async函数
在这里插入图片描述

v-for遍历Vuex中的amin.funList, el-menu-item的:index绑定路由的跳转路径,路径存储再admin.funList.subList.page_url中
在这里插入图片描述
这样就是一个简单的登录和权限分配的业务逻辑

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值