使用DOCKER环境变量替换网关链接
This commit is contained in:
@@ -1,12 +1,3 @@
|
|||||||
|
|
||||||
#后台地址
|
#后台地址
|
||||||
VITE_GLOB_API_URL=https://api.xjygjk.com
|
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
|
MAINTAINER jeecgos@163.com
|
||||||
VOLUME /tmp
|
VOLUME /tmp
|
||||||
ENV LANG en_US.UTF-8
|
ENV LANG en_US.UTF-8
|
||||||
|
|
||||||
|
ENV VITE_GLOB_API_URL https://api.xjygjk.com
|
||||||
|
|
||||||
RUN echo "server { \
|
RUN echo "server { \
|
||||||
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
|
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
|
||||||
location / { \
|
location / { \
|
||||||
@@ -18,4 +21,12 @@ RUN echo "server { \
|
|||||||
&& mkdir -p /var/www/html
|
&& mkdir -p /var/www/html
|
||||||
|
|
||||||
ADD dist/ /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>
|
<title>应急就医服务中心</title>
|
||||||
<!-- 全局配置 -->
|
<!-- 全局配置 -->
|
||||||
<script>
|
<script>
|
||||||
window._CONFIG = {};
|
// 默认值(可选)
|
||||||
|
window.__APP_ENV__ = {
|
||||||
|
VITE_GLOB_API_URL: '__VITE_GLOB_API_URL__', // 占位符,Docker 替换
|
||||||
|
};
|
||||||
window._AMapSecurityConfig = {
|
window._AMapSecurityConfig = {
|
||||||
securityJsCode: "1b3b86585c863d22db1e7f7636a9e495",
|
securityJsCode: "1b3b86585c863d22db1e7f7636a9e495",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
"@turf/turf": "^6.5.0",
|
"@turf/turf": "^6.5.0",
|
||||||
"autoprefixer": "^10.4.16",
|
"autoprefixer": "^10.4.16",
|
||||||
"axios": "^1.6.2",
|
"axios": "^1.6.2",
|
||||||
|
"cnpm": "^9.4.0",
|
||||||
"dayjs": "^1.11.10",
|
"dayjs": "^1.11.10",
|
||||||
"echarts": "5.4.3",
|
"echarts": "5.4.3",
|
||||||
"echarts-gl": "^2.0.9",
|
"echarts-gl": "^2.0.9",
|
||||||
@@ -32,6 +33,7 @@
|
|||||||
"postcss-px2rem": "^0.3.0",
|
"postcss-px2rem": "^0.3.0",
|
||||||
"prettier": "^3.1.0",
|
"prettier": "^3.1.0",
|
||||||
"qs": "^6.11.2",
|
"qs": "^6.11.2",
|
||||||
|
"vite": "^7.0.5",
|
||||||
"vue-router": "^4.2.5",
|
"vue-router": "^4.2.5",
|
||||||
"vue3-seamless-scroll": "^2.0.1"
|
"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() {
|
export function getAppEnvConfig() {
|
||||||
const ENV = import.meta.env;
|
// 1. 优先:运行时注入(Docker)
|
||||||
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;
|
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 {
|
return {
|
||||||
VITE_GLOB_API_URL,
|
VITE_GLOB_API_URL,
|
||||||
VITE_GLOB_API_YIN_JI,
|
|
||||||
VITE_GLOB_API_JIAN_CE,
|
// WebSocket 地址基于 VITE_GLOB_API_URL 动态生成
|
||||||
VITE_GLOB_API_XIAN_YUN,
|
VITE_GLOB_API_YIN_JI: `${protocol}${host}/health-watch/websocket/watchMonitor`,
|
||||||
VITE_GLOB_API_YIN_CHUAN,
|
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