96 lines
3.8 KiB
Plaintext
96 lines
3.8 KiB
Plaintext
# ── Database ──
|
||
DB_HOST=localhost
|
||
DB_PORT=5432
|
||
DB_USERNAME=genex
|
||
DB_PASSWORD=genex_dev_password
|
||
DB_NAME=genex
|
||
|
||
# ── Redis ──
|
||
REDIS_HOST=localhost
|
||
REDIS_PORT=6379
|
||
|
||
# ── JWT ──
|
||
JWT_ACCESS_SECRET=dev-access-secret-change-in-production
|
||
JWT_ACCESS_EXPIRY=15m
|
||
JWT_REFRESH_SECRET=dev-refresh-secret-change-in-production
|
||
JWT_REFRESH_EXPIRY=7d
|
||
|
||
# ── SMS ──
|
||
SMS_ENABLED=false
|
||
SMS_CODE_EXPIRE_SECONDS=300
|
||
SMS_DAILY_LIMIT=10
|
||
SMS_MAX_VERIFY_ATTEMPTS=5
|
||
|
||
# ── Aliyun SMS (only when SMS_ENABLED=true) ──
|
||
# ALIYUN_ACCESS_KEY_ID=
|
||
# ALIYUN_ACCESS_KEY_SECRET=
|
||
# ALIYUN_SMS_SIGN_NAME=券金融
|
||
# ALIYUN_SMS_TEMPLATE_CODE=SMS_501745796
|
||
# ALIYUN_SMS_TPL_REGISTER=SMS_501745796
|
||
# ALIYUN_SMS_TPL_LOGIN=SMS_501720822
|
||
# ALIYUN_SMS_TPL_RESET_PASSWORD=SMS_501735781
|
||
# ALIYUN_SMS_TPL_CHANGE_PHONE=SMS_501925825
|
||
# ALIYUN_SMS_TPL_IDENTITY_VERIFY=SMS_501925825
|
||
# ALIYUN_SMS_TPL_TRANSACTION=SMS_501820752
|
||
# ALIYUN_SMS_TPL_PAYMENT=SMS_501855782
|
||
|
||
# ── Email (Gmail SMTP) ──
|
||
# EMAIL_ENABLED=true 时使用 Gmail 真实发送; false 时验证码打印到控制台
|
||
EMAIL_ENABLED=false
|
||
EMAIL_CODE_EXPIRE_SECONDS=300
|
||
EMAIL_DAILY_LIMIT=10
|
||
EMAIL_MAX_VERIFY_ATTEMPTS=5
|
||
|
||
# Gmail SMTP (only when EMAIL_ENABLED=true)
|
||
# 步骤:Google 账号 → 安全性 → 开启两步验证 → 应用专用密码 → 选「邮件」→ 复制16位密码
|
||
# GMAIL_USER=noreply@gmail.com
|
||
# GMAIL_APP_PASSWORD=xxxxxxxxxxxxxx (16位,填写时不含空格)
|
||
# EMAIL_FROM_NAME=Genex
|
||
|
||
# ── WeChat OAuth (微信开放平台移动应用) ──────────────────────────────────────
|
||
#
|
||
# 申请步骤(需企业资质,个人无法申请移动应用 OAuth):
|
||
#
|
||
# 1. 注册/登录微信开放平台
|
||
# https://open.weixin.qq.com
|
||
# → 账号中心 → 开发者资质认证(年费 300 元,需营业执照/组织机构代码证)
|
||
#
|
||
# 2. 创建移动应用
|
||
# 管理中心 → 移动应用 → 创建移动应用
|
||
# 填写基本信息:应用名称、简介、图标(512×512 PNG,无圆角)
|
||
# 填写平台信息:
|
||
# Android — 应用包名: cn.gogenex.consumer
|
||
# 应用签名: release keystore 的 MD5(32位小写,无冒号分隔)
|
||
# 获取签名: keytool -exportcert -keystore release.jks \
|
||
# -alias release -storepass <密码> | md5sum
|
||
# iOS — Bundle ID: cn.gogenex.consumer
|
||
# 提交审核,等待 1-7 个工作日
|
||
#
|
||
# 3. 审核通过后在「应用详情」页面获取:
|
||
# AppID (16位,wx 开头) — 填入 WECHAT_APP_ID,客户端和服务端均需要
|
||
# AppSecret (32位) — 填入 WECHAT_APP_SECRET,仅服务端使用,严格保密
|
||
#
|
||
# 4. 启用 unionid(强烈建议)
|
||
# 开放平台 → 账号中心 → 公众号/小程序/移动应用 绑定到同一开放平台账号
|
||
# 绑定后,同一微信用户在所有绑定应用中 unionid 相同,可跨 App 识别用户
|
||
# 若不绑定,不同 App 下同一用户的 openid 不同,会注册出多个账号
|
||
#
|
||
# 5. Flutter 构建时传入 AppID(在 Android Studio / Xcode / CI 脚本中配置):
|
||
# flutter build apk --dart-define=WECHAT_APP_ID=wx0000000000000000
|
||
# flutter build ipa --dart-define=WECHAT_APP_ID=wx0000000000000000
|
||
#
|
||
# 注意事项:
|
||
# - AppSecret 严禁写入客户端代码或提交到 Git,只在服务端 .env 中配置
|
||
# - Android 发布正式版本时,签名 MD5 必须与申请时一致,否则微信授权失败
|
||
# - iOS Universal Links 需要在开放平台填写 https://www.gogenex.com/wechat/
|
||
# 并确保该 URL 可访问 apple-app-site-association 文件
|
||
#
|
||
# WECHAT_APP_ID=wx0000000000000000
|
||
# WECHAT_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||
|
||
# ── Kafka (optional, events silently skipped if unavailable) ──
|
||
KAFKA_BROKERS=localhost:9092
|
||
|
||
# ── Service ──
|
||
PORT=3010
|