- 保存请求执行期间禁止切换:organization store 新增 saving/busy 与 beginSaving/endSaving,切换守卫与切换器禁用条件均由 switching 改为 busy - 切换提交时 abort 旧读请求:commitOrganizationId 内调用 abortReadRequests, 不再只在 resetOrganizationContext 里取消 - validateCandidate 仅将 403 视为候选失效,网络异常/500 等向上抛出; initialize 置 loadError,App 据此区分“加载失败”与“请先选择公司”并支持重试 - 补竞态与中止测试;需要写请求时旧响应仍被版本丢弃的用例改用 POST 覆盖
- 新增 company 请求上下文工具、organization store 与公司切换器 - axios 拦截器为组织级请求写入 X-Organization-ID 并校验上下文版本 - 切换公司用 AbortController 取消旧读请求,丢弃旧响应且不弹提示 - 路由与页面加公司初始化屏障,组织级页面按公司 ID + 版本挂载