# 超图服务地址配置说明 ## 配置方式 超图服务地址现在支持通过环境变量配置,无需修改代码即可适配不同的部署环境。 ## 配置文件位置 ### 开发环境配置 文件:`.env.development` ```bash VITE_SUPERMAP_HOST=localhost VITE_SUPERMAP_PORT=8090 ``` ### 生产环境配置 文件:`.env.production` ```bash VITE_SUPERMAP_HOST=106.15.124.118 # 修改为实际超图服务器地址 VITE_SUPERMAP_PORT=8090 ``` ### 自定义完整地址 如果需要使用完整的地址(例如包含域名或特定路径),可以在配置文件中添加: ```bash VITE_SUPERMAP_BASE_URL=http://your-domain.com:8090 ``` ## 使用步骤 ### 1. 开发环境 开发环境默认使用 `localhost:8090`,无需修改。 如果本地超图服务地址不同,修改 `.env.development` 文件: ```bash VITE_SUPERMAP_HOST=192.168.1.100 VITE_SUPERMAP_PORT=8090 ``` ### 2. 生产环境部署 **方式一:修改配置文件后打包** 1. 修改 `.env.production` 文件中的超图服务器地址 2. 执行打包命令:`npm run build:prod` 3. 将打包后的 `dist` 目录部署到服务器 **方式二:打包后动态修改(不推荐)** 打包后的配置是静态的,无法动态修改。建议使用方式一。 ## 配置项说明 | 配置项 | 说明 | 默认值 | |--------|------|--------| | `VITE_SUPERMAP_HOST` | 超图服务器地址 | localhost | | `VITE_SUPERMAP_PORT` | 超图服务器端口 | 8090 | | `VITE_SUPERMAP_BASE_URL` | 完整的服务地址(可选) | http://${HOST}:${PORT} | ## 影响的服务 以下服务地址会自动使用配置的超图服务器地址: ### 基础地理实体 - 建筑矢量瓦片 - 土壤矢量瓦片 - 河流矢量瓦片 - 流域矢量瓦片 ### 公共服务 - 水下地形 ### 注意 超图官方在线服务(如CBD、倾斜摄影等)仍然使用固定的在线地址,不受此配置影响。 ## 验证配置 启动前端后,在浏览器控制台可以看到超图服务配置信息: ``` 超图服务配置: { host: "106.15.124.118", port: "8090", baseUrl: "http://106.15.124.118:8090" } ``` ## 不同环境配置示例 ### 本地开发 ```bash VITE_SUPERMAP_HOST=localhost VITE_SUPERMAP_PORT=8090 ``` ### 测试环境 ```bash VITE_SUPERMAP_HOST=192.168.1.100 VITE_SUPERMAP_PORT=8090 ``` ### 生产环境 ```bash VITE_SUPERMAP_HOST=supermap.example.com VITE_SUPERMAP_PORT=8090 # 或使用完整地址 VITE_SUPERMAP_BASE_URL=http://supermap.example.com:8090 ``` ## 常见问题 ### Q: 修改配置后需要重新打包吗? A: 是的。环境变量在打包时会被编译进代码,修改配置后需要重新执行 `npm run build:prod`。 ### Q: 可以在运行时动态修改吗? A: 不可以。Vite的环境变量是静态配置,在打包时就已确定。如果需要动态配置,建议使用数据库存储服务地址。 ### Q: 如何确认配置生效? A: 打开浏览器控制台,查看启动时打印的配置信息,或检查网络请求中的服务地址。 ## 进阶:数据库动态配置(可选) 如果需要更灵活的动态配置,可以将服务地址存储在数据库中,通过后端API获取。实现方式: 1. 在数据库表 `watershed_service` 中存储服务地址 2. 前端启动时通过API获取配置 3. 动态更新服务地址 这种方式可以实现无需重新打包即可修改配置,适合多租户或需要频繁修改的场景。