昨天在完成了睿哥的需求验收之后,暂时没有其他任务,因此今天可能会比较有空闲时间。趁着这个机会,我打算把之前完成的一些需求进行总结,方便以后复习和参考。
在8月份的时候,我负责了一个需求,该需求的具体内容如下:在小程序中,关于作业标准的部分,目前知会干系人有权限开始工作内容,而我们的目标是限制知会干系人的权限,使其只能查看工作内容,只有执行干系人才能开始工作内容。
针对这个需求,我的解决思路如下:
-
后端部分:
- 首先,我需要找到对应“开始处理”按钮的后端接口。
- 在该接口的service层中,我计划添加一个权限判断逻辑。
- 具体来说,就是在service层中检查当前用户是否为执行干系人。如果不是执行干系人,则返回一个提示信息:“你不是执行干系人,无法开始任务”。
- 通过这种方式,我们可以确保只有执行干系人才能在后端层面上开始任务。
-
前端部分:
我希望通过这样的设计,确保只有执行干系人才能开始工作内容,而知会干系人只能查看相关信息。
首先,我们需要找到“开始处理”按钮对应的后端接口。进入这个接口的后端代码,从controller层开始查看。发现controller层主要负责返回VO(Value Object)等数据,并没有太多需要修改的地方。
因此,我们继续深入到service层。
在service层,我们发现这里的代码实现了“开始处理”按钮的内部逻辑。虽然代码量较大,但我们不需要理解所有细节,因为我们的目标是在逻辑开头添加一个权限判断。具体来说,我们需要判断当前用户是否为执行干系人。如果用户不是执行干系人,那么直接跳过后续代码逻辑,不允许其执行“开始处理”操作。
这个改动看起来非常简单。如果你看过我之前的一篇文章,可能会立刻想到可以使用AI来生成这部分代码。然而,这个需求是在8月份提出的,当时我还没有意识到AI的强大功能。我记得那时候是睿哥提醒我,说有一个类似按钮已经实现了权限校验,建议我直接复制那部分代码。
于是,我按照睿哥的建议,把那个按钮的权限校验代码原封不动地复制过来,这样后端的改动就完成了。
接下来,我们需要修改前端部分。
首先,我们需要找到“开始处理”按钮对应的代码。在前端代码中,最关键的部分是这个按钮的事件处理函数,这是我们需要修改的地方。我们的目标是,如果当前用户不是执行干系人,那么点击按钮后将显示提示信息:“你不是执行干系人,没有权限开始任务”。
我们可以参考一个已有的、相似功能的按钮来进行修改。我们可以仿照它的实现方式:
通过这种方式,我们可以在点击“开始处理”按钮时,首先检查当前用户的角色。如果用户不是执行干系人,则显示提示信息,并阻止后续操作。这样,前端部分的修改就完成了。
总结起来,前后端的改动如下:
-
后端部分:
- 在service层添加权限判断逻辑,确保只有执行干系人才能执行后续操作。
-
前端部分:
- 在“开始处理”按钮的事件处理函数中,添加角色判断逻辑,显示相应的提示信息。
通过前后端的共同修改,我们实现了对“开始处理”按钮的权限控制,确保只有执行干系人才能开始任务,而知会干系人只能查看相关信息。