微信小程序:实现首页权限菜单效果

embedded/2025/1/15 20:48:44/

一、效果

二、数据库表

1、菜单表

包含权限名称,模块名称,图标名称,页面跳转的方法,菜单是否显示栏位

2、角色对应权限表

包含角色id和权限id,这个表将角色和菜单角色连接,给角色赋予权限功能

3、 账户表

用于绑定账号隶属于什么角色,绑定的角色表

4、角色表

菜单的权限是赋予给角色的,根据角色去设置菜单功能

表之间的关系

  • 账号表(Account) 和 角色表(Role) 之间的关系:

    • 一个账号属于一个角色,一个角色可以有多个账号。

    • 账号表通过字段连接角色表。

  • 权限表(Permission) 和 角色表(Role) 之间的关系:

    • 一个角色可以拥有多个菜单权限,一个菜单可以被多个角色拥有。

    • 权限表通过字段连接角色表。

    • 权限表通过字段连接菜单表。

  • 菜单表(Menu) 和 权限表(Permission) 之间的关系:

    • 菜单表列出了所有可用的菜单项。

    • 权限表通过字段连接菜单表,表示某个角色对某个菜单的权限。

三、根据数据库查询整合数据

这里使用一个数组对象嵌套

数组中每一个对象就表明一个大菜单项,子项中包含大标题module,和权限菜单permission,

permission中又是一个数组对象,每一项就是一个菜单,菜单信息包含菜单名称、图标路径、图标跳转路径

数据库查询数据如下

{"check": 1,"info": [{"module": "生产","permission": [{"permissions_id": 1,"permission_name": "开始生产","icon": "index/index/produce_start.png","handler": "../Produce/ProduceStart/index/index"},{"permissions_id": 2,"permission_name": "首件确认","icon": "index/index/produce_first.png","handler": "../Produce/ProduceFirstSure/index/index"},{"permissions_id": 3,"permission_name": "生产产出","icon": "index/index/produce_end.png","handler": "../Produce/ProduceEnd/index/index"}]},{"module":

http://www.ppmy.cn/embedded/154194.html

相关文章

【机器学习】数学知识:指数函数(exp)

在数学和编程中,exp 表示指数函数,即自然常数 e 为底的幂函数。 其数学表达式为: 其中: e 是一个常数,称为自然对数的底数,其值约为 2.718。x 是指数。 性质 基本性质: 与自然对数的关系&…

wireshark排除私接小路由

1.wireshark打开,发现了可疑地址,合法的地址段DHCP是192.168.100.0段的,打开后查看发现可疑地址段,分别是,192.168.0.1 192.168.1.174 192.168.1.1。查找到它对应的MAC地址。 ip.src192.168.1.1 2.通过show fdb p…

C#Struct堆栈

Struct若其内部含有堆对象,Struct的该对象放在堆上; Struct当做参数传递时,其堆属性作为引用传递,值属性还是作为值传递; struct TS { public int[] t1; public int t2; } public void TF1(TS t) { int[] t1 t.t1; …

纯 Python、Django、FastAPI、Flask、Pyramid、Jupyter、dbt 解析和差异分析

一、纯 Python 1.1 基础概念 Python 是一种高级、通用、解释型的编程语言,以其简洁易读的语法和丰富的标准库而闻名。“纯 Python” 在这里指的是不依赖特定的 Web 框架或数据分析工具,仅使用 Python 原生的功能和标准库来开发应用程序或执行任务。 1.…

CancerGPT :基于大语言模型的罕见癌症药物对协同作用少样本预测研究

今天我们一起来剖析一篇发表于《npj Digital Medicine》的论文——《CancerGPT for few shot drug pair synergy prediction using large pretrained language models》。该研究聚焦于一个极具挑战性的前沿领域:如何利用大语言模型(LLMs)在数…

Jenkins质量门禁设计方案的深入探讨

Jenkins作为一个开源的自动化服务器,它通过简化持续集成和持续交付流程,使得软件测试变得更加高效。质量门禁设计方案结合了Jenkins的以下几项核心功能: 持续集成(CI) :通过自动化构建和测试,提…

python基础语法(2) + 人生重开模拟器的部分实现 ----- 笔记分享

目录: (1)顺序语句 (2)条件语句 (3)循环语句 1. 顺序语句 默认情况下,python代码执行的顺序是从上到下一次进行的 2. 条件语句 2.1 语法格式 (1) if if expression:do_something1do_something2 next_something 如果expression为Ture,则执行 do_something1,do_somethi…

YOLOv10-1.1部分代码阅读笔记-downloads.py

downloads.py ultralytics\utils\downloads.py 目录 downloads.py 1.所需的库和模块 2.def is_url(url, checkFalse): 3.def delete_dsstore(path, files_to_delete(".DS_Store", "__MACOSX")): 4.def zip_directory(directory, compressTrue, ex…