IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 【Ruoyi-vue】一、用户登录、权限认证模块的分析学习(一) -> 正文阅读

[JavaScript知识库]【Ruoyi-vue】一、用户登录、权限认证模块的分析学习(一)

?一直在学习项目的开发,但是发现忽略了很重要的问题,就是如何根据原型图转换成需要的功能代码,这一块儿感觉有模糊,所以写一篇笔记记录一下,自己的思考开发和已有框架的开发是否有相似或区别。

?注意,下面的所有代码段都不是完整的!只根据大概逻辑写重点的部分,详细代码请看若依框架源码 ? ?

目录

1.页面的功能点分析(按钮、导航等调用接口点)

1.1页面及功能点

1.1.1.注册页面

1.1.2.登录页面

1.1.3.用户管理页面

1.1.4.部门管理页面

1.1.5.菜单管理页面

1.1.6.角色管理页面

?1.1.7.字典管理页面

1.2.疑问+思考

2.功能点转换为接口

2.1接口(看gitee文档)

2.2.疑问+思考

3.功能点所需要的数据存储格式

3.1 表结构说明

3.2?数据库表


1.页面的功能点分析(按钮、导航等调用接口点)

1.1页面及功能点

1.1.1.注册页面

1.生成验证码
@GetMapping("/captchaImage")

2.注册功能
@PostMapping("/register")

1.1.2.登录页面

= 登陆注册
-------------------------------------------------
1.生成验证码
@GetMapping("/captchaImage")

2.登录功能
@PostMapping("/login")

3.登陆后获取当前账号信息和对应的权限信息
@GetMapping("/getInfo")

4.获取当前登录账号的菜单权限
@GetMapping("getRouters")

1.1.3.用户管理页面

?

= 用户模块
-------------------------------------------
1.获取用户列表
@GetMapping("/list")

2.新增用户
 @PostMapping

3.根据用户编号获取详细信息
@GetMapping(value = { "/", "/{userId}" })

4.修改用户
@PutMapping

5.删除用户
@DeleteMapping("/{userIds}")

6. 重置密码
@PutMapping("/resetPwd")

7.状态修改
@PutMapping("/changeStatus")

8.根据用户编号获取授权角色
@GetMapping("/authRole/{userId}")

9.用户授权角色
@PutMapping("/authRole")

= 部门模块
-------------------------------------------------

7.获取部门下拉树列表----用户模块或其它模块中获取部门下拉树结构
@GetMapping("/treeselect")

1.1.4.部门管理页面

?

?

= 部门模块
-----------------------------------------------------
1.获取部门列表
@GetMapping("/list")

2.新增部门
@PostMapping

3.根据部门编号获取详细信息
@GetMapping(value = "/{deptId}")

4.查询部门列表(排除节点)
@GetMapping("/list/exclude/{deptId}")

5.修改部门
@PutMapping

6.删除部门
@DeleteMapping("/{deptId}")

7.获取部门下拉树列表----用户模块或其它模块
@GetMapping("/treeselect")

8.加载对应角色数据权限中部门列表树----角色模块或其它模块
@GetMapping(value = "/roleDeptTreeselect/{roleId}")

1.1.5.菜单管理页面

?

= 菜单模块
----------------------------------------------
1.获取菜单列表
@GetMapping("/list")

2.新增菜单
@PostMapping

3.根据菜单编号获取详细信息
@GetMapping(value = "/{menuId}")

4.修改菜单
@PutMapping

5.删除菜单
@DeleteMapping("/{menuId}")

6.获取菜单下拉树列表-------角色模块或其它模块
@GetMapping("/treeselect")

7.加载对应角色菜单列表树-------角色模块或其它模块
@GetMapping(value = "/roleMenuTreeselect/{roleId}")

1.1.6.角色管理页面

?

?

= 角色模块
------------------------------------------
1.获取角色列表
@GetMapping("/list")

2.新增角色
@PostMapping

3.根据角色编号获取详细信息
@GetMapping(value = "/{roleId}")

4.修改保存角色
@PutMapping

5.删除角色
@DeleteMapping("/{roleIds}")

6.状态修改
@PutMapping("/changeStatus")

7.修改保存数据权限
@PutMapping("/dataScope")

8.查询已分配用户角色列表
@GetMapping("/authUser/allocatedList")

9.查询未分配用户角色列表
@GetMapping("/authUser/unallocatedList")

10.批量选择用户授权
@PutMapping("/authUser/selectAll")

11.取消授权用户
@PutMapping("/authUser/cancel")

12.批量取消授权用户
@PutMapping("/authUser/cancelAll")


= 菜单
----------------------------------------------
6.获取菜单下拉树列表-------角色模块或其它模块
@GetMapping("/treeselect")

7.加载对应角色菜单列表树-------角色模块或其它模块
@GetMapping(value = "/roleMenuTreeselect/{roleId}")


= 部门
----------------------------------------------
8.加载对应角色数据权限中部门列表树----角色模块或其它模块
@GetMapping(value = "/roleDeptTreeselect/{roleId}")



?1.1.7.字典管理页面

?

= 字典类型模块
------------------------------------------
1.获取字典列表
@GetMapping("/list")

2.新增字典类型
@PostMapping

3.查询字典类型详细
@GetMapping(value = "/{dictId}")

4.修改字典类型
@PutMapping

5.删除字典类型
@DeleteMapping("/{dictIds}")

6.刷新字典缓存
@DeleteMapping("/refreshCache")


= 字典数据模块
-----------------------------------------
7.获取字典数据列表
@GetMapping("/list")

8.新增字典类型
@PostMapping

9.查询字典数据详细
@GetMapping(value = "/{dictCode}")

10.修改保存字典类型
@PutMapping

11.删除字典类型
@DeleteMapping("/{dictCodes}")

12.根据字典类型查询字典数据信息列表
@GetMapping(value = "/type/{dictType}")


1.2.疑问+思考


2.功能点转换为接口

暂时只整理了三个小模块的接口说明,后续逐渐整理,整理文档:文档预览: JavaPracticeDemo

?按照这种格式编写接口:

### 1.接口描述

##### 请求类型: POST   GET   PUT   DELETE

##### 请求url:

##### 入参(表格):

|多数据源|数据元|数据元名称|数据类型|必填|备注|
|:---|:---|:---|:---|:---|:---|
| |pageNum|当前页  |int |√  |默认   |
| |pageSize|条数  |int|√  |默认   |


##### 出参(代码):

##### 业务备注:

2.1接口(看gitee文档)

2.1.1.注册页面

2.1.2.登录页面

2.1.3.用户管理页面

2.1.4.部门管理页面

2.1.5.菜单管理页面

2.1.6.角色管理页面

2.1.7.字典管理页面

2.2.疑问+思考


3.功能点所需要的数据存储格式

3.1 表结构说明

  1. 一个用户属于一个部门,一个部门有多个用户;
  2. 一个用户有多个角色,一个角色对应多个用户;
  3. 一个角色有多个菜单项,一个菜单项对应多个角色;
  4. 一个角色可有多个部门数据权限(仅在自定义数据权限时使用);

PowerDesigner 不太熟练,大概画了一下结构:?

3.2?数据库表

不在此展示了,直接导入 sql 文件中对应的 9 张表即可;


  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-03 09:22:46  更:2022-05-03 09:23:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:17:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码