chore(init): 初始化解忧商行项目并完成 Phase 0 基座

This commit is contained in:
yml2213
2026-10-30 11:46:10 +08:00
commit 8d9481c251
689 changed files with 138703 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
APP_ENV=development
APP_ADDR=:18089
# 解忧商行独立开发数据库(与 hfb_sys 完全隔离)
# MySQL 容器初始化变量,同时供后端 DSN 使用。
MYSQL_ROOT_PASSWORD=rootsecret
MYSQL_DATABASE=hfb_jysh
MYSQL_USER=hfb
MYSQL_PASSWORD=secret
MYSQL_DSN=hfb:secret@tcp(127.0.0.1:23306)/hfb_jysh?charset=utf8mb4&parseTime=True&loc=Local
# 数据库连接池与慢查询观测;生产按实例数和 MySQL max_connections 调整。
DATABASE_MAX_OPEN_CONNS=50
DATABASE_MAX_IDLE_CONNS=10
DATABASE_CONN_MAX_LIFETIME_MINUTES=30
DATABASE_CONN_MAX_IDLE_TIME_MINUTES=5
DATABASE_SLOW_QUERY_THRESHOLD_MS=500
REDIS_ADDR=127.0.0.1:26379
REDIS_PASSWORD=
REDIS_DB=0
JWT_SECRET=change-me
# 前端后台页面入口;解忧商行默认使用独立隐藏路径,生产必须与 Caddy 一致。
VITE_ADMIN_BASE_PATH=/console-jy8k3m
# 首次启动且管理员表为空时,按以下变量创建首个超级管理员。
# 本地开发可自行填写,生产环境请使用随机强密码,创建后建议从 .env 移除。
ADMIN_BOOTSTRAP_USERNAME=
ADMIN_BOOTSTRAP_PASSWORD=
ADMIN_BOOTSTRAP_NICKNAME=超级管理员
# API 限流:默认开启,每个 IP 每分钟 300 次。
RATE_LIMIT_ENABLED=true
RATE_LIMIT_REQUESTS_PER_MINUTE=300
LOG_LEVEL=info
LOG_DIR=logs
LOG_ENABLE_CONSOLE=true
LOG_ENABLE_FILE=true
LOG_RETAIN_DAYS=14
# MinIO 容器初始化变量,同时供后端对象存储使用。
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
STORAGE_ENDPOINT=http://localhost:29090
STORAGE_BUCKET=jieyou-sys
STORAGE_ACCESS_KEY_ID=minioadmin
STORAGE_SECRET_ACCESS_KEY=minioadmin
STORAGE_REGION=
STORAGE_BUCKET_LOOKUP=auto
# 对象存储迁移期间的镜像端;本地开发默认关闭。
STORAGE_MIRROR_ENDPOINT=
STORAGE_MIRROR_BUCKET=
STORAGE_MIRROR_ACCESS_KEY_ID=
STORAGE_MIRROR_SECRET_ACCESS_KEY=
STORAGE_MIRROR_REGION=
STORAGE_MIRROR_BUCKET_LOOKUP=auto
# 短信服务:本地开发使用 mock。
SMS_PROVIDER=mock
ALIYUN_ACCESS_KEY_ID=
ALIYUN_ACCESS_KEY_SECRET=
ALIYUN_SMS_ENDPOINT=dysmsapi.aliyuncs.com
ALIYUN_SMS_SIGN_NAME=
ALIYUN_SMS_LOGIN_TEMPLATE_CODE=
# 实名认证:本地开发使用 mock;生产可改为 cloudmarket 并填写云市场 AppCode。
REALNAME_PROVIDER=mock
REALNAME_CLOUDMARKET_URL=https://eid.shumaidata.com/eid/check
REALNAME_CLOUDMARKET_APPCODE=
# 身份证唯一性盲索引密钥;留空回退 FIELD_ENCRYPTION_KEY
REALNAME_ID_HASH_KEY=
# 支付商户、网关和回调等业务配置通过后台支付配置页维护。
# 支付配置加密密钥(必须为 16、24 或 32 字节;生产环境不要留空)
# 用于加密存储支付商户配置中的敏感信息(sign_key、notify_key)
# 生成方式:openssl rand -hex 16
PAYMENT_CONFIG_ENCRYPTION_KEY=
# 业务字段加密密钥(必须为 16、24 或 32 字节;生产环境必填且与下方 legacy 不同)
# 用于加密实名信息(姓名、身份证)和收款账号(银行卡/支付宝号)
# 生成方式:openssl rand -hex 16
FIELD_ENCRYPTION_KEY=
# 业务字段旧密钥(可选;密钥轮换期间用于透明解出旧密文)
# 留空时使用内置默认值,兼容历史硬编码密钥加密的开发/测试数据。
# 生产环境轮换流程:设新 FIELD_ENCRYPTION_KEY,把旧密钥填到这里,
# 待所有存量密文被读出后(或跑重加密脚本),删除此变量。
FIELD_ENCRYPTION_LEGACY_KEY=
# 开放导入接口可选签名密钥;留空或请求未带签名时按旧方式导入。
# 若调用方携带 X-HFB-Timestamp 和 X-HFB-Signature,则会校验 HMAC 签名。
EXTERNAL_UPLOAD_SECRET=
# 可选:逗号分隔的 IP 或 CIDR 白名单,例如 127.0.0.1,10.0.0.0/8。
EXTERNAL_UPLOAD_ALLOWED_IPS=