refactor: 重构数据层支持 SGS SDK 集成

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
lyf
2026-06-26 04:21:12 +08:00
parent a7413ee037
commit 15fbbec12d
16 changed files with 762 additions and 54 deletions

View File

@@ -1,5 +1,5 @@
export type SgsMapNode =
| { type: 'coord'; floorId: number; x: number; z: number; y?: number }
| { type: 'coord'; floorId: string | number; x: number; z: number; y?: number }
| { type: 'poiId'; value: number }
| { type: 'nodeName'; value: string }
@@ -27,14 +27,14 @@ export interface SgsMapSDKOptions {
container: string | HTMLElement
sdkUrl?: string
targetOrigin?: string
floorId?: number
floorId?: string | number
timeout?: number
}
export interface SgsMapEvents {
ready: { engineVersion: string; protocolVersion: number }
poiClick: { id?: number; poiId?: number; name: string; type: string; floorId?: number; description?: string }
floorChanged: { floorId: number }
poiClick: { id?: number; poiId?: number; name: string; type: string; floorId?: string | number; description?: string }
floorChanged: { floorId: string | number }
error: { code: string; message: string }
loadError: { type: string; detail: string }
}
@@ -63,9 +63,9 @@ export interface SgsMapSDKInstance {
on<K extends keyof SgsMapEvents>(event: K, listener: (payload: SgsMapEvents[K]) => void): void
off<K extends keyof SgsMapEvents>(event: K, listener: (payload: SgsMapEvents[K]) => void): void
getIsReady(): boolean
getCurrentFloor(): number
getCurrentFloor(): string | number
focusTo(node: SgsMapNode | string): void
changeFloor(floorId: number, timeout?: number): Promise<{ success: boolean; floorId: number }>
changeFloor(floorId: string | number, timeout?: number): Promise<{ success: boolean; floorId: string | number }>
addMarker(config: SgsMarkerConfig): void
removeMarker(markerId: string): void
clearMarkers(): void