- Auth/权限中间件取 main 演进版(错误细分、token 来源),保留 dev 的用户 cookie 与登出撤销语义 - 后台订单列表:融合 main 的首页免 COUNT 优化与关键词索引路由,保留 dev 的最小化 AdminOrderListItemDTO(结账明细仍由详情接口返回,同步调整对应集成测试) - 保留 dev 的 token_version 冻结/解冻递增与 main 的状态变化判断及通知 - 前端:保留 dev 登出接口与 main 的 fetchMe silent 参数、SSE 登录跳转;后台订单表按 dev 最小化 DTO 移除号主到手列
34 lines
1.0 KiB
Docker
34 lines
1.0 KiB
Docker
# syntax=docker/dockerfile:1.7
|
||
|
||
# 第一阶段:构建主站前端静态资源
|
||
FROM node:24-alpine AS build
|
||
|
||
ARG VITE_ADMIN_BASE_PATH=/manage-7x9k2p
|
||
ENV VITE_ADMIN_BASE_PATH=${VITE_ADMIN_BASE_PATH}
|
||
|
||
WORKDIR /src
|
||
COPY frontend/package*.json ./
|
||
RUN --mount=type=cache,target=/root/.npm \
|
||
npm ci --prefer-offline --no-audit --fund=false
|
||
COPY frontend/ .
|
||
RUN npm run build
|
||
|
||
# 第二套独立分销管理后台(React + Ant Design)
|
||
FROM node:24-alpine AS distribution-build
|
||
WORKDIR /src
|
||
COPY distribution-admin/package*.json ./
|
||
RUN --mount=type=cache,target=/root/.npm \
|
||
npm ci --prefer-offline --no-audit --fund=false
|
||
COPY distribution-admin/ .
|
||
RUN npm run build
|
||
|
||
# 第三阶段:Caddy 作为公网入口,托管主站、分销后台和选号网静态资源
|
||
FROM caddy:2.10-alpine
|
||
|
||
COPY --from=build /src/dist /srv/dist
|
||
# show-dist 由 deploy-prod.sh 在 build 前准备(hfb_show 构建产物或占位页)
|
||
COPY deploy/caddy/show-dist /srv/show-dist
|
||
COPY --from=distribution-build /src/dist /srv/distribution-admin
|
||
|
||
EXPOSE 80 443
|