feat: build vehicle data platform and production pipeline
This commit is contained in:
@@ -4,15 +4,55 @@ export type AMapRuntimeConfig = {
|
||||
securityServiceHost: string;
|
||||
};
|
||||
|
||||
export type AppRuntimeConfig = AMapRuntimeConfig & {
|
||||
apiBaseUrl: string;
|
||||
prototypeUseRealData: boolean;
|
||||
};
|
||||
|
||||
function runtimeConfig() {
|
||||
return window.__LINGNIU_APP_CONFIG__ ?? {};
|
||||
}
|
||||
|
||||
function boolFromConfig(value: unknown, defaultValue: boolean) {
|
||||
if (value == null || value === '') {
|
||||
return defaultValue;
|
||||
}
|
||||
if (typeof value === 'boolean') {
|
||||
return value;
|
||||
}
|
||||
return !['0', 'false', 'off', 'no'].includes(String(value).trim().toLowerCase());
|
||||
}
|
||||
|
||||
export function getAMapConfig(): AMapRuntimeConfig {
|
||||
const runtime = window.__LINGNIU_APP_CONFIG__ ?? {};
|
||||
const runtime = runtimeConfig();
|
||||
return {
|
||||
webJsKey: String(runtime.amapWebJsKey || import.meta.env.VITE_AMAP_WEB_JS_KEY || '').trim(),
|
||||
securityJsCode: String(runtime.amapSecurityJsCode || '').trim(),
|
||||
securityServiceHost: String(runtime.amapSecurityServiceHost || '').trim()
|
||||
securityJsCode: String(runtime.amapSecurityJsCode || import.meta.env.VITE_AMAP_SECURITY_JS_CODE || '').trim(),
|
||||
securityServiceHost: String(runtime.amapSecurityServiceHost || import.meta.env.VITE_AMAP_SECURITY_SERVICE_HOST || '').trim()
|
||||
};
|
||||
}
|
||||
|
||||
export function isAMapConfigured(config = getAMapConfig()) {
|
||||
return Boolean(config.webJsKey);
|
||||
}
|
||||
|
||||
export function getAppConfig(): AppRuntimeConfig {
|
||||
const runtime = runtimeConfig();
|
||||
const amap = getAMapConfig();
|
||||
return {
|
||||
...amap,
|
||||
apiBaseUrl: String(runtime.apiBaseUrl || import.meta.env.VITE_API_BASE_URL || '').trim().replace(/\/$/, ''),
|
||||
prototypeUseRealData: boolFromConfig(
|
||||
runtime.prototypeUseRealData ?? import.meta.env.VITE_PROTOTYPE_REAL_DATA,
|
||||
true
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
export function getApiBaseUrl(config = getAppConfig()) {
|
||||
return config.apiBaseUrl;
|
||||
}
|
||||
|
||||
export function shouldUsePrototypeRealData(config = getAppConfig()) {
|
||||
return config.prototypeUseRealData;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user