release: freeze demo v1.1.0 2026-10-19
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s

This commit is contained in:
WorkBuddy
2026-10-19 20:36:22 +08:00
parent 8b505d9133
commit 69ebf33e18
157 changed files with 21111 additions and 72 deletions
+1 -1
View File
@@ -130,7 +130,7 @@ services:
# 生产 S3 网关当前未 host-publish(客户端经 nginx/ingress 访问),故缺省仍是容器名
# —— 即「presigned host 对外可达」缺陷在生产仍待配置 ingress 后才彻底解决。
# 一旦生产 S3 网关暴露了对外地址,把该变量设成那个地址即可,无需再改代码。
MINIO_PUBLIC_ENDPOINT: ${MINIO_PUBLIC_ENDPOINT:http://seaweedfs:8333}
MINIO_PUBLIC_ENDPOINT: ${MINIO_PUBLIC_ENDPOINT:-http://seaweedfs:8333}
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:?请设置MINIO_ACCESS_KEY}
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:?请设置MINIO_SECRET_KEY}
JWT_ACCESS_SECRET: ${JWT_ACCESS_SECRET:?请设置JWT_ACCESS_SECRET}
+22 -1
View File
@@ -168,7 +168,8 @@ services:
WECHAT_APP_ID: dev-wechat-app-id
WECHAT_APP_SECRET: ${WECHAT_APP_SECRET:-}
# 仅本地演示固定到秀英预置用户;正式环境留空并使用真实微信 Provider。
WECHAT_MOCK_OPENID: ${WECHAT_MOCK_OPENID:-demo_openid_f06}
# 留空时按每个 mock code 生成独立用户;演示预置用户使用 demo_openid_* code 显式登录。
WECHAT_MOCK_OPENID: ${WECHAT_MOCK_OPENID-}
ports:
- "8085:8080"
healthcheck:
@@ -188,6 +189,24 @@ services:
backend:
condition: service_healthy
h5-web:
# 小程序用户端 + 红娘端的 H5 演示端(Vue3 + Vant)。与管理端 admin-web 同构,
# 共用同一 backend,故演示端与管理端数据天然一致、可联动。
# 产物挂在 /h5/ 子路径下(vite build base=/h5/,见 h5-demo/nginx-h5.conf)。
#
# 单独发布宿主端口 6689(与 admin 的 6688 分源):红娘端调 /auth/operator/login
# 会下发同款 HttpOnly Cookie,若与 admin 同源会把 /admin/ 也登成同一红娘账号。
# 独立 origin/Cookie jar 规避串号(见 h5-demo 实施计划 R3)。
build:
context: ../h5-demo
dockerfile: Dockerfile
container_name: danyang-match-h5-web
depends_on:
backend:
condition: service_healthy
ports:
- "6689:80"
nginx:
image: nginx:alpine
container_name: danyang-match-nginx
@@ -196,6 +215,8 @@ services:
condition: service_healthy
admin-web:
condition: service_started
h5-web:
condition: service_started
ports:
- "6688:80"
volumes:
+15
View File
@@ -46,6 +46,7 @@ http {
# 使用固定容器名,避免后端因跨 compose 网络重连后丢失 service alias。
set $backend_upstream "http://danyang-match-backend:8080";
set $admin_upstream "http://admin-web:80";
set $h5_upstream "http://h5-web:80";
# Health check for nginx itself
location /nginx-health {
@@ -99,6 +100,20 @@ http {
proxy_set_header X-Forwarded-Proto $scheme;
}
# H5 演示端 —— 小程序用户端 + 红娘端的网页版,产物挂在 /h5/ 子路径下
# (构建 base=/h5/,见 h5-demo/vite.config.ts)。与 /admin/ 同构:**不剥离**前缀
# 转发给 h5-demo 容器,由容器内 nginx(h5-demo/nginx-h5.conf)自行处理 /h5 前缀。
location = /h5 {
return 301 /h5/;
}
location /h5/ {
proxy_pass $h5_upstream;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# 其余未匹配路径(不含 /admin、/api、/ws)统一跳转到管理端入口。
# 根路径没有内容,显式跳转以避免"打根路径拿到一个空白/错页"的假成功。
location / {