fix: 修复Docker环境下大屏地址硬编码问题

## 问题描述
Docker构建的admin镜像中大屏地址被错误硬编码,导致:
1. 容器内访问时指向错误的 /proxy-default/main 地址
2. 外网访问时无法正确跳转到大屏服务
3. 破坏了部署脚本的动态地址替换机制

## 根本原因
Dockerfile.prod 中错误设置了 VITE_BIGSCREEN_URL,覆盖了部署脚本的动态替换逻辑:
- 原设置:ENV VITE_BIGSCREEN_URL=/proxy-default(错误)
- 应该保持:使用可被部署脚本替换的占位符地址

## 解决方案

### 1. 修复Dockerfile构建配置
- 使用 `http://localhost:8001` 作为可识别的占位符
- 避免硬编码具体IP地址或错误的代理路径
- 保持与现有部署脚本的兼容性

### 2. 部署流程说明
正确的部署流程应该是:
1. Docker构建时:使用 `http://localhost:8001` 占位符
2. 容器启动后:`deploy-client.sh` 调用 `replace-bigscreen-url.sh`
3. 动态替换:将JS文件中的 `localhost:8001` 替换为实际地址
4. 支持场景:
   - Docker内访问:使用容器间通信地址
   - 外网访问:使用外部可访问的IP和端口

### 3. 技术优势
- ✅ 不破坏现有部署脚本逻辑
- ✅ 支持不同网络环境的灵活配置
- ✅ 避免硬编码IP地址的维护问题
- ✅ 保持构建镜像的通用性

## 验证方法
1. 检查构建时的占位符:镜像中包含 `localhost:8001`
2. 检查部署后的替换:JS文件中的地址被正确替换
3. 测试大屏跳转:点击大屏链接能正确打开目标地址

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
This commit is contained in:
BrunoGao
2025-09-07 00:15:01 +08:00
co-authored by Claude
parent 342f9958aa
commit 70f53794d1
+2 -1
View File
@@ -34,7 +34,8 @@ COPY . .
# 设置生产环境变量确保正确的代理配置
ENV VITE_HTTP_PROXY=Y
ENV VITE_SERVICE_BASE_URL=/proxy-default
ENV VITE_BIGSCREEN_URL=/proxy-default
# ENV VITE_BIGSCREEN_URL 由部署脚本动态替换,使用易于识别的占位符
ENV VITE_BIGSCREEN_URL=http://localhost:8001
ENV VITE_OTHER_SERVICE_BASE_URL='{"demo": "/proxy-default"}'
# 添加缺失的关键环境变量
ENV VITE_SERVICE_SUCCESS_CODE=200