完成模块
模块 | 接口 | 相关缺陷(点击链接跳转相关缺陷) | 问题分类 | |
---|---|---|---|---|
项目 | 项目创建 | |||
项目删除 | 项目删除时没有移除相关流水线 | 业务缺陷 | 单独删除环境不删除流水线会导致不属于项目的流水线不断堆积,所以删除项目的同时要提示用户删除流水线。 | |
项目修改 | 项目绑定Tapd无法单独调用更新项目接口 项目修改无法修改为现有名称 |
接口对接 业务缺陷 |
前端调用了修改项目接口修改TapId,没有传入必传的名称参数,导致接口参数校验失败。 项目名称不允许重复,在判断的逻辑上没有排除自己,导致项目名称不能和原有名称重复。 |
|
项目列表查询 | 子账号无法查看到参加的项目列表 子账号创建项目被主账号移除仍能看到项目 |
权限问题 权限问题 |
项目列表的查看权限过高,导致子用户无法查看项目列表。 项目列表根据项目成员和项目创建者查询,当子用户创建项目后被移除管理员权限后,会导致能看到项目但是无法操作项目,所以将查询条件进行修改。 |
|
项目详情 | ||||
项目绑定tapd | ||||
角色 | 创建角色 | 自定义角色应该限制字数,建议20个字符 /项目角色创建名称可以为空 |
数据拦截 数据拦截 |
入参校验的过程中没有对单个字符进行更加细粒度的校验,如长度和特殊字符,会导致用户体验降低。 |
角色修改 | 项目创建后默认角色权限没有被禁用修改 | 业务缺陷 | 默认角色通过接口可以修改名称和权限,与设计不符,在业务逻辑的最开始对修改的角色权限进行判断拦截。 | |
选择角色权限 | ||||
角色详情 | 项目下普通成员无法查看角色权限详情 | 权限问题 | 项目普能成员应该能拥有项目角色权限的只读权限,设立的权限等级过高。 | |
角色列表 | ||||
删除角色 | ||||
成员 | 添加成员 | 管理员角色绑定环境失效 | 接口对接 业务缺陷 |
调用AHS接口时,没有确认好调用结果以及接口逻辑,导致接口设计出现问题,成员在绑定ahs环境的时候多次进行了绑定,但是在解除绑定的时候却没有依次解绑。 |
移除成员 | 项目角色删除成员无效 | 接口对接 | 接口设计为根据用户id和项目id来删除成员,但是在给前端传递参数的时候将业务id也传给了前端,导致前端将业务id传给后端,导致删除失败 | |
角色下成员列表 | ||||
可添加成员列表 | 项目角色添加成员获取项目列表失败 项目成员管理,无法根据用户名过滤 |
接口对接 优化使用 |
接口设计分页参数为必填参数,与规范不符,去除分页参数必填,不填则默认为全服返回。 在添加成员时如果成员列表过长,则会导致用户要花很长时间查找用户,提供了模糊查询的过滤方式,优化用户体验。 |
|
项目下成员列表 | ||||
成员角色详情 | 项目角色权限查询时不存在Id查询时返回了空模板 | 数据拦截 | 项目角色查询详情时如果传入的Id不存在,应该直接返回,不应该再继续后续的业务逻辑,所以在开头进行了判断。 | |
环境 | 环境创建 | 环境数量创建没有限制 |
业务缺陷 | 在创建环境时没有对环境数量进行限制。 |
环境删除 | ||||
环境修改 | 环境更新没有限制更新状态 | 业务缺陷 | 删除中和已删除的环境依旧能够通过接口进行项目更新,不符合设计,所以应该在更新前校验环境现在的状态。 | |
环境详情 | ||||
环境列表 | ||||
审批 | 审批单列表 | |||
通过审批 | 项目环境审批提示没有传入GatewayId 项目环境审批后AHS没有和网关进行关联 环境审批资源过大时返回未知错误 |
接口对接 业务缺陷 优化使用 |
在更新和删除环境审批的时候没有传递网关Id以及集群Id,导致后端校验的时候没有通过校验。 业务逻辑中没有在环境审批完成后将环境与网关进行绑定。 资源审批时调用了ahs的创建环境接口,当cpu与内存过大时返回了错误,并没有直接将ahs返回的接口返回给前端,无法让用户知道无法创建的原因。 |
|
驳回审批 | 项目环境审批后可以再次驳回 | 业务缺陷 | 已经审批的审批单环境依旧能够通过接口进行重新审批,不符合设计,所以应该在审批前校验审批单现在的状态。 | |
审批详情 | ||||
日志 | 项目、环境、审批日志列表 | 项目操作日志返回列表没有操作人 项目操作日志开发人员无法访问 |
接口对接 权限问题 |
yapi上定义了操作日志操作人字段与实际返回值不符,导致前端参数没有对应上。 项目日志权限的拦截在iam进行拦截,权限等级过高,所以将iam拦截权限降低,在cnops进行单独的权限鉴定。 |
总览 | 控制台纵览信息 |
权限问题:4业务缺陷:8数据拦截:3接口对接:6优化使用:2
B031总结
在b031迭代参加了CNOPS的开发设计,从项目的设计到项目的完成,遇到了很多的问题,也有了很多的收获。经过这一轮的开发,对整个项目的开发流程更加得熟悉了。从项目的模块调用设计,到根据设计稿设计接口,完成接口设计后,进行接口的对接与确认,之后完成业务的开发。
在开发前期,接口的设计以及接口的对接非常重要,由于一开始没有特别重视和熟悉yapi的使用,导致一些接口的设计没有及时同步到yapi上,导致后面的接口联调出现了很多问题,在后面的开发中要注意接口的规范以及同步,减少因为接口数据与前端的调试出现的问题。
开发前要理清业务逻辑,不能一遍开发一遍思考业务逻辑,才能保证业务逻辑的一致性。在这次开发的过程中某个地方的业务逻辑发生变动,因为没有对相关的业务进行重新思考,导致了许多BUG,所以在后面的开发中要,要在开发前思考记录开发流程,减少开发过程中的变动。
代码
新增 | 减少 | 合计 |
---|---|---|
10901 | 4175 | 6726 |