feat: initialize TJWater WebGIS frontend

This commit is contained in:
2026-07-21 18:31:08 +08:00
commit ad5e5d3133
191 changed files with 37963 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
import { z } from "zod";
const runtimeBoolean = (defaultValue: boolean) =>
z
.enum(["true", "false"])
.default(defaultValue ? "true" : "false")
.transform((value) => value === "true");
const runtimeConfigSchema = z.object({
TJWATER_MAPBOX_ACCESS_TOKEN: z.string().default(""),
TJWATER_MAP_URL: z.string().url().default("https://geoserver.waternetwork.cn/geoserver"),
TJWATER_GEOSERVER_WORKSPACE: z.string().min(1).default("tjwater"),
TJWATER_AGENT_API_BASE_URL: z.string().url().default("http://127.0.0.1:8787"),
TJWATER_ENABLE_DEV_PANEL: runtimeBoolean(false),
TJWATER_ENABLE_MSW: runtimeBoolean(false)
});
declare global {
var __TJWATER_CONFIG__: unknown;
}
export type RuntimeConfig = z.infer<typeof runtimeConfigSchema>;
export function parseRuntimeConfig(value: unknown): RuntimeConfig {
return runtimeConfigSchema.parse(value ?? {});
}
export const env = parseRuntimeConfig(globalThis.__TJWATER_CONFIG__);