首页 > 其他分享 >四、若依获取动态路由

四、若依获取动态路由

时间:2023-09-09 17:38:09浏览次数:30  
标签:getRouters 请求 js 若依 获取 动态 路由

1、获取动态路由

image

2、全局路由守卫

2.1)用户在登录后,会发出3个请求,分别是login,getinfo,getRouters。分别代表了请求登录,获取用户角色和权限,获取动态路由。getinfo,getRouters是配置在路由守卫中的。
image
image

3、前端

3.1)在router在index.js文件中,默认已经读取了公共(静态)路由数据,系统确实的是动态路由数据,并且index.js文件中写死的动态路由数据也没有读取。
image

3.2)getRouters方法在permission.js文件中,与全局路由守卫的文件名相同但是不是同一个文件。会调用getRouters方法发起request请求。
image

image

3.3)在request.js文件中,配置了请求拦截,让一些请求携带token。
image

3.4)分析permission.js文件中的getRouters()方法,在请求完成后,首先会把router下index.js文件中写死的动态路由数据进行添加,然后加工从后台获取的动态路由数据然后返回。
image

3.5)在全局路由守卫,即permission.js文件中,对3.4步骤中返回的后端获取的动态路由数据进行操作,把数据添加到router中。
image

4、后端

4.1)后端对所有请求进行拦截,获取token,生成对象保存在spring secruity中。
image

4.2)在控制层,读取4.1步骤中存放在spring secruity的数据,然后调用menuService.selectMenuTreeByUserId从数据库获取动态路由。
image

4.3)调用mapper从数据库查询数据然后返回。
image

标签:getRouters,请求,js,若依,获取,动态,路由
From: https://www.cnblogs.com/senior-shef/p/17689767.html

相关文章

  • Python获取主目录的方法
    用os.path.expanduser模块获取主目录为了获得用户的主目录,我们可以使用Python中的os.path.expanduser。我们必须在os.path.expanduser()函数里面传递一个字符串字符~,它将返回当前登录用户的主目录路径。它使用内置的密码数据库或pwd模块来搜索主目录的路径,pwd模块提供用户......
  • 策略路由这样玩!!!
    基于本地的策略路由:1.acl抓取目的地址Acl3000Ruleperipdes4.4.4.402.定义策略路由Policy-based-routexxxx permitno10If-matchacl3000Applyip-addressnext-hop12.1.1.23.引用:Iplocalpolicy-base-routexx4.查看:Displaypolicy-base-routexx 特点:只针对本地始......
  • 图文带你了解华为华三路由器交换机登录的几种方法(开局必备)
    作者:网络之路一天 首发公众号:网络之路博客(ID:NetworkBlog)前言我们学习路由交换就是在实际工作中来配置,解决客户或者上级给的需求,真正接触的就是实实在在的路由器跟交换机,当拿到一套全新的设备的时候,要知道如何去登录,以及一些注意的事项,这个比较关键,很多初学者用惯了模拟器,而模拟器......
  • 利用类加载器获取项目中的资源文件
    当需要获取项目中的配置文件时,我们可以使用类加载器来获取,主要利用的就是getResource和getResourceAsStream方法一、获取项目的classpath路径以一个springboot项目举例,在idea中运行时,classpath路径指的就是idea运行时给我们创建的target/classes目录,我们先尝试在idea中运......
  • 组件和路由
    title:组件和路由index_img:https://tuchuangs.com/imgs/2023/08/19/ed0d2ae1e2cddc41.pngtags:-JavaWeb-前端-Vuecategories:-JavaWebexcerpt:组件和路由组件【搭配路由使用】全局组件(极少使用)全局可用注册在vue实例外部data应该是函数,否则每......
  • 数据通信网络之IPv6静态路由
    文章及资源归档至公众号【AIShareLab】,回复通信系统与网络可获取。一、目的掌握路由器的IPv6基础配置。掌握静态IPv6路由的基础配置。理解IPv6数据报文的路由过程。二、拓扑如图1所示,三台路由器R1、R2和R3分别通过相应物理接口进行连接,其中,R1及R3各自下联一个网段......
  • 获取共享网络的内网IP
     本人有一个iPad,上网用的是电脑共享的网络。  是通过USA连接的共享的方式,结果就不知道iPad的IP了, iPad也没有越狱。被这个问题居然犯难了。 想到用arp广播一下,肯定会有回复。从当前IP地址中寻找。 因为是USA共享,肯定是桥接方式,找 尾部是[bridge]的。......
  • Linux下C语言调用libcurl库获取天气预报信息
    一、概述当前文章介绍如何在Linux(Ubuntu)下使用C语言调用libcurl库获取天气预报的方法。通过HTTPGET请求访问百度天气API,并解析返回的JSON数据,可以获取指定城市未来7天的天气预报信息。二、设计思路【1】使用libcurl库进行HTTPGET请求在代码中包含<curl/curl.h>头文件,以便使用libc......
  • C#获取屏幕大小的“简单整理”。
    Console.WriteLine("主显示器完整尺寸:");Console.WriteLine("宽:"+Screen.PrimaryScreen.Bounds.Width);Console.WriteLine("高:"+Screen.PrimaryScreen.Bounds.Height);Console.WriteLine("主显示器工作尺寸(排除任务栏、工具栏):");Console.WriteLine(......
  • Revit二次开发-获取RevitCommandId
      在revit二次开发中,如果需要用到调用原生功能或者某个插件的功能。我们可以用UIApplication.PostCommand这个方法来调用一些RevitCommand来实现这个需求。   但是PostableCommand这个枚举提供的commandid比较少只有一些常用且原生的RevitCommand。如果我们的需求......