init
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
# 模块 6:报告主题
|
||||
|
||||
<div class="mt-8 text-center">
|
||||
|
||||
<div class="p-6 rounded-xl bg-blue-500/10 border border-blue-500/30 inline-block">
|
||||
|
||||
**代码理解报告:若依权限与菜单模块**
|
||||
|
||||
核心问题:用户登录后,菜单、路由和按钮权限如何生效?
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
今天最终实战,是生成一份代码理解报告。
|
||||
报告主题:若依权限与菜单模块。
|
||||
核心问题:用户登录后,菜单、路由和按钮权限如何生效?
|
||||
这份报告不是 AI 聊天记录,而是可交接、可复核的工程文档。
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# 报告结构
|
||||
|
||||
<div class="mt-6 text-sm">
|
||||
|
||||
报告包含:模块职责 · 核心对象 · 目录与文件结构 · 核心调用链路 · 权限风险 · 操作日志风险 · 改造建议 · 不确定结论
|
||||
|
||||
</div>
|
||||
|
||||
<!--
|
||||
报告至少包含八部分:模块职责、核心对象、目录与文件结构、核心调用链路、权限风险、操作日志风险、改造建议、不确定结论。
|
||||
每个关键结论都要有依据文件或函数。
|
||||
如果没有依据,就写到不确定点里。
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# 模块职责写法
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-6 text-sm">
|
||||
<div class="p-3 rounded-xl bg-red-500/10 border border-red-500/30">
|
||||
|
||||
**不要写:** 权限模块用于权限控制。
|
||||
</div>
|
||||
<div class="p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30">
|
||||
|
||||
**要写:** 权限与菜单模块负责用户登录后加载角色、权限字符和动态路由,并根据角色菜单关系控制页面访问和按钮显示。
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
模块职责不能写空话。
|
||||
“权限模块用于权限控制”没有信息量。
|
||||
合格写法要具体说明:权限与菜单模块负责用户登录后加载角色、权限字符和动态路由,并根据角色菜单关系控制页面访问和按钮显示。
|
||||
同时要说明前端权限和后端权限的边界。
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# 核心对象写法
|
||||
|
||||
<div class="mt-6 text-sm">
|
||||
|
||||
User 用户 · Role 角色 · Menu 菜单 · Permission 权限字符 · Dept 部门 · OperLog 操作日志
|
||||
|
||||
用户绑定角色,角色拥有菜单权限,菜单中包含权限字符,部门影响数据权限,操作日志记录敏感操作。
|
||||
|
||||
</div>
|
||||
|
||||
<!--
|
||||
若依权限模块的核心对象是用户、角色、菜单、权限字符、部门和操作日志。
|
||||
用户绑定角色,角色拥有菜单权限,菜单中包含权限字符,部门影响数据权限,操作日志记录敏感操作。
|
||||
这些对象共同构成权限体系。
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# 风险点写法
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-6 text-sm">
|
||||
<div class="p-3 rounded-xl bg-red-500/10 border border-red-500/30">
|
||||
|
||||
**不要写:** 权限有风险。
|
||||
</div>
|
||||
<div class="p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30">
|
||||
|
||||
**要写:**
|
||||
- 风险:按钮权限只控制前端展示
|
||||
- 触发条件:后端接口缺少权限校验
|
||||
- 影响:用户可能绕过前端直接调用接口
|
||||
- 验证:检查 Controller 是否有权限注解
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
风险点一定要具体。
|
||||
“权限有风险”不是合格风险点。
|
||||
合格风险点要包含风险描述、触发条件、影响范围和验证方式。
|
||||
比如按钮权限只控制前端展示;触发条件是后端接口缺少权限校验;影响是用户可能绕过前端直接调用接口;验证方式是检查 Controller 是否有权限注解。
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# 改造建议写法
|
||||
|
||||
<div class="mt-6 text-sm">
|
||||
|
||||
- **建议:** 确保敏感接口均有后端权限校验
|
||||
- **原因:** 前端按钮隐藏不能作为安全边界
|
||||
- **验收:** 无权限用户直接请求接口时返回 403
|
||||
|
||||
</div>
|
||||
|
||||
<!--
|
||||
改造建议也要具体。
|
||||
比如建议确保用户、角色、菜单等敏感接口均有后端权限校验。
|
||||
原因是前端按钮隐藏不能作为安全边界。
|
||||
验收标准是无权限用户直接请求接口时返回 403。
|
||||
这样的建议才可以进入工程评审。
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# 第 1 天最终交付物
|
||||
|
||||
<div class="grid grid-cols-3 gap-3 mt-8 text-sm">
|
||||
<div class="p-3 rounded-xl bg-blue-500/10 border border-blue-500/30 text-center">01 TRAE 使用边界清单</div>
|
||||
<div class="p-3 rounded-xl bg-blue-500/10 border border-blue-500/30 text-center">02 若依模块认知图</div>
|
||||
<div class="p-3 rounded-xl bg-blue-500/10 border border-blue-500/30 text-center">03 若依项目结构图</div>
|
||||
<div class="p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30 text-center">04 权限调用链路图</div>
|
||||
<div class="p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30 text-center">05 TRAE 输出校验清单</div>
|
||||
<div class="p-3 rounded-xl bg-amber-500/10 border border-amber-500/30 text-center">06 代码理解报告</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
第 1 天最终交付六个产物:
|
||||
TRAE 使用边界清单、若依模块认知图、若依项目结构图、权限调用链路图、TRAE 输出校验清单、若依权限与菜单模块代码理解报告。
|
||||
这些产物构成第一天的完整成果。
|
||||
-->
|
||||
Reference in New Issue
Block a user