7.4 KiB
7.4 KiB
模块 4:第一天核心链路
graph TD
A[用户登录] --> B[获取 token]
B --> C[获取用户信息]
C --> D[获取菜单路由]
D --> E[生成动态路由]
E --> F[进入系统页面]
F --> G[根据权限字符控制按钮]
调用链路 8 个检查点
1. 页面入口
2. UI 组件
3. 事件函数
4. API 调用
5. 后端 Controller
6. Service/权限
7. 前端状态更新
8. 路由/按钮生效
登录认证链路示例
用户输入账号密码 → Login 页面提交 → 调用 login API → 后端认证用户 → 返回 token → 前端保存 token → request 拦截器携带 token
重点: token 存在哪里?拦截器在哪里带 token?token 失效后如何处理?
用户信息与权限加载链路
登录成功 → 调用 getInfo → 后端返回 user/roles/permissions → 前端保存用户信息 → 前端保存角色和权限字符 → 后续用于按钮权限判断
注意: 前端拿到权限字符只能控制页面展示,不能作为后端安全边界
动态路由加载链路
调用 getRouters → 后端返回菜单树 → 前端转换为路由对象 → 动态挂载路由 → 渲染侧边栏菜单 → 用户进入页面
按钮权限链路
菜单中配置权限字符 → 角色拥有该权限字符 → getInfo 返回 permissions → 前端权限指令/方法判断 → 控制按钮显示或隐藏
后端接口权限链路
前端按钮权限 → 只能控制 UI 展示
后端接口权限 → 必须控制真实访问
需要确认:Controller 是否有权限注解?Service 是否校验数据权限?
操作日志链路
管理员修改用户 → 调用后端接口 → Controller 执行业务 → 日志注解/AOP 记录操作 → 写入操作日志 → 操作日志页面查询
调用链路分析 Prompt
@workspace 请分析若依中"登录后菜单与按钮权限生效"的完整调用链路。
从用户登录开始,依次说明:
登录页面、登录API、token、getInfo、getRouters、
动态路由、侧边栏菜单、按钮权限、后端接口权限、不确定点。
每一步标注文件路径和函数名。
产出:若依权限调用链路图
- 登录认证链路图
- 用户信息加载链路图
- 动态菜单路由链路图
- 按钮权限链路图
- 后端接口权限链路图
- 操作日志链路图