Skip to content
  • laoin's avatar
    9342ba33
    feat: 前后端接口联通(需求 5.1~5.3),超出范围的能力保持前端原样 · 9342ba33
    由 laoin 创作于
    把前端 contract 通道接到后端 REST,接缝集中在 core/api/transports,业务代码零改动:
    
    - 新增 HTTP 传输层(transports/http.ts):app.info→/api/health、
      record.import→/api/imports[/upload]、record.get→元数据+通道+诊断、
      record.traces→waveform+digital+markers(显式传 indices 取全量通道)、
      record.close→/unload;后端错误码(FIL-/CFG-/DAT-/REQ-)原样透传
    - 新增后端契约类型镜像(backendTypes.ts)与纯映射(backendAdapter.ts):
      通道 index→id(与波形 channelId 同口径)、角色→相别/量纲/中文展示名、
      诊断 fatal/warning/info→error/warning/info、null 采样值→NaN、
      秒(相对首采样点)→毫秒(相对触发时刻)
    - 超出后端范围的能力(5.4/5.5 分析、5.6 报告、5.7 案例、专家标注、脱敏导出)
      与 ZIP 导入:**保持前端原有实现不变**。传输新增 handles() 声明自己能处理的
      通道,bridge 用 createFallbackTransport 组合演示态 mock(fallback.ts),
      后端没有的能力原样由 mock 接管,分析/案例等页面行为与接入前一致,
      业务代码与这些页面一行未改
    - bridge 改为显式传输解析(mock/tauri/http),修正默认端口 8731→8000;
      dev 默认连 http://127.0.0.1:8000,演示态改用 VITE_BACKEND=mock
    - 服务未启动返回 FE-BRIDGE-005(带启动命令提示);无兜底时超范围通道仍抛
      FE-BRIDGE-004(防御分支,已单测)
    - 真实文件才有的无效采样点(null)按断线绘制:不参与包络极值、不跨断点连线
    - 导入页增加“本地解析服务未连接”常驻提示;README 补充联调方式与能力边界说明
    - 新增单测 40 例(backendAdapter/http/importGroups/fallback/decimate NaN),共 59 例全绿
    - 顺带修复既有阻断项:lanes.ts 未使用变量导致 pnpm typecheck 失败;
      路由组合根移出 core(core/router/index.tsx → src/router.tsx)以符合
      “core 不得依赖 features”的架构约束
    9342ba33
    feat: 前后端接口联通(需求 5.1~5.3),超出范围的能力保持前端原样
    由 laoin 创作于
    把前端 contract 通道接到后端 REST,接缝集中在 core/api/transports,业务代码零改动:
    
    - 新增 HTTP 传输层(transports/http.ts):app.info→/api/health、
      record.import→/api/imports[/upload]、record.get→元数据+通道+诊断、
      record.traces→waveform+digital+markers(显式传 indices 取全量通道)、
      record.close→/unload;后端错误码(FIL-/CFG-/DAT-/REQ-)原样透传
    - 新增后端契约类型镜像(backendTypes.ts)与纯映射(backendAdapter.ts):
      通道 index→id(与波形 channelId 同口径)、角色→相别/量纲/中文展示名、
      诊断 fatal/warning/info→error/warning/info、null 采样值→NaN、
      秒(相对首采样点)→毫秒(相对触发时刻)
    - 超出后端范围的能力(5.4/5.5 分析、5.6 报告、5.7 案例、专家标注、脱敏导出)
      与 ZIP 导入:**保持前端原有实现不变**。传输新增 handles() 声明自己能处理的
      通道,bridge 用 createFallbackTransport 组合演示态 mock(fallback.ts),
      后端没有的能力原样由 mock 接管,分析/案例等页面行为与接入前一致,
      业务代码与这些页面一行未改
    - bridge 改为显式传输解析(mock/tauri/http),修正默认端口 8731→8000;
      dev 默认连 http://127.0.0.1:8000,演示态改用 VITE_BACKEND=mock
    - 服务未启动返回 FE-BRIDGE-005(带启动命令提示);无兜底时超范围通道仍抛
      FE-BRIDGE-004(防御分支,已单测)
    - 真实文件才有的无效采样点(null)按断线绘制:不参与包络极值、不跨断点连线
    - 导入页增加“本地解析服务未连接”常驻提示;README 补充联调方式与能力边界说明
    - 新增单测 40 例(backendAdapter/http/importGroups/fallback/decimate NaN),共 59 例全绿
    - 顺带修复既有阻断项:lanes.ts 未使用变量导致 pnpm typecheck 失败;
      路由组合根移出 core(core/router/index.tsx → src/router.tsx)以符合
      “core 不得依赖 features”的架构约束
加载中