@@ -68,7 +68,9 @@ export const dataSourceConfig = {
|
||||
sgsSdkScriptUrl: normalizeUrl(import.meta.env.VITE_SGS_SDK_SCRIPT_URL, defaultSdkScriptUrl),
|
||||
sgsMapEngineUrl: normalizeUrl(import.meta.env.VITE_SGS_H5_ENGINE_URL, defaultSgsEngineUrl),
|
||||
sgsSdkTargetOrigin: import.meta.env.VITE_SGS_SDK_ORIGIN?.trim() || '',
|
||||
sgsSdkTimeoutMs: normalizeTimeout(import.meta.env.VITE_SGS_SDK_TIMEOUT_MS)
|
||||
sgsSdkTimeoutMs: normalizeTimeout(import.meta.env.VITE_SGS_SDK_TIMEOUT_MS),
|
||||
publicSameOriginAssetHost: import.meta.env.VITE_PUBLIC_SAME_ORIGIN_ASSET_HOST?.trim() || '',
|
||||
publicLegacyAudioHost: import.meta.env.VITE_PUBLIC_LEGACY_AUDIO_HOST?.trim() || ''
|
||||
}
|
||||
|
||||
export const isSgsSdkMode = () => dataSourceConfig.mode === 'sdk'
|
||||
|
||||
3
src/env.d.ts
vendored
3
src/env.d.ts
vendored
@@ -1,6 +1,7 @@
|
||||
/// <reference types="vite/client" />
|
||||
|
||||
interface ImportMetaEnv {
|
||||
readonly VITE_APP_PUBLIC_BASE?: string
|
||||
readonly VITE_DATA_SOURCE_MODE?: 'static' | 'api' | 'sdk'
|
||||
readonly VITE_GUIDE_CONTENT_SOURCE_MODE?: 'static' | 'remote' | 'mock'
|
||||
readonly VITE_GUIDE_STATIC_DATA_BASE_URL?: string
|
||||
@@ -14,6 +15,8 @@ interface ImportMetaEnv {
|
||||
readonly VITE_SGS_SDK_ORIGIN?: string
|
||||
readonly VITE_SGS_SDK_TIMEOUT_MS?: string
|
||||
readonly VITE_TENCENT_MAP_KEY?: string
|
||||
readonly VITE_PUBLIC_SAME_ORIGIN_ASSET_HOST?: string
|
||||
readonly VITE_PUBLIC_LEGACY_AUDIO_HOST?: string
|
||||
}
|
||||
|
||||
interface ImportMeta {
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
"sdkConfigs": {
|
||||
"maps": {
|
||||
"qqmap": {
|
||||
"key": "EJPBZ-DQEEQ-PDN5U-4ZDVX-F4I3F-6MBJC"
|
||||
"key": "__REPLACE_WITH_TENCENT_MAP_WEB_KEY__"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,8 @@ const resolveSgsAssetUrl = (url?: string | null) => {
|
||||
try {
|
||||
const assetUrl = new URL(normalizedUrl)
|
||||
if (
|
||||
assetUrl.hostname === '1.92.206.90'
|
||||
dataSourceConfig.publicSameOriginAssetHost
|
||||
&& assetUrl.hostname === dataSourceConfig.publicSameOriginAssetHost
|
||||
&& assetUrl.port === '9000'
|
||||
&& assetUrl.pathname.startsWith('/museum-assets/')
|
||||
) {
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
* 用于 POI 搜索、地址解析、路线规划等
|
||||
*/
|
||||
|
||||
// 优先从环境变量读取 API Key,回退到硬编码值(仅用于开发环境)
|
||||
const TENCENT_MAP_KEY = import.meta.env.VITE_TENCENT_MAP_KEY || 'EJPBZ-DQEEQ-PDN5U-4ZDVX-F4I3F-6MBJC'
|
||||
const TENCENT_MAP_KEY = import.meta.env.VITE_TENCENT_MAP_KEY?.trim() || ''
|
||||
const TENCENT_MAP_BASE_URL = 'https://apis.map.qq.com/ws'
|
||||
const TENCENT_DIRECTION_BASE_URL = `${TENCENT_MAP_BASE_URL}/direction/v1`
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const SAME_SERVER_HOST = '1.92.206.90'
|
||||
const LEGACY_AUDIO_HOST = '47.120.48.148'
|
||||
import {
|
||||
dataSourceConfig
|
||||
} from '@/config/dataSource'
|
||||
|
||||
const isAbsoluteHttpUrl = (url: string) => /^https?:\/\//i.test(url)
|
||||
|
||||
@@ -9,7 +10,8 @@ export const normalizeSameOriginPublicUrl = (url: string | null | undefined) =>
|
||||
|
||||
try {
|
||||
const parsed = new URL(value)
|
||||
const isSameServer = parsed.hostname === SAME_SERVER_HOST
|
||||
const isSameServer = Boolean(dataSourceConfig.publicSameOriginAssetHost)
|
||||
&& parsed.hostname === dataSourceConfig.publicSameOriginAssetHost
|
||||
|
||||
if (
|
||||
isSameServer
|
||||
@@ -31,7 +33,8 @@ export const normalizeSameOriginPublicUrl = (url: string | null | undefined) =>
|
||||
}
|
||||
|
||||
if (
|
||||
parsed.hostname === LEGACY_AUDIO_HOST
|
||||
dataSourceConfig.publicLegacyAudioHost
|
||||
&& parsed.hostname === dataSourceConfig.publicLegacyAudioHost
|
||||
&& parsed.port === '19000'
|
||||
&& parsed.pathname.startsWith('/nhm/audio/')
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user