若依(ruoyi)开源系统保姆级实践-完成第一个页面
一、案例描述
若依官网文档地址:http://doc.ruoyi.vip/ruoyi/document/hjbs.html
本教程主要内容,自定义数据库表,使用若依开源系统生成代码并配置权限。
- 若依环境配置
- 新建数据表t_user,利用若依代码生成工具生成服务端及页面代码。
- 菜单配置
- 权限配置
二、若依环境搭建
选用ry-vue版本,项目地址:https://gitee.com/y_project/RuoYi-Vue.git
本地新建数据库ry-vue,使用项目中的ry_20230706.sql和quartz.sql初始化数据库表及数据。
修改项目中application-druid.yml的数据库连接串。
启动SpringBoot服务端,管理后台所在路径是ruoyi-admin,默认端口是8080。

启动前端项目,目录是ruoyi-ui。命令行是
npm install
npm run dev
二、代码生成
- 新建表
CREATE TABLE `t_user` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`name` varchar(30) NOT NULL DEFAULT '' COMMENT '姓名',
`age` int(11) NULL DEFAULT NULL COMMENT '年龄',
`gender` tinyint(2) NOT NULL DEFAULT 0 COMMENT '性别,0:女 1:男',
PRIMARY KEY (`id`)
) COMMENT = '用户表';
在系统工具->代码生成页面,导入表t_user
编辑生成工具


生成压缩包,解压复制到相应的目录。
三、若依后台配置菜单
我们新定义两级菜单“自定义>>外包用户管理”。这个操作比较简单,如下图所示:


要注意的是路由地址和组件路径,要与项目中的路径一致。
重启项目看效果:

四、权限配置
我们新配置一个账户jingyes,专门用于管理外包用户。
先新增角色 外包管理,菜单权限对应我们刚刚新加的菜单。

添加用户,角色设置为刚刚新增的 外包管理员
注意:用户名称是登录账号,用户昵称是个称呼,我一开始就搞反了。

使用新的用户账号登录,左侧菜单展示正常,但是页面中没有操作按钮。

为了正常使用操作按钮,我们需要为每个操作配置对应的权限菜单。首先看下TUserController中有哪些action需要配置权限,然后在菜单管理中配置相应的按钮。
@RestController
@RequestMapping("/jingyes/tuser")
public class TUserController extends BaseController
{
@Autowired
private ITUserService tUserService;
/**
* 查询用户列表
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:list')")
@GetMapping("/list")
public TableDataInfo list(TUser tUser)
{
startPage();
List<TUser> list = tUserService.selectTUserList(tUser);
return getDataTable(list);
}
/**
* 导出用户列表
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:export')")
@Log(title = "用户", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, TUser tUser)
{
List<TUser> list = tUserService.selectTUserList(tUser);
ExcelUtil<TUser> util = new ExcelUtil<TUser>(TUser.class);
util.exportExcel(response, list, "用户数据");
}
/**
* 获取用户详细信息
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(tUserService.selectTUserById(id));
}
/**
* 新增用户
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:add')")
@Log(title = "用户", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody TUser tUser)
{
return toAjax(tUserService.insertTUser(tUser));
}
/**
* 修改用户
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:edit')")
@Log(title = "用户", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody TUser tUser)
{
return toAjax(tUserService.updateTUser(tUser));
}
/**
* 删除用户
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:remove')")
@Log(title = "用户", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(tUserService.deleteTUserByIds(ids));
}
}
例如新增按钮,权限配置如下图所示,权限字符要和代码中对应。其他都类似

添加完成后的效果如下,总共配置了这些操作按钮的权限。

最后记得给外包管理员的角色勾选上这些权限

再次切换账号登录,页面功能已经ok。

本人公众号[ 敬YES ]同步更新,欢迎大家关注~

若依(ruoyi)开源系统保姆级实践-完成第一个页面的更多相关文章
- 诺依/RuoYi开源系统搭建总结
问题一:从{码云}下载下来看,输入项目编码不过 解决方法: 加入下列依赖,版本要和下载下来的{spring-boot-dependencies}一致.不一致就会报问题2: <parent> ...
- Python小游戏——外星人入侵(保姆级教程)第一章 07调整飞船速度 08限制飞船活动范围
系列文章目录 第一章:武装飞船 07调整飞船速度 08限制飞船活动范围 一.代码及演示 1.修改settings 修改文件:settings.py 点击查看代码 #渗透小红帽python的学习之路 # ...
- Python小游戏——外星人入侵(保姆级教程)第一章 06让飞船移动
系列文章目录 第一章:武装飞船 06:让飞船移动 一.驾驶飞船 下面来让玩家能够左右移动飞船.我们将编写代码,在用户按左或右箭头键时做出响应.我们将首先专注于向右移动,再使用同样的原理来控制向左移动. ...
- Python小游戏——外星人入侵(保姆级教程)第一章 05重构模块game_functions
系列文章目录 第一章:武装飞船 05:重构:模块game_functions 一.重构 在大型项目中,经常需要在添加新代码前重构既有代码.重构旨在简化既有代码的结构,使其更容易扩展.在本节中,我们将创 ...
- Python小游戏——外星人入侵(保姆级教程)第一章 03设置飞船图片 04创建Ship类
系列文章目录 第一章:武装飞船 03:设置飞船图片 04:创建Ship类--管理飞船行为的类 一.设置飞船图片 1.注意事项 A.将图片设置为位图bmp格式最简单,因为pygame默认加载位图 B.飞 ...
- Python小游戏——外星人入侵(保姆级教程)第一章 01创建Pygame窗口 02创建设置类Setting()
系列文章目录 第一章:武装飞船 01:创建Pygame窗口以及响应用户输入 02:创建设置类Setting() 一.前期准备 1.语言版本 Python3.9.0 2.编译器 Pycharm2022 ...
- 自建本地服务器,自建Web服务器——保姆级教程!
搭建本地服务器,Web服务器--保姆级教程! 本文首发于https://blog.chens.life/How-to-build-your-own-server.html. 先上图!大致思路就是如此. ...
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- JavaWeb和WebGIS学习笔记(七)——MapGuide Open Source安装、配置以及MapGuide Maestro发布地图——超详细!目前最保姆级的MapGuide上手指南!
JavaWeb和WebGIS学习笔记(七)--MapGuide Open Source安装.配置以及MapGuide Maestro发布地图 超详细!目前最保姆级的MapGuide上手指南! 系列链接 ...
- 强大博客搭建全过程(1)-hexo博客搭建保姆级教程
1. 前言 本人本来使用国内的开源项目solo搭建了博客,但感觉1核CPU2G内存的服务器,还是稍微有点重,包括服务器内还搭建了数据库.如果自己开发然后搭建,耗费时间又比较多,于是乎开始寻找轻量型的博 ...
随机推荐
- global average pooling
首先需要对深度网络中常见的pooling方式,以及全连接层有大致的了解.(此处略过不提.) paper: Network in Network fully connected layer 的缺点 在N ...
- Kubernetes(k8s)访问控制:权限管理之RBAC鉴权
目录 一.系统环境 二.前言 三.Kubernetes访问控制 四.鉴权简介 五.配置客户端机器 六.设置k8s集群允许所有请求访问 七.设置k8s集群拒绝所有请求访问 八.RBAC授权 8.1 ro ...
- 一招带你吃透MySQL高级
MySQL8高级之架构和优化 让 第01章 Linux下MySQL的安装与使用 1.安装 1.1.docker安装 docker run -d \ -p 3309:3306 \ -v /atguigu ...
- ThinkPHP6.0 链式SQL语句
ThinkPHP6.0 链式SQL语句 查询单个数据 $user = Db::query('select * from `user`'); $user=Db::table('user')->wh ...
- pod reopened update慢
CocoaPods 镜像使用帮助 CocoaPods 是一个 Cocoa 和 Cocoa Touch 框架的依赖管理器,具体原理和 Homebrew 有点类似,都是从 GitHub 下载索引,然后根据 ...
- Hugging News #0710: 体验 MusicGen、Diffusers 库发布一周年、我们的内容政策更新
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- RabbitMQ 中 exchange、route、queue 的关系
从 AMQP 协议可以看出,MessageQueue.Exchange 和 Binding 构成了 AMQP 协议的核心,下面我们就围绕这三个主要组件 从应用使用的角度全面的介绍如何利用 Rabbit ...
- (五) MdbCluster分布式内存数据库——数据迁移架构及节点扩缩容状态图
(五) MdbCluster分布式内存数据库--数据迁移架构及节点扩缩容状态图 上一篇:(四) MdbCluster分布式内存数据库--业务消息处理 本节主要讨论在系统扩容期间的数据迁移架构及节点的状 ...
- pycharm:插件translation 更新TTK失败
解决方案 1.修改C:\Windows\System32\drivers\etc 下hosts文件, 添加 203.208.40.66 translate.google.com 203.208.40. ...
- opencv-python中 boundingRect(cnt)以及cv2.rectangle用法
矩形边框(Bounding Rectangle)是说,用一个最小的矩形,把找到的形状包起来.还有一个带旋转的矩形,面积会更小,效果见下图 首先介绍下cv2.boundingRect(img)这个函数 ...