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

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

目录

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 张表即可;


Logo

快速构建 Web 应用程序

更多推荐