经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Spring Boot » 查看文章
若依(ruoyi)开源系统保姆级实践-完成第一个页面
来源:cnblogs  作者:敬YES  时间:2023/10/11 16:11:54  对本文有异议

一、案例描述

若依官网文档地址: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。命令行是

  1. npm install
  2. npm run dev

二、代码生成

  1. 新建表
  1. CREATE TABLE `t_user` (
  2. `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  3. `name` varchar(30) NOT NULL DEFAULT '' COMMENT '姓名',
  4. `age` int(11) NULL DEFAULT NULL COMMENT '年龄',
  5. `gender` tinyint(2) NOT NULL DEFAULT 0 COMMENT '性别,0:女 1:男',
  6. PRIMARY KEY (`id`)
  7. ) COMMENT = '用户表';
  1. 在系统工具->代码生成页面,导入表t_user

  2. 编辑生成工具

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

三、若依后台配置菜单

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

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

四、权限配置

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

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

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

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

  4. 为了正常使用操作按钮,我们需要为每个操作配置对应的权限菜单。首先看下TUserController中有哪些action需要配置权限,然后在菜单管理中配置相应的按钮。

  1. @RestController
  2. @RequestMapping("/jingyes/tuser")
  3. public class TUserController extends BaseController
  4. {
  5. @Autowired
  6. private ITUserService tUserService;
  7. /**
  8. * 查询用户列表
  9. */
  10. @PreAuthorize("@ss.hasPermi('jingyes:tuser:list')")
  11. @GetMapping("/list")
  12. public TableDataInfo list(TUser tUser)
  13. {
  14. startPage();
  15. List<TUser> list = tUserService.selectTUserList(tUser);
  16. return getDataTable(list);
  17. }
  18. /**
  19. * 导出用户列表
  20. */
  21. @PreAuthorize("@ss.hasPermi('jingyes:tuser:export')")
  22. @Log(title = "用户", businessType = BusinessType.EXPORT)
  23. @PostMapping("/export")
  24. public void export(HttpServletResponse response, TUser tUser)
  25. {
  26. List<TUser> list = tUserService.selectTUserList(tUser);
  27. ExcelUtil<TUser> util = new ExcelUtil<TUser>(TUser.class);
  28. util.exportExcel(response, list, "用户数据");
  29. }
  30. /**
  31. * 获取用户详细信息
  32. */
  33. @PreAuthorize("@ss.hasPermi('jingyes:tuser:query')")
  34. @GetMapping(value = "/{id}")
  35. public AjaxResult getInfo(@PathVariable("id") Long id)
  36. {
  37. return success(tUserService.selectTUserById(id));
  38. }
  39. /**
  40. * 新增用户
  41. */
  42. @PreAuthorize("@ss.hasPermi('jingyes:tuser:add')")
  43. @Log(title = "用户", businessType = BusinessType.INSERT)
  44. @PostMapping
  45. public AjaxResult add(@RequestBody TUser tUser)
  46. {
  47. return toAjax(tUserService.insertTUser(tUser));
  48. }
  49. /**
  50. * 修改用户
  51. */
  52. @PreAuthorize("@ss.hasPermi('jingyes:tuser:edit')")
  53. @Log(title = "用户", businessType = BusinessType.UPDATE)
  54. @PutMapping
  55. public AjaxResult edit(@RequestBody TUser tUser)
  56. {
  57. return toAjax(tUserService.updateTUser(tUser));
  58. }
  59. /**
  60. * 删除用户
  61. */
  62. @PreAuthorize("@ss.hasPermi('jingyes:tuser:remove')")
  63. @Log(title = "用户", businessType = BusinessType.DELETE)
  64. @DeleteMapping("/{ids}")
  65. public AjaxResult remove(@PathVariable Long[] ids)
  66. {
  67. return toAjax(tUserService.deleteTUserByIds(ids));
  68. }
  69. }

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

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

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

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


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

img

原文链接:https://www.cnblogs.com/janes/p/17754979.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号