datai-vue/docs/sessions/2026-01-26-002-split-session.md

33 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 会话记录
## 元数据
- 需求编号2026-01-26-002-03
- 开始时间2026-01-26
- 当前阶段:阶段 1需求定义与入库
- 更新时间2026-01-26
## 需求澄清与优化记录
### 1. 动态资源现状深度扫描
**扫描时间**2026-01-26
**扫描范围**
- Store: `src/store/modules/user.ts`, `permission.ts`
- API: `src/api/login.ts`, `menu.js`
- 路由处理: `src/permission.ts`
**关键发现**
1. **用户偏好获取**`user.ts` 的 `getInfo` Action 是获取用户信息的唯一入口,适合在此处插入获取用户语言偏好的逻辑。
2. **动态菜单处理**`permission.ts` 中的 `filterAsyncRouter` 负责将后端路由转换为组件对象,是植入菜单标题国际化的最佳切入点。
3. **资源加载时机**:应用初始化时(`main.ts` 或 `App.vue`)和语言切换时是加载远程资源的两个关键节点。
### 2. 需求文档精确化修订
根据扫描结果,对 [动态资源需求文档](../requirements/2026-01-26-002-03-前端国际化-动态资源.md) 进行了以下精确化修订:
- **细化 API 对接逻辑**:明确了 `LangSelect`、`userStore.getInfo`、`permissionStore.generateRoutes` 与后端接口的交互流程。
- **完善资源加载策略**:设计了 `loadRemoteMessages` 函数,处理分页获取全量数据、对象结构转换及 `mergeLocaleMessage` 合并逻辑。
- **缓存机制设计**:确定使用 `sessionStorage` 缓存远程资源,减少重复请求。
- **动态菜单方案**:制定了在 `filterAsyncRouter` 中尝试翻译 `meta.title` 的策略,解决后端数据不可变的问题。
## 生成的文档
- [前端国际化-动态资源](../requirements/2026-01-26-002-03-前端国际化-动态资源.md)