32 KiB
第 1 天:TRAE 基础工作流与陌生代码库理解
第 0 部分:AI 编程趋势、能效理念、高管破冰
Slide 0-1:课程标题
PPT 页面内容
TRAE 基础工作流与陌生代码库理解
真实开源项目案例:
若依 RuoYi-Vue / RuoYi-Vue3
主线任务:
理解“登录 → 用户信息 → 菜单路由 → 按钮权限”的调用链路
讲师逐字稿
各位领导、各位同事,大家好。
今天是 TRAE 系列课程第一天。今天我们不会从“让 AI 写代码”开始,而是从企业研发里更常见、更真实的场景开始:如何理解一个陌生代码库。
这次我们不用虚拟项目,而是使用真实开源项目若依。若依是国内研发团队非常熟悉的一类后台管理系统,包含用户管理、角色管理、菜单管理、权限控制、操作日志、代码生成等典型企业后台能力。
今天我们的主线任务是:使用 TRAE 理解若依中“用户登录后,系统如何加载用户信息、生成菜单路由,并控制页面按钮权限”的完整链路。
这个案例非常适合企业内训,因为它不是玩具项目,而是很多公司内部系统都会遇到的后台权限体系。
Slide 0-2:为什么选若依作为案例?
PPT 页面内容
若依适合训练:
陌生代码库理解
前后端分离结构分析
登录认证链路
动态菜单与路由
角色与权限
按钮权限
数据权限
操作日志
代码生成
讲师逐字稿
我们为什么选若依?
第一,若依足够真实。它不是 demo,而是一个完整后台管理系统。
第二,它足够典型。很多企业内部系统都有用户、角色、菜单、权限、日志、字典、代码生成这些模块。
第三,它非常适合讲 AI 辅助代码理解。因为若依既有前端,也有后端;既有页面,也有接口;既有权限,也有日志;既有业务模块,也有基础框架能力。
今天大家不是要记住若依所有代码,而是要学会一种方法:拿到一个陌生系统,如何让 TRAE 帮我们从结构、模块、链路和证据四个层面快速建立理解。
Slide 0-3:AI 编程进入企业研发主流程
PPT 页面内容
AI 编程不只是写代码
更重要的是:
读代码
找入口
追链路
查风险
写测试
生成文档
沉淀经验
讲师逐字稿
AI 编程早期给大家的印象,可能是补全代码、生成函数、写几个工具方法。
但在企业研发中,真正耗时的往往不是写几行代码,而是理解历史代码、追踪业务链路、判断影响范围、确认权限边界、补充测试和沉淀文档。
AI 对研发的价值,不只是让某个人写得快一点,而是让团队更快理解系统、更快交接、更快定位风险。
所以今天的重点不是“AI 会不会写”,而是“AI 能不能帮我们更快读懂一个真实项目”。
Slide 0-4:AI 能效理念
PPT 页面内容
AI 能效不是单点提速
不是只看:
代码写得更快
更要看:
理解更快
交接更快
定位更快
风险更早暴露
团队知识沉淀更快
讲师逐字稿
这里我们讲一个关键词:能效。
在企业里,研发能效不是单点速度,而是整个研发链条的效率。
如果新人接手若依这样的后台系统,以前可能要花很多时间搞清楚登录在哪里、权限从哪里来、菜单怎么生成、按钮怎么控制、后端接口如何校验。
如果 TRAE 能帮助我们快速定位这些文件和调用关系,它带来的价值就不是少写几行代码,而是降低理解成本、交接成本和维护成本。
这就是我们第一天从陌生代码库理解开始的原因。
Slide 0-5:AI 替代人的现实判断
PPT 页面内容
不用过度乐观
也不用过度悲观
AI 会替代:
重复性、低上下文、低判断含量的工作方式
人必须负责:
业务规则
权限边界
安全责任
架构取舍
上线决策
讲师逐字稿
今天有管理层,也有工程师,所以我们也可以坦诚谈一下 AI 替代人的问题。
AI 会替代一部分重复性、低上下文、低判断含量的工作方式。
但它不能替代所有工程判断。
比如若依里一个按钮是否应该对某个角色开放,这不是 AI 单独决定的。AI 可以帮我们找出权限字符在哪里配置、前端如何判断、后端如何校验,但业务上谁应该拥有这个权限,必须由人判断。
未来真正的差距,不是用不用 AI,而是能不能把 AI 放进标准研发流程,让它帮助我们找证据、提效率,而不是让它替我们承担责任。
Slide 0-6:第一天真正要学什么?
PPT 页面内容
今天训练四个动作:
看结构
找入口
追链路
查依据
最终产出:
代码理解报告
讲师逐字稿
今天不是学几个 Prompt。
今天训练四个动作。
第一,看结构。看若依前后端目录、模块分层、启动方式、技术栈。
第二,找入口。找登录入口、用户信息接口、菜单接口、权限判断入口。
第三,追链路。从登录开始,一路追到动态路由和按钮权限。
第四,查依据。AI 的每个关键结论,都要能回到文件、函数、接口或调用关系中验证。
今天最后的产出,是一份“若依权限与菜单模块代码理解报告”。
模块 1:TRAE 在真实研发流程中的定位
Slide 1-1:TRAE 的定位
PPT 页面内容
TRAE 是研发辅助工具
适合:
检索代码
解释函数
梳理结构
生成链路初稿
生成文档初稿
不能直接替代:
业务判断
权限决策
安全判断
上线决策
讲师逐字稿
我们先给 TRAE 定位。
TRAE 不是替代工程师的工具,而是研发辅助工具。
在若依项目里,TRAE 很适合帮我们找登录接口、找用户信息接口、找菜单加载逻辑、找权限判断指令、解释后端 Controller 和 Service 的职责。
但它不能替我们决定某个角色应该拥有什么权限,也不能替我们判断某个接口是否可以上线。
AI 可以帮我们找到代码事实,但不能替代业务和安全责任。
Slide 1-2:代码事实 vs 业务事实
PPT 页面内容
代码事实:
代码现在怎么写
业务事实:
业务应该怎么规定
TRAE 擅长发现代码事实
人工必须判断业务事实
讲师逐字稿
在若依案例里,这个区分非常重要。
比如 TRAE 可能发现某个按钮使用了权限字符 system:user:edit。
这是代码事实。
但哪些角色应该拥有 system:user:edit,这是业务事实。
再比如,后端某个接口加了权限注解,这是代码事实。但这个接口权限设计是否合理,是否符合公司安全要求,这是业务事实。
所以我们用 TRAE 时,要明确它帮我们发现的是“当前系统怎么写”,不是“业务上一定应该这样”。
Slide 1-3:适合 TRAE 的任务
PPT 页面内容
适合 TRAE 辅助:
理解前后端目录
查找登录入口
查找菜单接口
分析动态路由生成
解释按钮权限
梳理角色权限关系
生成代码理解报告初稿
讲师逐字稿
若依项目里,有很多任务适合 TRAE 辅助。
比如理解前后端目录结构,查找登录入口,查找获取用户信息和路由菜单的接口,分析前端动态路由生成逻辑,解释按钮权限如何生效,梳理角色、菜单、权限字符之间的关系。
这些信息主要都在代码库里,可以通过文件、函数、接口验证。
所以我们可以让 TRAE 先生成初稿,再人工校对。
Slide 1-4:必须人工判断的任务
PPT 页面内容
必须人工判断:
角色权限是否合理
数据权限范围是否正确
接口是否应该开放
敏感操作是否必须审计
代码生成结果能否上线
权限变更是否影响生产
讲师逐字稿
有些任务不能直接交给 TRAE 决定。
比如某个角色是否应该拥有用户删除权限,某个部门的数据权限范围是否正确,某个接口是否应该开放,修改角色权限是否会影响生产用户。
这些涉及业务规则、安全边界和上线风险,必须人工判断。
TRAE 可以帮助我们列出当前权限链路和风险点,但不能直接给最终决策。
Slide 1-5:产出:TRAE 使用边界清单
PPT 页面内容
实操产出:
TRAE 使用边界清单
三类任务:
1. 适合 TRAE 辅助
2. 可生成初稿但必须人工复核
3. 不建议直接交给 TRAE 决定
讲师逐字稿
第一个实操是生成 TRAE 使用边界清单。
请大家围绕若依项目,列出哪些任务适合 TRAE 辅助,哪些可以让 TRAE 生成初稿但必须人工复核,哪些不建议直接交给 TRAE 决定。
比如“查找登录接口”适合 TRAE 辅助;“判断角色权限是否合理”可以生成初稿但必须人工复核;“判断能否上线”不建议交给 TRAE 决定。
模块 2:沙箱项目业务导览
若依模块导览
Slide 2-1:若依的核心业务对象
PPT 页面内容
若依核心对象:
User 用户
Role 角色
Menu 菜单
Permission 权限字符
Dept 部门
Post 岗位
OperLog 操作日志
Dict 字典
GenTable 代码生成
讲师逐字稿
理解若依,不能只看目录,要先看核心对象。
若依最核心的是用户、角色、菜单和权限。
用户属于部门,可以拥有岗位,可以绑定角色。角色拥有菜单权限和数据权限。菜单不仅控制左侧菜单和动态路由,也关联按钮权限字符。操作日志记录关键操作。代码生成模块帮助生成 CRUD 代码。
今天我们重点看用户、角色、菜单、权限这条主线。
Slide 2-2:若依模块总览
PPT 页面内容
核心模块:
登录认证
用户管理
角色管理
菜单管理
部门管理
岗位管理
权限控制
操作日志
登录日志
代码生成
讲师逐字稿
若依常见模块包括登录认证、用户管理、角色管理、菜单管理、部门管理、岗位管理、权限控制、操作日志、登录日志、代码生成。
这些模块组合起来,构成一个典型企业后台系统。
今天不是要讲完所有模块,而是通过权限和菜单这条主线,学习如何理解陌生项目。
Slide 2-3:用户、角色、菜单、权限之间的关系
PPT 页面内容
用户 User
↓ 绑定
角色 Role
↓ 授权
菜单 Menu
↓ 包含
权限字符 Permission
↓ 控制
页面访问 / 按钮显示 / 接口访问
讲师逐字稿
若依权限体系可以先用这张图理解。
用户绑定角色。角色被授予菜单。菜单可以是目录、菜单页面,也可以是按钮权限。按钮权限通常通过权限字符表示,比如用户新增、用户修改、用户删除。
前端根据这些权限字符控制按钮显示,后端接口也应基于权限注解或权限判断控制访问。
今天我们要追踪的,就是这条链路从后端到前端如何生效。
Slide 2-4:若依中的三类权限
PPT 页面内容
页面权限:
能不能看到某个菜单页面
按钮权限:
能不能看到新增、修改、删除按钮
数据权限:
能看到哪些部门或范围的数据
讲师逐字稿
若依里我们可以把权限分成三类。
第一,页面权限。也就是用户能不能看到某个菜单页面。
第二,按钮权限。比如用户管理页面上的新增、修改、删除、导出按钮是否显示。
第三,数据权限。比如某个角色只能看本部门数据,还是可以看全部数据。
这三类权限不能混在一起。页面能看到,不代表按钮能操作。按钮隐藏,也不代表后端接口安全。数据能看到多少,又是另外一套规则。
Slide 2-5:若依业务导览 Prompt
PPT 页面内容
@workspace 请从业务视角分析若依项目。
重点说明:
1. 系统主要解决什么问题
2. 核心业务对象有哪些
3. 用户、角色、菜单、权限如何协作
4. 前端和后端分别负责什么
5. 哪些结论需要人工验证
讲师逐字稿
这一页是若依业务导览 Prompt。
注意我们不是让 TRAE 泛泛总结项目,而是指定业务视角。
我们让它说明系统解决什么问题,核心业务对象有哪些,用户、角色、菜单、权限如何协作,前端和后端分别负责什么。
同时必须列出需要人工验证的内容。
这能帮助我们快速建立若依的模块认知图。
Slide 2-6:产出:若依模块认知图
PPT 页面内容
产出内容:
核心业务对象
核心模块
模块职责
模块依赖关系
权限链路
风险点
不确定点
讲师逐字稿
这一部分的产出是若依模块认知图。
大家要整理出核心业务对象、核心模块、模块职责、模块依赖关系、权限链路、风险点和不确定点。
例如用户模块依赖部门、岗位和角色;角色模块关联菜单和数据权限;菜单模块既影响动态路由,也影响按钮权限;操作日志模块记录关键操作。
模块 3:使用 @workspace 理解全局结构
Slide 3-1:不要让 AI 泛泛总结项目
PPT 页面内容
不要问:
@workspace 帮我看看若依项目
要问:
从前端、后端、认证、路由、API、权限、日志、测试、构建分析项目
并标注依据文件
讲师逐字稿
使用 @workspace 时,最常见的错误是问“帮我看看这个项目”。
这样 AI 会给一段泛泛总结。
我们要让它从明确维度分析:前端结构、后端结构、认证流程、路由菜单、API 封装、权限控制、日志记录、测试结构、构建方式。
并且要求每个结论标注依据文件。
Slide 3-2:若依前后端结构怎么读?
PPT 页面内容
前端重点:
src/api
src/router
src/store
src/views
src/directive
src/permission.js / permission.ts
src/utils/request
后端重点:
ruoyi-admin
ruoyi-framework
ruoyi-system
ruoyi-common
Controller
Service
Mapper
讲师逐字稿
若依是前后端分离项目,所以读结构时要分前端和后端。
前端重点看 api、router、store、views、directive、permission 文件、request 封装。
后端重点看 ruoyi-admin、ruoyi-framework、ruoyi-system、ruoyi-common,以及 Controller、Service、Mapper 分层。
如果使用 RuoYi-Vue3,前端目录和状态管理方式可能不同,但分析方法一样。
Slide 3-3:认证链路要看哪些文件?
PPT 页面内容
认证链路重点:
登录页面
login API
token 存储
request 拦截器
getInfo 用户信息
getRouters 动态路由
权限 store
路由守卫
讲师逐字稿
若依权限主线从登录开始。
我们要看登录页面在哪里,login API 怎么调用,token 存在哪里,request 拦截器如何带 token,请求用户信息的 getInfo 在哪里,请求菜单路由的 getRouters 在哪里,权限 store 如何保存角色和权限,路由守卫如何判断是否已加载菜单。
这条链路是今天最重要的主线。
Slide 3-4:动态菜单与路由怎么看?
PPT 页面内容
动态菜单 / 路由重点:
后端菜单表
菜单类型:目录 / 菜单 / 按钮
路由地址
组件路径
权限字符
前端动态路由转换
router.addRoute
讲师逐字稿
若依的菜单不是单纯前端写死的。
后台菜单管理里配置菜单,菜单可以是目录、页面菜单,也可以是按钮权限。
菜单包含路由地址、组件路径、权限字符等信息。
前端获取后端返回的菜单数据后,会转换成前端路由,再动态挂载。
所以分析动态菜单,既要看后端菜单接口,也要看前端路由转换逻辑。
Slide 3-5:全局结构分析 Prompt
PPT 页面内容
@workspace 请分析若依项目全局结构。
维度:
1. 前端目录
2. 后端目录
3. 登录认证
4. 动态路由
5. API 封装
6. 权限控制
7. 操作日志
8. 代码生成
9. 测试与构建
10. 不确定点
每个结论标注依据文件。
讲师逐字稿
这是若依全局结构分析的标准 Prompt。
大家注意,维度非常明确。
我们不是让 AI 自己决定讲什么,而是让它从前端目录、后端目录、登录认证、动态路由、API 封装、权限控制、操作日志、代码生成、测试与构建这些维度分析。
每个结论都要标注依据文件。
Slide 3-6:产出:若依项目结构图
PPT 页面内容
项目结构图应包含:
前端目录职责
后端模块职责
认证与权限相关文件
菜单与路由相关文件
API 封装相关文件
操作日志相关文件
不确定点
讲师逐字稿
这一部分最终产出是若依项目结构图。
结构图不只是列目录,而是说明每个目录和权限主线有什么关系。
比如前端 views/system/user 是用户管理页面,api/system/user 是用户接口,store/modules/permission 或 permission 文件和动态路由有关,directive/permission 和按钮权限有关。
后端 sys 用户、角色、菜单 Controller、Service、Mapper 共同支撑权限管理。
模块 4:调用链路分析
Slide 4-1:第一天核心链路
PPT 页面内容
主线链路:
用户登录
↓
获取 token
↓
获取用户信息
↓
获取菜单路由
↓
生成动态路由
↓
进入系统页面
↓
根据权限字符控制按钮
讲师逐字稿
下午我们进入第一天最重要的部分:调用链路分析。
若依案例的主线链路是:用户登录,获取 token,获取用户信息,获取菜单路由,生成动态路由,进入系统页面,根据权限字符控制按钮。
这条链路覆盖前端页面、API 调用、后端接口、用户角色、菜单权限、动态路由和按钮权限。
它非常适合训练陌生代码库理解。
Slide 4-2:调用链路 8 个检查点
PPT 页面内容
1. 页面入口
2. UI 组件
3. 事件函数
4. API 调用
5. 后端 Controller
6. Service / 权限逻辑
7. 前端状态更新
8. 路由 / 按钮生效
讲师逐字稿
若依的调用链路也可以拆成 8 个检查点。
页面入口,比如登录页或用户管理页。
UI 组件,比如登录表单或新增按钮。
事件函数,比如 handleLogin。
API 调用,比如 login、getInfo、getRouters。
后端 Controller,比如登录接口、菜单路由接口。
Service 或权限逻辑,比如用户信息、角色权限、菜单树。
前端状态更新,比如保存 token、roles、permissions、routes。
最后是路由和按钮权限生效。
Slide 4-3:登录认证链路示例
PPT 页面内容
用户输入账号密码
↓
Login 页面提交
↓
调用 login API
↓
后端认证用户
↓
返回 token
↓
前端保存 token
↓
request 拦截器携带 token
讲师逐字稿
登录认证链路是第一条主线。
用户在登录页面输入账号密码,提交表单,前端调用 login API。
后端校验用户身份,成功后返回 token。
前端保存 token,后续请求通过 request 拦截器携带 token。
这里要重点看三个问题:token 存在哪里,request 拦截器在哪里带 token,token 失效后如何处理。
Slide 4-4:用户信息与权限加载链路
PPT 页面内容
登录成功
↓
调用 getInfo
↓
后端返回 user、roles、permissions
↓
前端保存用户信息
↓
前端保存角色和权限字符
↓
后续用于按钮权限判断
讲师逐字稿
登录成功之后,系统通常会请求用户信息。
getInfo 这类接口会返回当前用户信息、角色列表、权限字符等。
前端保存这些数据后,后续按钮权限就会依赖这些权限字符进行判断。
这里要注意:前端拿到权限字符,只能控制页面展示,不能作为后端安全边界。
真正的接口安全仍然需要后端权限校验。
Slide 4-5:动态路由加载链路
PPT 页面内容
调用 getRouters
↓
后端返回菜单树
↓
前端转换为路由对象
↓
动态挂载路由
↓
渲染侧边栏菜单
↓
用户进入页面
讲师逐字稿
若依的菜单和路由通常是动态加载的。
前端调用 getRouters,后端根据当前用户角色和菜单权限返回菜单树。
前端把菜单树转换成路由对象,再动态挂载到 router 中。
侧边栏根据这些路由渲染菜单。
这条链路很适合训练“从后端数据到前端页面”的完整理解。
Slide 4-6:按钮权限链路
PPT 页面内容
菜单中配置权限字符
↓
角色拥有该权限字符
↓
getInfo 返回 permissions
↓
前端权限指令 / 方法判断
↓
控制按钮显示或隐藏
讲师逐字稿
按钮权限的核心是权限字符。
在菜单管理中,按钮通常会配置类似“用户新增”“用户修改”“用户删除”这样的权限字符。
角色被授权后,用户登录时会拿到对应权限字符。
前端通过权限指令或权限判断方法,决定按钮是否显示。
但是再次强调:按钮隐藏只代表前端交互控制,不代表接口安全。
Slide 4-7:后端接口权限链路
PPT 页面内容
前端按钮权限
↓
只能控制 UI 展示
后端接口权限
↓
必须控制真实访问
需要确认:
Controller 是否有权限注解
Service 是否校验数据权限
讲师逐字稿
这一页是权限分析的关键。
前端按钮权限只能控制 UI 展示。
如果用户绕过前端,直接请求后端接口,那么真正决定是否安全的是后端接口权限。
所以在若依里,我们要检查 Controller 是否有权限注解,Service 是否处理数据权限。
如果 AI 只看到前端按钮权限,就说“权限安全”,这是错误结论。
报告里必须区分前端权限和后端权限。
Slide 4-8:操作日志链路
PPT 页面内容
管理员修改用户
↓
调用后端接口
↓
Controller 执行业务
↓
日志注解 / AOP 记录操作
↓
写入操作日志
↓
操作日志页面查询
讲师逐字稿
若依还有一个很适合训练的链路:操作日志。
比如管理员修改用户信息,前端调用后端接口,后端 Controller 执行业务逻辑。
如果接口上配置了日志注解或 AOP,系统会记录操作人、操作模块、操作类型、请求参数、结果等信息。
然后管理员可以在操作日志页面查看。
这条链路适合讲审计、日志脱敏和敏感操作追踪。
Slide 4-9:调用链路分析 Prompt
PPT 页面内容
@workspace 请分析若依中“登录后菜单与按钮权限生效”的完整调用链路。
从用户登录开始,依次说明:
登录页面、登录 API、token、getInfo、getRouters、动态路由、侧边栏菜单、按钮权限、后端接口权限、不确定点。
每一步标注文件路径和函数名。
讲师逐字稿
这是若依调用链路分析 Prompt。
注意,这个 Prompt 不是让 AI 总结权限系统,而是让它从用户登录开始,按顺序追踪链路。
必须包含登录页面、登录 API、token、getInfo、getRouters、动态路由、侧边栏菜单、按钮权限、后端接口权限和不确定点。
每一步都要标注文件路径和函数名。
Slide 4-10:产出:若依权限调用链路图
PPT 页面内容
产出内容:
登录认证链路图
用户信息加载链路图
动态菜单路由链路图
按钮权限链路图
后端接口权限链路图
操作日志链路图
讲师逐字稿
这一部分的产出是若依权限调用链路图。
不是只画一条线,而是可以拆成几条子链路:登录认证、用户信息加载、动态菜单路由、按钮权限、后端接口权限、操作日志。
每条链路都要有依据文件和不确定点。
模块 5:AI 输出可信度判断
Slide 5-1:若依案例中的常见 AI 幻觉
PPT 页面内容
常见不可信结论:
若依权限系统很完善
所有接口都有后端校验
按钮权限已经保证安全
操作日志一定完整
代码生成结果可以直接上线
讲师逐字稿
在若依这种项目里,AI 很容易给出看起来正确但不严谨的结论。
比如“若依权限系统很完善”“所有接口都有后端校验”“按钮权限已经保证安全”“操作日志一定完整”“代码生成结果可以直接上线”。
这些话不能直接信。
我们要问:依据文件在哪里?哪个 Controller?哪个注解?哪个权限字符?哪个 AOP?哪个 Service?如果没有依据,就不能写成确定结论。
Slide 5-2:可信输出四件套
PPT 页面内容
可信结论必须包含:
文件路径
函数 / 类 / 注解
调用关系
不确定点
讲师逐字稿
若依案例里,一条可信结论必须包含四件套。
文件路径,比如前端哪个 api 文件、后端哪个 Controller。
函数、类或注解,比如 getInfo、getRouters、权限指令、Controller 方法、权限注解。
调用关系,比如登录后先拿 token,再 getInfo,再 getRouters,再生成动态路由。
不确定点,比如无法确认某个接口是否有数据权限校验。
没有这些内容,就不能轻易采纳。
Slide 5-3:不可信回答示例
PPT 页面内容
若依已经实现了完整权限控制,
用户登录后会自动加载菜单和按钮权限,
后端接口也都有权限校验,
整体风险较低。
讲师逐字稿
这段话看起来很顺,但不合格。
为什么?
没有文件路径。没有函数名。没有说明菜单从哪个接口加载。没有说明按钮权限由哪个指令判断。没有说明后端接口权限在哪里校验。没有列出不确定点。
所以这种回答不能进入报告。
Slide 5-4:可信回答示例
PPT 页面内容
前端登录成功后调用 getInfo 获取用户信息和权限字符。
随后调用 getRouters 获取动态路由菜单。
前端根据返回路由生成侧边栏菜单。
可以确认前端存在菜单和按钮权限控制。
但仍需检查后端 Controller 权限注解,才能确认接口级权限。
讲师逐字稿
这个回答更可信。
它说明了前端登录后的两个关键动作:getInfo 和 getRouters。
它说明了前端根据返回路由生成菜单。
同时它没有夸大结论。它说可以确认前端存在菜单和按钮权限控制,但仍需检查后端 Controller 权限注解,才能确认接口级权限。
这就是专业表达。
Slide 5-5:产出:TRAE 输出校验清单
PPT 页面内容
检查项:
是否有文件路径
是否有函数 / 类 / 注解
是否说明调用关系
是否区分前端权限和后端权限
是否列出不确定点
是否给出验证方式
讲师逐字稿
这一部分产出是 TRAE 输出校验清单。
以后 AI 给出若依权限分析时,我们就按这些问题检查。
是否有文件路径?是否有函数、类或注解?是否说明调用关系?是否区分前端权限和后端权限?是否列出不确定点?是否给出验证方式?
没有通过这些检查的内容,不写进报告。
模块 6:统一实战:代码理解报告
Slide 6-1:报告主题
PPT 页面内容
代码理解报告:
若依权限与菜单模块
核心问题:
用户登录后,菜单、路由和按钮权限如何生效?
讲师逐字稿
今天最终实战,是生成一份代码理解报告。
报告主题是:若依权限与菜单模块。
核心问题是:用户登录后,菜单、路由和按钮权限如何生效?
这份报告不是 AI 聊天记录,而是可交接、可复核的工程文档。
Slide 6-2:报告结构
PPT 页面内容
报告包含:
模块职责
核心对象
目录与文件结构
核心调用链路
权限风险
操作日志风险
改造建议
不确定结论
讲师逐字稿
报告至少包含八部分。
模块职责、核心对象、目录与文件结构、核心调用链路、权限风险、操作日志风险、改造建议、不确定结论。
每个关键结论都要有依据文件或函数。
如果没有依据,就写到不确定点里。
Slide 6-3:模块职责写法
PPT 页面内容
不要写:
权限模块用于权限控制。
要写:
权限与菜单模块负责用户登录后加载角色、权限字符和动态路由,并根据角色菜单关系控制页面访问和按钮显示。
讲师逐字稿
模块职责不能写空话。
“权限模块用于权限控制”没有信息量。
合格写法要具体说明:权限与菜单模块负责用户登录后加载角色、权限字符和动态路由,并根据角色菜单关系控制页面访问和按钮显示。
同时要说明前端权限和后端权限的边界。
Slide 6-4:核心对象写法
PPT 页面内容
核心对象:
User 用户
Role 角色
Menu 菜单
Permission 权限字符
Dept 部门
OperLog 操作日志
讲师逐字稿
若依权限模块的核心对象是用户、角色、菜单、权限字符、部门和操作日志。
用户绑定角色,角色拥有菜单权限,菜单中包含权限字符,部门影响数据权限,操作日志记录敏感操作。
这些对象共同构成权限体系。
Slide 6-5:风险点写法
PPT 页面内容
不要写:
权限有风险。
要写:
风险:按钮权限只控制前端展示。
触发条件:
后端接口缺少权限校验。
影响:
用户可能绕过前端直接调用接口。
验证:
检查 Controller 是否有权限注解。
讲师逐字稿
风险点一定要具体。
“权限有风险”不是合格风险点。
合格风险点要包含风险描述、触发条件、影响范围和验证方式。
比如按钮权限只控制前端展示。触发条件是后端接口缺少权限校验。影响是用户可能绕过前端直接调用接口。验证方式是检查 Controller 是否有权限注解。
Slide 6-6:改造建议写法
PPT 页面内容
建议:
确保用户、角色、菜单等敏感接口均有后端权限校验
原因:
前端按钮隐藏不能作为安全边界
验收:
无权限用户直接请求接口时返回 403
讲师逐字稿
改造建议也要具体。
比如建议确保用户、角色、菜单等敏感接口均有后端权限校验。
原因是前端按钮隐藏不能作为安全边界。
验收标准是无权限用户直接请求接口时返回 403。
这样的建议才可以进入工程评审。
Slide 6-7:第 1 天最终交付物
PPT 页面内容
第 1 天交付物:
01_TRAE 使用边界清单
02_若依模块认知图
03_若依项目结构图
04_权限调用链路图
05_TRAE 输出校验清单
06_若依权限与菜单模块代码理解报告
讲师逐字稿
第 1 天最终交付六个产物。
第一,TRAE 使用边界清单。
第二,若依模块认知图。
第三,若依项目结构图。
第四,权限调用链路图。
第五,TRAE 输出校验清单。
第六,若依权限与菜单模块代码理解报告。
这些产物构成第一天的完整成果。