diff --git a/Dockerfile b/Dockerfile index 580a2f1..40c2d28 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,10 @@ FROM nginx MAINTAINER jeecgos@163.com VOLUME /tmp ENV LANG en_US.UTF-8 + +ENV VITE_GLOB_API_URL https://api.xjygjk.com +ENV VITE_GLOB_DOMAIN_URL https://api.xjygjk.com + RUN echo "server { \ #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \ location / { \ @@ -18,4 +22,12 @@ RUN echo "server { \ && mkdir -p /var/www/html ADD dist/ /var/www/html/ -EXPOSE 3100 + +# 添加运行时注入脚本 +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +# 启动脚本 +ENTRYPOINT ["/entrypoint.sh"] + +EXPOSE 80 diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..e6cb21f --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +# 从环境变量获取 APP_SHORT_NAME +APP_SHORT_NAME="${VITE_GLOB_APP_SHORT_NAME:-CQYTHEALTHADMIN}" +CONFIG_VAR="__PRODUCTION__${APP_SHORT_NAME}__CONF__" + +# 1. 创建运行时配置文件 +cat > /var/www/html/config.js << EOF +// 动态注入运行时配置 +window['$CONFIG_VAR'] = { + "VITE_GLOB_APP_TITLE": "${VITE_GLOB_APP_TITLE:-健康管理后台}", + "VITE_GLOB_APP_TITLE_JD": "${VITE_GLOB_APP_TITLE_JD:-健康干预后台}", + "VITE_GLOB_APP_SHORT_NAME": "${VITE_GLOB_APP_SHORT_NAME:-CqytHealthAdmin}", + "VITE_GLOB_APP_CAS_BASE_URL": "${VITE_GLOB_APP_CAS_BASE_URL:-http://cas.default.com/cas}", + "VITE_GLOB_APP_OPEN_SSO": ${VITE_GLOB_APP_OPEN_SSO:-false}, + "VITE_GLOB_APP_OPEN_QIANKUN": ${VITE_GLOB_APP_OPEN_QIANKUN:-true}, + "VITE_GLOB_ONLINE_VIEW_URL": "${VITE_GLOB_ONLINE_VIEW_URL:-http://fileview.jeecg.com/onlinePreview}", + "VITE_GLOB_API_URL": "${VITE_GLOB_API_URL:-http://default-api.com}", + "VITE_GLOB_DOMAIN_URL": "${VITE_GLOB_DOMAIN_URL:-http://default-domain.com}", + "VITE_GLOB_ST_DOMAIN_URL": "${VITE_GLOB_ST_DOMAIN_URL:-http://default-domain.com}", + "VITE_GLOB_API_URL_PREFIX": "${VITE_GLOB_API_URL_PREFIX:-}" +}; + +// 冻结对象(可选,模拟生产行为) +Object.freeze(window['$CONFIG_VAR']); +Object.defineProperty(window, '$CONFIG_VAR', { + configurable: false, + writable: false +}); +EOF + +# 2. 修改 index.html: +# - 在 前插入 ||g' /var/www/html/index.html + +# 启动 Nginx +exec nginx -g "daemon off;"