# 模块 2:四类上下文
**@workspace:找路** — 找入口、文件、模块
**#File:看文件** — 分析文件间调用关系
**#Code:抠细节** — 分析某个方法
**#Web:查外部** — 查框架文档,但必须回代码验证
--- # 上下文选择决策树
| 你现在的问题 | 优先引用 | 典型指令 | |---|---|---| | 不知道入口在哪 | @workspace | 先找相关文件和函数,不要下结论 | | 已经知道关键文件 | #File | 分析这些文件之间的调用关系 | | 某个函数行为不清 | #Code | 拆参数、分支、异常和副作用 | | 项目内没有依据 | #Web | 查框架资料,再回代码验证 |
判断原则:先宽后窄,先找路再聚焦,先项目证据再外部资料。
--- # @workspace 找路示例
``` @workspace 请找出若依中与"用户登录后菜单路由生成"相关的前后端文件。 要求:标注文件路径 · 标注函数或类名 · 区分事实和推测 · 列出不确定点 ```
--- # @workspace 输出验收
| 合格输出 | 不合格输出 | |---|---| | 列出文件路径和函数/类名 | 只说“大概在权限模块” | | 区分前端、后端、配置文件 | 把前后端逻辑混在一起 | | 标注依据和不确定点 | 直接给安全结论 | | 给出下一步建议引用哪些文件 | 一次性要求 AI 修改代码 |
最低证据:至少定位 3 个前端文件、2 个后端文件,以及 1 条权限或日志相关依据。
--- # #File 聚焦示例
``` #File 请分析这些文件中登录、用户信息、菜单路由的调用关系。 重点:谁调用login · 谁调用getInfo · 谁调用getRouters · 权限信息保存在哪里 · 路由在哪里动态生成 ```
--- # #File 调用链模板
```md #File 请基于已选文件输出调用链: 1. 入口动作:用户点击了什么 2. 前端函数:调用哪个 API 方法 3. 请求接口:method + url 4. 后端入口:Controller 类和方法 5. 业务处理:Service/Mapper 关键方法 6. 权限与日志:注解、拦截器或 AOP 依据 7. 不确定点:哪些文件仍需补充引用 ```
--- # #Code 抠细节示例
``` #Code 请分析 handleLogin 函数。 重点:参数来源 · 调用哪个API · token如何保存 · 失败如何处理 · loading是否恢复 · 登录成功后跳转哪里 ```
--- # #Code 细节检查清单
输入
参数来源、默认值、空值、权限字符
分支
成功、失败、取消、异常、无权限
副作用
token、store、路由、列表刷新、日志
恢复
loading、弹窗、错误提示、状态回滚
--- # #Web 使用边界
**可查:** Spring Security 权限实践 · Vue Router 动态路由 · 前端按钮权限最佳实践 **但:** 若依当前实现必须回到代码验证。外部资料只能提供参考,不能替代项目事实。