使用DOCKER环境变量替换网关链接
This commit is contained in:
@@ -1,12 +1,3 @@
|
||||
|
||||
#后台地址
|
||||
VITE_GLOB_API_URL=https://api.xjygjk.com
|
||||
#健康监测工具报警-websocket
|
||||
VITE_GLOB_API_YIN_JI=wss://api.xjygjk.com/health-watch/websocket/watchMonitor
|
||||
#应急求助-websocket
|
||||
VITE_GLOB_API_JIAN_CE=wss://api.xjygjk.com/health-emergency/websocket/emergency
|
||||
|
||||
#西安云坐席
|
||||
VITE_GLOB_API_XIAN_YUN=wss://api.xjygjk.com/health-emergency/websocket/emergency3
|
||||
#银川云坐席
|
||||
VITE_GLOB_API_YIN_CHUAN=wss://api.xjygjk.com/health-emergency/websocket/emergency4
|
||||
+12
-1
@@ -2,6 +2,9 @@ FROM nginx
|
||||
MAINTAINER jeecgos@163.com
|
||||
VOLUME /tmp
|
||||
ENV LANG en_US.UTF-8
|
||||
|
||||
ENV VITE_GLOB_API_URL https://api.xjygjk.com
|
||||
|
||||
RUN echo "server { \
|
||||
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
|
||||
location / { \
|
||||
@@ -18,4 +21,12 @@ RUN echo "server { \
|
||||
&& mkdir -p /var/www/html
|
||||
|
||||
ADD dist/ /var/www/html/
|
||||
EXPOSE 3101
|
||||
|
||||
# 👇 新增:复制启动脚本(用于运行时替换环境变量)
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
# 使用脚本作为入口点
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
# 设置默认值(构建时 .env 不生效时兜底)
|
||||
: ${VITE_GLOB_API_URL:=https://api.xjygjk.com}
|
||||
|
||||
# 替换 index.html 中的占位符
|
||||
sed -i "s@__VITE_GLOB_API_URL__@$VITE_GLOB_API_URL@g" /var/www/html/index.html
|
||||
|
||||
exec nginx -g 'daemon off;'
|
||||
+4
-1
@@ -7,7 +7,10 @@
|
||||
<title>应急就医服务中心</title>
|
||||
<!-- 全局配置 -->
|
||||
<script>
|
||||
window._CONFIG = {};
|
||||
// 默认值(可选)
|
||||
window.__APP_ENV__ = {
|
||||
VITE_GLOB_API_URL: '__VITE_GLOB_API_URL__', // 占位符,Docker 替换
|
||||
};
|
||||
window._AMapSecurityConfig = {
|
||||
securityJsCode: "1b3b86585c863d22db1e7f7636a9e495",
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"@turf/turf": "^6.5.0",
|
||||
"autoprefixer": "^10.4.16",
|
||||
"axios": "^1.6.2",
|
||||
"cnpm": "^9.4.0",
|
||||
"dayjs": "^1.11.10",
|
||||
"echarts": "5.4.3",
|
||||
"echarts-gl": "^2.0.9",
|
||||
@@ -32,6 +33,7 @@
|
||||
"postcss-px2rem": "^0.3.0",
|
||||
"prettier": "^3.1.0",
|
||||
"qs": "^6.11.2",
|
||||
"vite": "^7.0.5",
|
||||
"vue-router": "^4.2.5",
|
||||
"vue3-seamless-scroll": "^2.0.1"
|
||||
},
|
||||
|
||||
+32
-6
@@ -1,11 +1,37 @@
|
||||
// export function getAppEnvConfig() {
|
||||
// const ENV = import.meta.env;
|
||||
// const { VITE_GLOB_API_URL, VITE_GLOB_API_YIN_JI, VITE_GLOB_API_JIAN_CE, VITE_GLOB_API_XIAN_YUN, VITE_GLOB_API_YIN_CHUAN } = ENV;
|
||||
// return {
|
||||
// VITE_GLOB_API_URL,
|
||||
// VITE_GLOB_API_YIN_JI,
|
||||
// VITE_GLOB_API_JIAN_CE,
|
||||
// VITE_GLOB_API_XIAN_YUN,
|
||||
// VITE_GLOB_API_YIN_CHUAN,
|
||||
// };
|
||||
// }
|
||||
|
||||
export function getAppEnvConfig() {
|
||||
const ENV = import.meta.env;
|
||||
const { VITE_GLOB_API_URL, VITE_GLOB_API_YIN_JI, VITE_GLOB_API_JIAN_CE, VITE_GLOB_API_XIAN_YUN, VITE_GLOB_API_YIN_CHUAN } = ENV;
|
||||
// 1. 优先:运行时注入(Docker)
|
||||
const runtimeEnv = (window as any).__APP_ENV__;
|
||||
|
||||
// 2. 其次:构建时环境变量(.env 文件)
|
||||
const buildEnv = import.meta.env;
|
||||
|
||||
// 3. 获取 VITE_GLOB_API_URL:运行时 > 构建时 > 默认值
|
||||
const VITE_GLOB_API_URL = runtimeEnv?.VITE_GLOB_API_URL || buildEnv.VITE_GLOB_API_URL || 'https://api.xjygjk.com'; // 默认兜底
|
||||
|
||||
// 解析主机名和协议
|
||||
const url = new URL(VITE_GLOB_API_URL);
|
||||
const host = url.hostname;
|
||||
const protocol = url.protocol === 'https:' ? 'wss://' : 'ws://';
|
||||
|
||||
return {
|
||||
VITE_GLOB_API_URL,
|
||||
VITE_GLOB_API_YIN_JI,
|
||||
VITE_GLOB_API_JIAN_CE,
|
||||
VITE_GLOB_API_XIAN_YUN,
|
||||
VITE_GLOB_API_YIN_CHUAN,
|
||||
|
||||
// WebSocket 地址基于 VITE_GLOB_API_URL 动态生成
|
||||
VITE_GLOB_API_YIN_JI: `${protocol}${host}/health-watch/websocket/watchMonitor`,
|
||||
VITE_GLOB_API_JIAN_CE: `${protocol}${host}/health-emergency/websocket/emergency`,
|
||||
VITE_GLOB_API_XIAN_YUN: `${protocol}${host}/health-emergency/websocket/emergency3`,
|
||||
VITE_GLOB_API_YIN_CHUAN: `${protocol}${host}/health-emergency/websocket/emergency4`,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user