Files
affiliate_dash/.env.example
T
yml2213 bab522bcb3 feat(auth): 接入 DCAuth v2 登录并完善成员管理
- 登录链路改为用户名 + 密码 + 短信验证码 + DCAuth v2 设备签名
- 迁移 014:新增 login_sms_codes / user_devices / device_challenges 与 users.phone
- 新增 /api/dcauth/authorize 与 challenge 状态轮询;旧密码登录仅放行未绑定手机号的账号
- 成员管理支持手机号绑定、设备重置、账号改名、昵称与重置密码
- 移除最后一个商户关系时软删除账号,释放用户名、手机号并撤销设备绑定
2026-10-21 22:37:49 +08:00

74 lines
3.2 KiB
Bash

# 端口(默认值已避开常见端口,避免与其他项目冲突;如需调整可在此覆盖)
PORT=18080
FRONTEND_PORT=15173
# Caddy 对外端口:生产部署需域名绑定 80/443;本机与其他站点共存时可覆盖
# HTTP_PORT=80
# HTTPS_PORT=443
# JWT_SECRET 应用主密钥(用于签发后台登录 Token 与敏感数据加密)。
# 生成方式:openssl rand -hex 32
JWT_SECRET=your_very_secure_jwt_secret_here_change_me_in_production
# DATA_ENCRYPTION_KEY 可选,未设置时默认由 JWT_SECRET 派生(推荐保持单主密钥极简架构)。
# DATA_ENCRYPTION_KEY=
# 仅用于空数据库的首次启动;已有管理员账号时不会被覆盖。
POSTGRES_USER=affiliate
POSTGRES_PASSWORD=affiliate_dev_password
POSTGRES_DB=affiliate_dash
POSTGRES_PORT=15432
COMPOSE_PROJECT_NAME=affiliate_dash
POSTGRES_DATA_VOLUME=affiliate_dash_postgres_data
TZ=Asia/Shanghai
DATABASE_URL="postgres://affiliate:affiliate_dev_password@127.0.0.1:15432/affiliate_dash?sslmode=disable&TimeZone=Asia/Shanghai"
# Docker 后端容器内连接串通常不需要改;需要外部数据库时再覆盖。
# DOCKER_DATABASE_URL="postgres://affiliate:affiliate_dev_password@postgres:5432/affiliate_dash?sslmode=disable&TimeZone=Asia/Shanghai"
GIN_MODE=release
OPEN_API_KEY=sk_source_dev_key_change_me
OPEN_API_SECRET=sk_source_dev_secret_change_me
OPEN_SIGN_SKEW=300
OPEN_API_DEBUG=false
LOG_FILE=logs/app.log
DELIVERY_BASE_URL=
DELIVERY_BFF_BASE_URL=https://www.jxya.top/bff
DELIVERY_CHANNEL=dlc
DELIVERY_LINK_SECRET=change_me_for_delivery_link_sign
# 发货链接有效期(分钟),0 或留空表示永久有效
DELIVERY_LINK_TTL_MINUTES=0
FULFILLMENT_PROCESSING_TIMEOUT_MINUTES=30
FULFILLMENT_TIMEOUT_SCAN_INTERVAL_SECONDS=60
# 登录短信渠道(用户名 + 密码 + 短信验证码 + DCAuth v2 设备签名)
# mock: 只把验证码写入后端日志,不做每日限额,适合本地开发
# aliyun: 通过 Dysmsapi RPC 签名调用真实短信
WORKER_SMS_PROVIDER=mock
WORKER_SMS_ACCESS_KEY_ID=
WORKER_SMS_ACCESS_KEY_SECRET=
WORKER_SMS_SIGN_NAME=
WORKER_SMS_TEMPLATE_CODE=
WORKER_SMS_CODE_TTL_SECONDS=300
WORKER_SMS_COOLDOWN_SECONDS=60
WORKER_SMS_DAILY_LIMIT=10
# 乐玩开放平台配置
LEWAN_BASE_URL=https://shop.cloudtentacles.com
LEWAN_APPLICATION_ID=
LEWAN_ACCESS_KEY=
LEWAN_SECRET_KEY=
LEWAN_WEBHOOK_SECRET=
# 跨域来源白名单(逗号分隔)。生产前后端同域(Caddy 统一入口)无需配置;
# 仅前后端分离部署时设置,例如:CORS_ALLOWED_ORIGINS=https://admin.example.com
# 为空时仅放行本地开发端口 localhost:15173 / 18080;不支持 "*"(与凭证模式冲突)。
# CORS_ALLOWED_ORIGINS=
# Docker 构建基础镜像;如镜像源不可用,可改为官方镜像或你的私有镜像源
POSTGRES_IMAGE=docker.m.daocloud.io/library/postgres:16-alpine
GO_BUILDER_IMAGE=docker.m.daocloud.io/library/golang:1.26-alpine
BACKEND_RUNTIME_IMAGE=docker.m.daocloud.io/library/alpine:3.22
NODE_BUILDER_IMAGE=docker.m.daocloud.io/library/node:22-alpine
CADDY_BASE_IMAGE=docker.m.daocloud.io/library/caddy:2-alpine
# Docker 构建阶段包管理加速源
GOPROXY=https://goproxy.cn,direct
GOSUMDB=sum.golang.google.cn
ALPINE_MIRROR=https://mirrors.aliyun.com/alpine
NPM_REGISTRY=https://registry.npmmirror.com