完成模块

模块 接口 相关缺陷(点击链接跳转相关缺陷) 问题分类
项目 项目创建
项目删除 项目删除时没有移除相关流水线 业务缺陷 单独删除环境不删除流水线会导致不属于项目的流水线不断堆积,所以删除项目的同时要提示用户删除流水线。
项目修改 项目绑定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