33 lines
1.7 KiB
Markdown
33 lines
1.7 KiB
Markdown
# 会话记录
|
||
|
||
## 元数据
|
||
- 需求编号: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)
|