开源博客项目Blog .NET Core源码学习(27:App.Hosting项目结构分析-15)

  本文学习并分析App.Hosting项目中后台管理页面的角色管理页面。
  角色管理页面用于显示、检索、新建、编辑、删除角色数据同时支持按角色分配菜单权限,以便按角色控制后台管理页面的菜单访问权限。角色管理页面附带一新建及编辑页面,以支撑新建和编辑角色数据,同时还附带权限分配页面,以设置每个角色的菜单权限。整个页面使用了layui中的表格、表单等样式或模块,同时使用zTree组件,并未使用独立的js文件,而是直接在页面内嵌js代码,并调用SystemManage/RoleController的相关函数处理数据。

在这里插入图片描述
  角色管理页面的上半部分显示搜索框,下半部分以表格形式显示全部角色数据或者检索结果。
在这里插入图片描述
  内置的js代码主要用于设置表格样式及处理事件,同时处理搜索事件。调用layui的table.render函数设置表格样式,主要包括:
  1)用elem属性设置表格容器元素,同时用url设置调用SystemManage/RoleController的Index函数分页获取所有角色数据;
  2)用limit、limits、page属性设置数据分页显示;
  3)用toolbar属性设置头部工具栏,指定的元素id定义在_AminLayout.cshtml内,且根据不同的页面显示不同的工具栏内容,在本页面中工具栏中有添加按钮(按钮在系统管理->按钮管理中配置);
  4)用where属性设置调用Index时附加的其它参数;
  5)用cols属性设置表格显示列,其中第一列采用type:‘number’设置为序号列,其它列对应Index函数返回值的属性并以sort属性设置可排序性,角色状态列(源代码应该是忘了改列名称,对应字段EnableMark)采用templet属性以模版函数方式设置以表单中的开关样式显示属性值,最后一列用templet属性以模版选择器形式指定_AminLayout.cshtml文件中定义的按钮模版(按钮在系统管理->按钮管理中配置)。

在这里插入图片描述
  除上述设置之外,还定义了工具栏、操作按钮、排序事件、检索按钮的响应函数,排序和检索的处理逻辑类似,使用table.reload调用SystemManage/RoleController的Index函数获取并显示结果,其余的添加、编辑和删除按钮中,删除按钮的事件处理函数逻辑为调用SystemManage/RoleController的Delete函数删除数据,然后使用table.reload重载页面数据。
在这里插入图片描述

  调用form.on('switch(enabled)'设置表格中角色状态列开关事件的事件处理函数,其内部调用tools.submitConfrim函数提示用户是否在启用和禁用间切换,确定的话则调用SystemManage/RoleController的Enable函数更新标签状态,同时更新页面数据,取消的话则还原角色状态列之前的显示值。
在这里插入图片描述
  新建和编辑角色数据使用的同一页面,位置为SystemManage\Views\Role\Form.cshtml页面,使用layui的表单组件设置样式。如果是新建角色,则直接弹出页面填写信息,而编辑数据的话,主页面会通过url传递key参数,在编辑页面中调用SystemManage/RoleController的GetForm函数获取角色数据初始化编辑页面的对应元素数据。新建或编辑完成后,主页面的js中设置了回调函数,最终调用SystemManage/RoleController的Form函数新增或更新数据。
在这里插入图片描述  角色管理页面支持按角色设置后台页面(页面管理中定义)及页面按钮(按钮管理中定义)的访问权限,权限设置页面位于为SystemManage\Views\Permission\Index.cshtml页面,使用layui的表单组件设置样式,同时采用ztree组件通过勾选方式显示并设置树形菜单数据。主页面会通过url传递key参数(角色标识),页面内置的js调用SystemManage/PermissionController的GetAuthorization函数获取角色权限数据初始化ztree组件。编辑完成后,主页面的js中设置了回调函数,最终调用SystemManage/PermissionController的Index函数更新数据。
在这里插入图片描述
参考文献:
[1]https://gitee.com/miss_you/Blog
[2]https://layui.dev/docs/2/
[3]https://www.treejs.cn/v3/main.php#_zTreeInfo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/15875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电缆厂可视化:提升生产透明度与运营效率

图扑电缆厂可视化系统通过实时监控和数据分析,提高生产过程的透明度和可控性,优化资源配置和质量管理,显著提升运营效率和产品质量。

启动SpringBoot项目及解决端口占用问题(指令版)

打包SpringBoot 项目 需要将 SpringBoot 项目进行打包。可以使用 Maven 的快捷工具,或者在项目的 pom.xml 文件所在目录执行以下命令: mvn clean package部署注意 Windows系统下,按照以下方式在cmd窗口以管理员身份允许使用命令启动spring…

Flutter 中的 StatefulBuilder 小部件:全面指南

Flutter 中的 StatefulBuilder 小部件:全面指南 在Flutter中,StatefulBuilder是一个高效的小部件,它根据给定的构建函数来构建widget,并在组件树中只对需要重新构建的部分进行更新。这使得它在性能优化方面非常有用,特…

电子电器架构 - AUTOSAR ON THE AIR

电子电器架构 - AUTOSAR ON THE AIR 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己…

Mybase长久破解

1、软件下载好之后,找到文件mybase8.ini文件 2、使用记事本打开,通过 Ctrl F 输入快速找到属性设置FirstUseOn.UserLic.App,将等号后面的数值删掉保存即可 3、使用防护中心–>自定义防护(记得开启) 4、添加规则…

Golang文件操作

文章目录 文件操作基本介绍普通的文件操作方式(os包)带缓冲的文件操作方式(bufio包)文件拷贝操作(io包) 命令行参数基本介绍解析命令行参数(flag包) JSON基本介绍JSON序列化JSON反序…

【MySQL精通之路】MySQL的使用(3)-连接到服务器的配置

目录 1.连接建立的命令选项 1.1.--default-auth 1.2.--hosthost_name, -h host_name 1.3.--password[pass_val], -p[pass_val] 1.4.--password1[pass_val] 1.5.--password2[pass_val] 1.6.--password3[pass_val] 1.7.--pipe, -W 1.8.--plugin-dirdir_name 1.9.--port…

【YOLOv10训练】:报错 AttributeError: ‘str‘ object has no attribute ‘view‘ 解决方法

YOLOv10训练报错 YOLOv10是在YOLOv8基础上修改的,即:训练方法和过程是相同的。 但按照v8训练程序train.py,如下所示,直接训练: from ultralytics import YOLO# Load a model model YOLO("ultralytics/cfg/mod…

真拿AI赚到钱的人,不在朋友圈里

1 最近有张两大AI巨头对比的梗图给我看乐了,玩儿AI的还在做产品,玩儿焦虑的已经在数钱了。 这也是在做AI,只不过是唉声叹气的ai。 要我说,现在缺的根本不是AI,而是【有用的AI】。 恩格斯老师说过一句话&#xff1a…

科林Linux6_网络

#include<sys/socket.h> #include<arpa/inet.h> //大小端转换 #include<netdb.h> //DNS一、Socket套接字 为了开发网络应用&#xff0c;系统提供一套API函数接口&#xff0c;用于网络应用开发&#xff0c;这些接口称为套接字函数 struct sockaddr_in…

数据库管理-第194期 网络加速RDMA初探(20240526)

数据库管理194期 2024-05-26 数据库管理-第194期 网络加速RDMA初探&#xff08;20240526&#xff09;1 概念2 发展3 使用总结 数据库管理-第194期 网络加速RDMA初探&#xff08;20240526&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle ACE A…

英文 海量的学习句子比单独的记单词效果要好,格句致知。

英文 海量的学习句子比单独的记单词效果要好 句子有上下文、场景和时态等&#xff0c;能形成剧情&#xff0c;变得生动有趣。 如果一句没听懂&#xff0c;还继续听就是浪费时间了。要一句一句地深究&#xff0c;不然就要读好几遍&#xff0c;还得背诵。要深入理解&#xff0c…

不同的二叉搜索树(II)题解

toc &#x1f91a;我的博客 欢迎光临我的博客&#xff1a;https://blog.csdn.net/qq_52434217?typeblog &#x1f95b;前言 动态规划是常见的算法思路&#xff0c;动态规划在计算过程中保存了部分计算结果到内存中&#xff0c;以便于在进行下一次计算时可以直接从内存中获…

Ubuntu部署Dolphinscheduler单机版并配置PG数据库

1、下载并解压Dolphinscheduler DolphinScheduler | 下载 (apache.org) 下载完成后得tar.gz包 下载稳定版 下载稳定版 下载稳定版 tar -zxvf apache-dolphinscheduler-3.1.9-alpha-bin.tar.gz mv apache-dolphinscheduler-3.1.9-alpha-bin dolphinscheduler-bin cd dolph…

【Text2SQL】Spider 数据集

论文&#xff1a;Spider: A Large-Scale Human-Labeled Dataset for Complex and Cross-Domain Semantic Parsing and Text-to-SQL Task ⭐⭐⭐⭐⭐ EMNLP 2018, arXiv:1809.08887 Dataset: spider GitHub: github.com/taoyds/spider 一、论文速读 本文提出了 Text2SQL 方向的…

1.4 Mac 电脑 Clion 安装教程

目录 1 安装 2 激活 3 汉化 1 安装 去 https://www.jetbrains.com/clion/download/other.html 下载: 也可以直接到链接进行下载:https

嵌入式全栈开发学习笔记---C语言笔试复习大全23

目录 联合体 联合体的定义 联合体的长度 如果来判断设备的字节序&#xff1f; 如何把大端数据转换成小端数据&#xff1f; 枚举 枚举的定义 上一篇复习了结构体&#xff0c;这一节复习联合体和枚举。 说明&#xff1a;我们学过单片机的一般都是有C语言基础的了&#xff…

docker镜像容器搭建nominatim地理编码服务

1、下载地图pbf文件: https://planet.openstreetmap.org/ 2、nominatim官网 https://nominatim.org/release-docs/latest/admin/Installation/ 3、地图文件打包&#xff1a; docker run -it --shm-size20g \ -e PBF_PATH/nominatim/data/china-latest.osm.pbf \ -e REPLIC…

C语言PTA练习题:三角形类别,输入三角形三条边,求面积,四则计算器,猴子吃桃

7-1 三角形类别 输入三个整数&#xff0c;以这三个数为边长&#xff0c;判断是否构成三角形&#xff1b;若不能输出"no"&#xff0c;若构成三角形&#xff0c;进一步判断它们构的是&#xff1a;锐角三角形或直角三角形或钝角三角形.分别输出"ruijiao",&qu…

GitLens或者Git Graph在vscode中对比文件历史变化,并将历史变化同步到当前文件中

有时候我们上周改的代码&#xff0c;现在想反悔把它恢复过来&#xff0c;怎么办&#xff1f;&#xff1f;&#xff1f;很好&#xff0c;你有这个需求&#xff0c;说明你找对人了&#xff0c;那就是我们需要在vscode中安装这个插件&#xff1a;GitLens或者Git Graph&#xff0c;…