Files
frontend-miniapp/static/sgs-map-sdk/CHANGELOG.md
lyf e473b6a2a5
Some checks failed
CI / verify (push) Has been cancelled
升级 SGS 地图 SDK 至 2.4.1
2026-07-13 11:00:04 +08:00

7.0 KiB
Raw Blame History

SGS Map SDK Changelog

[2.4.1] - 2026-07-01

Phase 2: 高层导航API (2026-07-01)

新增功能

  • POI间导航API:新增 planRouteToPoiplanRouteBetweenPois 方法支持直接通过POI ID完成导航
  • 后端能力扩展:新增 /routes/plan-to-poi/routes/plan-between-pois 接口自动查询POI坐标
  • Manifest能力声明:新增 routeToPoirouteDiagnosticssdkRuntimeCache 能力字段
  • 错误码标准化新增路线规划专用错误码1009012000段提供友好的错误提示

Phase 1: 导航稳定性修复

Bug Fixes

  • P0-1: Fixed same-floor route not rendering in Handoff mode (currentFloorPointsArray was dead code)
  • P0-2: Fixed CLEAR_ROUTE incomplete state cleanup (10 states now fully reset)
  • Fixed route overlay when planning consecutive routes

Improvements

  • Added ON_ROUTE_READY event dispatch after successful PLAN_ROUTE
  • Added preferElevator option to RouteOptions
  • SDK version bumped to 2.4.1

[2.4.0] - 2026-06-27

🚀 新特性 (New Features)

  • 业务 POI 接口与扩展机制:新增 getBusinessPois 获取商户级业务 POI新增 queryPois 支持按地图、楼层、分组、类型、关键词进行组合查询,实现与底层空间基础设施数据解耦。
  • 特色动线查询与展示:新增 getFeaturedRoutes / getFeaturedRoute 接口获取馆方精选路线,新增 showFlowline / clearFlowline 接口提供跨层全局鸟瞰特色动线展示功能。
  • 独立 H5 渲染引擎包 (SDK Engine):新增 sdk-engine/ 独立打包构建目录,支持静态编译输出至静态 engine/ 目录。底座不依赖 Next.js 前端路由及 hydration 状态限制,由宿主系统通过 iframe 挂载 ../engine/index.html 独立运行。
  • 配置与数据解耦:底座数据服务入口由 server 查询参数动态指定,静态部署后可通过 ?server=http://localhost:3001 指向任意数据服务地址,彻底解耦。

🐞 修复与强化 (Fixes & Improvements)

  • 解耦 Next.js 依赖:底座引擎完全脱离 Next.js / Zustand 等大体积依赖精简为极速加载的原生单页应用Vite + React
  • 优化发包构建管线:重新梳理 package.json scripts将 SDK Bridge 与 SDK Engine 打包构建命令在命令行端进行解耦和串联(npm run build:sdk),优化了 scripts/copy-sdk.js 拷贝管线,避免嵌套与死循环构建。
  • 演示 Demo 改造:修改 SDK 官方 Demo 的 app.js 使其默认消费静态 ../engine/index.html 渲染底座,并开启 server 参数透传及 targetOrigin: '*' 确权广播,实现宿主与静态底座零配置无缝通信。

[2.3.0] - 2026-06-23

🚀 新特性 (New Features)

  • Manifest Capabilities 扩展:新增 9 个 v2.3 标准能力字段(mapLoading, floorSwitching, poiQuery, spaceQuery, navigablePlaces, crossFloorRoute, accessibleRoute, highlight, diagnostics),前端可按需判断后端支持的功能。
  • 诊断接口 (Diagnostics API):新增地图级和楼层级诊断接口,实时检查数据完整性和就绪状态:
    • sdk.getDiagnostics() - 获取地图整体诊断信息(包含所有楼层摘要和汇总统计)
    • sdk.getFloorDiagnostics(floorId) - 获取单个楼层的详细诊断信息
    • 诊断信息包含模型就绪状态、POI数量、空间面数量、讲解点数量、可导航目的地数量、路网节点/边数量、路径规划就绪状态、警告列表
  • 统一状态枚举:诊断接口状态统一为 OK / WARN / ERROR,提供清晰的健康状态指示

🐞 修复与强化 (Fixes & Improvements)

  • 修复阻断问题Manifest 正常流程补齐 v2.3 capabilities 字段设置,修复所有新增字段返回 null 的问题
  • 楼层级统计准确性修复:修复楼层诊断中 guideStopCount 缺少 floorId 过滤,现在正确按楼层统计而非全馆统计
  • 地图级 summary 完善:补齐地图级诊断 summary 的 4 个统计项(modelReadyFloorCount, poiCount, spaceCount, guideStopCount),现在包含完整的 8 个统计维度
  • H5 Bridge 消息处理:新增 GET_DIAGNOSTICSGET_FLOOR_DIAGNOSTICS 消息处理,完整支持诊断功能

📝 类型定义更新

  • 新增 SgsMapDiagnostics 接口(地图级诊断响应)
  • 新增 SgsFloorDiagnostics 接口(楼层级诊断响应)
  • 新增 SgsFloorDiagnosticsSummary 接口(楼层诊断摘要)
  • 扩展 SgsSdkManifest.capabilities 类型定义,包含所有 v2.3 标准字段

🔧 后端接口新增

  • GET /app-api/gis/sdk/maps/{mapId}/diagnostics - 地图级诊断
  • GET /app-api/gis/sdk/floors/{floorId}/diagnostics - 楼层级诊断

[2.2.0] - 2026-06-19

🚀 新特性 (New Features)

  • 性能监控与埋点治理:新增底层加载耗时记录(如 sdkCreatedAt, iframeDomReadyMs, engineReadyMs, manifestLoadMs, modelDownloadAndParseMs),提供完整的控制台性能概览面板。
  • Demo 全面重构Kiosk Demo 与 Mobile Demo 引入非阻塞型 Loading 遮罩层,提升了白屏阶段的 UI 可交互体验。

🐞 修复与强化 (Fixes & Improvements)

  • SDK 发布管线加固:构建体系重构,每次 Build 将自动清空并同步覆盖 public/sdk/ 与发版包中的产物,修正了 Source Map 的内部指向错误,彻底杜绝了旧类型定义的残留。
  • 深度清理所有旧版硬编码版本号注释,统一向 v2.2.0 API 规范拉齐。
  • 对齐了前后端 SDK Payload 返回值 VO 定义。

[2.0.0] - 2026-06-12

🚀 新特性 (New Features)

  • 双域双向通信架构:采用不可见 iframe 挂载基座,通过安全沙箱和 postMessage 握手进行通信,从源头上解决 WebGL Context 内存泄漏和生命周期挂起问题。
  • 动态点位系统 (Markers API):新增 addMarker / removeMarker / clearMarkers 接口,支持锚定三维节点(防模型漂移)和绝对坐标系定位。
  • 异步寻路确权系统planRoutechangeFloor 升级为基于 requestId 的 Promise 异步确权模式,支持 Timeout 拦截机制。
  • 高精模型与坐标系重构:全面接入米级统一坐标系(废弃 CAD 毫米系),支持多楼层分层物理拆分加载。

🐞 修复与强化 (Fixes & Improvements)

  • HELLLOENGINE_READY 双向握手协议对齐。
  • targetOrigin 自动推导增强,严格拦截非法的跨域源消息,免疫跨站攻击。
  • SDK Iframe 生命周期的 onerror 捕捉增强,能正确派发 loadError 事件。
  • 补齐了丢失的 floorChanged 运行时事件透传。
  • 完善 package.json 工程化暴露,同时提供 IIFE 与 ESM 产物开启源码映射SourceMap
  • addMarker 接口强制引入强类型定义 MarkerConfig

🗑️ 废弃与移除 (Deprecations)

  • 彻底移除半成品接口 startNavigateAnim / stopNavigateAnim
  • 彻底移除废弃接口 addBusinessMarker / removeBusinessMarker,统一收编为 addMarker