动态菜单:用Spring Boot+Vue3教你怎么实现

1. 整体思路

首先我们来看整体思路。

光说思路大家还是云里雾里,我们结合具体的效果图来看:

最终菜单显示效果类似上图,我把这里的菜单分为了四类:

  1. 有父有子:像系统管理那种,既有父菜单,又有子菜单。
  2. 只有一个一级菜单,这种又细分为三种情况:
    1. 普通的菜单,点击之后在右边主页面打开某个功能页面。
    2. 一个超链接,但不是外链,是一个在当前系统中打开的外部网页,点击之后,会在右边的主页面中新开一个选项卡,这个选项卡中显示的是一个外部网页(本质上是通过 iframe 标签引入的一个外部网页)。
    3. 一个超链接,并且还是一个外链,点击之后,直接在浏览器中打开一个新的选项卡,新的选项卡中展示一个外部链接。

整体上来说,就分为这四种情况。其中 1、2.1、2.3 应该都好理解,2.2 有的小伙伴可能不清楚,我给大家截个图看下就知道了:

四种菜单对应的 JSON 格式分别如下:

  1. 有父有子:
{
	"name": "Monitor",
	"path": "/monitor",
	"hidden": false,
	"redirect": "noRedirect",
	"component": "Layout",
	"alwaysShow": true,
	"meta": {
		"title": "系统监控",
		"icon": "monitor",
		"noCache": false,
		"link": null
	},
	"children": [{
		"name": "Online",
		"path": "online",
		"hidden": false,
		"component": "monitor/online/index",
		"meta": {
			"title": "在线用户",
			"icon": "online",
			"noCache": false,
			"link": null
		}
	}, {
		"name": "Job",
		"path": "job",
		"hidden": false,
		"component": "monitor/job/index",
		"meta": {
			"title": "定时任务",
			"icon": "job",
			"noCache": false,
			"link": null
		}
	}]
}
复制代码
  1. 只有一个一级菜单,且一级菜单点击后是一个功能页面:
{
	"path": "/",
	"hidden": false,
	"component": "Layout",
	"children": [{
		"name": "Role",
		"path": "role",
		"hidden": false,
		"component": "system/role/index",
		"meta": {
			"title": "角色管理",
			"icon": "peoples",
			"noCache": false,
			"link": null
		}
	}]
}
复制代码
  1. 只有一个一级菜单,且一级菜单点击之后在当前系统中一个新的选项卡里打开一个网页:
{
    "name": "Http://www.javaboy.org",
    "path": "/",
    "hidden": false,
    "component": "Layout",
    "meta": {
        "title": "TienChin健身官网",
        "icon": "guide",
        "noCache": false,
        "link": null
    },
    "children": [
        {
            "name": "Www.javaboy.org",
            "path": "www.javaboy.org",
            "hidden": false,
            "component": "InnerLink",
            "meta": {
                "title": "TienChin健身官网",
                "icon": "guide",
                "noCache": false,
                "link": "http://www.javaboy.org"
            }
        }
    ]
}
复制代码
  1. 只有一个一级菜单,且一级菜单点击之后在浏览器打开一个新的选项卡:
{
    "name": "Http://www.javaboy.org",
    "path": "http://www.javaboy.org",
    "hidden": false,
    "component": "Layout",
    "meta": {
        "title": "TienChin健身官网",
        "icon": "guide",
        "noCache": false,
        "link": "
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
RBAC(基于角色的访问控制)是一种常用的权限控制方法,可以在应用程序中对用户和角色进行管理,以确定用户对系统资源的访问权限。如果你已经在Spring Boot实现了RBAC,那么将其改造为Vue应用程序需要进行以下步骤: 1. 确定需要在Vue应用程序中展示的权限 在Vue应用程序中,你需要确定哪些页面和功能需要进行权限控制。这个过程需要考虑到用户角色和权限之间的关系,以及展示给用户的菜单和按钮等。 2. 将权限信息从后端传递到前端 在Spring Boot应用程序中,你已经定义了角色和权限信息,现在需要将这些信息传递到Vue应用程序中。你可以使用REST API或者Websockets来实现这一点。 3. 在Vue应用程序中实现权限控制 在Vue应用程序中,你需要使用Vue Router来管理路由,然后根据用户权限控制访问权限。你可以使用路由的meta字段来存储权限信息,然后在路由导航守卫中进行检查。 4. 在Vue应用程序中展示用户角色和权限信息 如果你需要展示用户角色和权限信息,可以使用Vue组件来实现。你可以在组件中使用REST API或者Websockets来获取数据,然后根据用户角色和权限来展示不同的页面元素。 总之,要将Spring Boot应用程序中的RBAC改造为Vue应用程序需要进行一些工作,但这个过程可以帮助你更好地控制用户访问权限,从而提高应用程序的安全性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值