若依(ruoyi)开源系统保姆级实践-完成第一个页面

ruoyi,开源,系统,保姆,实践,完成,第一个,页面 · 浏览次数 : 57

小编点评

## Case Description This case describes the process of setting up a custom database table, generating code for a service and page, configuring permissions, and configuring a menu for a Spring Boot application. **Project Setup:** * We use the ry-vue version of RuoYi and initialize a database using `ry_20230706.sql` and `quartz.sql`. * We modify the `application-druid.yml` configuration file to specify the database connection string. * We start the Spring Boot server on the path `ruoyi-admin` with the default port 8080. * We start the UI project on the path `ruoyi-ui` and run `npm install` to install dependencies. **Menu Configuration:** * We configure a new menu item "Custom > External User Management". * This item has a sub-item "外包用户管理" with the path "/jingyes/tuser". **Permissions Configuration:** * We create a new role called "外包管理" with permissions for "外包管理". * We add a user with this role to the "外包管理" group. **Permissions for Operations:** * We configure each operation with its corresponding permission menu in the `TUserController`. * The "Add User" and "Edit User" operations have their permissions set in the menu. **Result:** After setting up the permissions, we can login as the "jingyes" user and access the desired operations through the configured menu.

正文

一、案例描述

若依官网文档地址:http://doc.ruoyi.vip/ruoyi/document/hjbs.html
本教程主要内容,自定义数据库表,使用若依开源系统生成代码并配置权限。

  1. 若依环境配置
  2. 新建数据表t_user,利用若依代码生成工具生成服务端及页面代码。
  3. 菜单配置
  4. 权限配置

二、若依环境搭建

选用ry-vue版本,项目地址:https://gitee.com/y_project/RuoYi-Vue.git

  1. 本地新建数据库ry-vue,使用项目中的ry_20230706.sql和quartz.sql初始化数据库表及数据。

  2. 修改项目中application-druid.yml的数据库连接串。

  3. 启动SpringBoot服务端,管理后台所在路径是ruoyi-admin,默认端口是8080。

  4. 启动前端项目,目录是ruoyi-ui。命令行是

npm install
npm run dev

二、代码生成

  1. 新建表
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 = '用户表';
  1. 在系统工具->代码生成页面,导入表t_user

  2. 编辑生成工具

  3. 生成压缩包,解压复制到相应的目录。

三、若依后台配置菜单

我们新定义两级菜单“自定义>>外包用户管理”。这个操作比较简单,如下图所示:

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

四、权限配置

我们新配置一个账户jingyes,专门用于管理外包用户。

  1. 先新增角色 外包管理,菜单权限对应我们刚刚新加的菜单。

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

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

  4. 为了正常使用操作按钮,我们需要为每个操作配置对应的权限菜单。首先看下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));
    }
}

例如新增按钮,权限配置如下图所示,权限字符要和代码中对应。其他都类似

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

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

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


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

img

与若依(ruoyi)开源系统保姆级实践-完成第一个页面相似的内容:

若依(ruoyi)开源系统保姆级实践-完成第一个页面

一、案例描述 若依官网文档地址:http://doc.ruoyi.vip/ruoyi/document/hjbs.html 本教程主要内容,自定义数据库表,使用若依开源系统生成代码并配置权限。 若依环境配置 新建数据表t_user,利用若依代码生成工具生成服务端及页面代码。 菜单配置 权限配置 二、

若依(ruoyi)开源系统-多数据源问题踩坑实录

内容概要 上一节内容 介绍了用开源系统若依(ruoyi)搭建页面的过程。在实际项目中,经常遇到多数据源后者主从库的情况。本节记录若依多数据源配置过程中遇到的问题排查过程。 背景描述 1.上一节在ry-vue库中新建了表t_user,这次新建数据库jingyes,新加同样的表t_user。其他功能不变

2023最新IntellJ IDEA诺依SpringCloud开发部署文档(保姆级别)

[TOC] # 若依RuoYi v3.6.2部署文档 ## 一、环境构建 | 软件名称 | 版本 | 相关文章推荐 | | | | | | Git | 13.5.0 | [https://www.cnblogs.com/liuyangfirst/p/15996063.html](https://ww

SpringBoot彩蛋之定制启动画面

写在前面 在日常开发中,我们经常会看到各种各样的启动画面。例如以下几种 ① spring项目启动画面 ② mybatisplus启动画面 ③若依项目启动画面 还有很多各式各样好看的启动画面,那么怎么定制这些启动画面呢? 一、小试牛刀 ① 新建一个SpringBoot项目 ②在项目的resources

k8s实战 2 ---- pod 基础

如果你对k8s还不了解,可以看下前文 k8s 实战 1 初识 (https://www.cnblogs.com/jilodream/p/18245222) 什么是pod,pod在英文中是豌豆荚、分离仓、集装箱的意思。在k8s中,pod就是融合一堆容器实例的一个大容器(称之为集合更贴切)。K8s所能部

Linux虚拟网卡TUN和TAP

简介 在 Linux 网络管理中,虚拟网卡(Virtual Network Interface)是一个重要的概念,广泛应用于虚拟化、网络仿真和隧道技术中。本文将重点介绍 TUN(Network TUNnel)和 TAP(Network TAP),并详细解释它们的工作原理、应用场景及其配置方法。 什么

网络世界的脊柱——OSI七层模型

简介 OSI代表开放系统互联(Open Systems Interconnection),这是国际标准化组织(ISO)提出的一个概念模型,用于描述网络通信的功能划分。简单来说,OSI模型把复杂的网络通信过程分成了七个不同的层次,每一层都有其特定的功能和角色。 每一层都有自己的头数据,在封装和解封的时

实战 k8s----初识

什么是k8s?k8s是谷歌开源的一套完整的容器管理平台,方便我们直接管理容器应用。谷歌称之为,kubernetes,[kubə’netis] ,(跟我一起读库波尔耐题思,重音在耐的音上),由于字母太多,我们简称为k8s,8代表k-->s之间的8个字母。kubernetes 译为舵手,标识是一个航海舵

Docker 必知必会4----容器之间的通信

前面几篇文章,我们聊了docker的基本概念,以及基本的操作手段: https://www.cnblogs.com/jilodream/p/18177695 初识dockerhttps://www.cnblogs.com/jilodream/p/18184687 基本操作https://www.cn

Docker 必知必会3----使用自己制作的镜像

前面的两篇文章分别讲了,docker的基础概念,设计思路以及docker的基本操作。感兴趣的同学可以查阅: https://www.cnblogs.com/jilodream/p/18177695https://www.cnblogs.com/jilodream/p/18184687 本文我们将介绍