Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 1m23s
核心设计: oils.en_name (DB) 是唯一数据源
读取链路 (全部统一):
- 精油价目: getEnglishName → oilsMeta.enName → oilEn()
- 配方卡片: getCardOilName → oilsMeta.enName → oilEn()
- 翻译编辑器: openTranslationEditor → oilsMeta.enName
写入链路 (全部写同一个字段):
- 精油价目编辑: saveEditOil → oilsStore.saveOil → oils.en_name → loadOils
- 配方卡翻译: applyTranslation → oilsStore.saveOil → oils.en_name → loadOils
- 配方名翻译: applyTranslation → PUT /api/recipes/{id} → recipes.en_name → loadRecipes
保存后:
- await Promise.all([loadOils(), loadRecipes()]) 刷新所有数据
- 下次任何地方渲染都读到最新值
- customOilNameEn 只在编辑器打开期间有效,关闭后丢弃
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>