升级 SGS Map SDK 至 2.5.0
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
lyf
2026-07-16 09:43:52 +08:00
parent 6db0b71562
commit 72885b7f54
23 changed files with 1274 additions and 61 deletions

View File

@@ -0,0 +1,33 @@
import { existsSync, readFileSync } from 'node:fs'
import { resolve } from 'node:path'
import { describe, expect, it } from 'vitest'
const sdkDirectory = resolve(process.cwd(), 'static/sgs-map-sdk')
const readSdkFile = (name: string) => readFileSync(resolve(sdkDirectory, name), 'utf8')
describe('SGS Map SDK 2.5.0 release contract', () => {
it('keeps the local package, bridge self-report, and default Engine path aligned', () => {
const packageJson = JSON.parse(readSdkFile('package.json')) as { version: string }
const bridge = readSdkFile('index.global.js')
const dataSource = readFileSync(resolve(process.cwd(), 'src/config/dataSource.ts'), 'utf8')
expect(packageJson.version).toBe('2.5.0')
expect(bridge).toContain('"2.5.0"')
expect(bridge).toContain('/engine/index.html')
expect(dataSource).toContain("SGS_MAP_SDK_VERSION = '2.5.0'")
expect(dataSource).toContain("const defaultSgsEngineUrl = '/engine/index.html'")
})
it('ships every runtime bridge artifact required by the flattened package', () => {
[
'index.global.js',
'index.global.js.map',
'index.mjs',
'index.mjs.map',
'index.d.ts',
'index.d.mts'
].forEach((file) => {
expect(existsSync(resolve(sdkDirectory, file))).toBe(true)
})
})
})

View File

@@ -32,8 +32,8 @@ const createHarness = async () => {
const service = new SgsMapService({
container: {} as HTMLElement,
scriptUrl: '/static/sgs-map-sdk/index.global.js?v=2.4.1',
sdkUrl: '/h5-sdk',
scriptUrl: '/static/sgs-map-sdk/index.global.js?v=2.5.0',
sdkUrl: '/engine/index.html',
targetOrigin: 'https://map.example.com',
floorId: 'L1',
timeout: 7000
@@ -42,19 +42,31 @@ const createHarness = async () => {
await vi.waitFor(() => expect(SDKConstructor).toHaveBeenCalledOnce())
listeners.get('ready')?.({
engineVersion: '2.4.1',
engineVersion: '2.5.0',
protocolVersion: 2
} as never)
await ready
return { sdk, service }
return { sdk, service, SDKConstructor }
}
beforeEach(() => {
loadSgsMapScript.mockReset()
})
describe('SGS Map SDK 2.4.1 service adapter', () => {
describe('SGS Map SDK 2.5.0 service adapter', () => {
it('向 SDK 构造器传入完整的 Engine 桥接配置', async () => {
const { SDKConstructor } = await createHarness()
expect(SDKConstructor).toHaveBeenCalledWith({
container: expect.any(Object),
sdkUrl: '/engine/index.html',
targetOrigin: 'https://map.example.com',
floorId: 'L1',
timeout: 7000
})
})
it('透传楼层强制刷新选项和统一命令超时', async () => {
const { sdk, service } = await createHarness()