From b8dec9a405ecba1f8cac106c0e59e86972c32ab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=98=E9=A3=8E?= Date: Tue, 24 Feb 2026 15:16:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soul-api/{.env.example => .env.development} | 4 ++- soul-api/.env.production | 38 +++++++++++++++++++++ soul-api/dev_dev.py | 6 ++-- soul-api/devlop.py | 6 ++-- 4 files changed, 47 insertions(+), 7 deletions(-) rename soul-api/{.env.example => .env.development} (88%) create mode 100644 soul-api/.env.production diff --git a/soul-api/.env.example b/soul-api/.env.development similarity index 88% rename from soul-api/.env.example rename to soul-api/.env.development index 4cefc60f..077a905f 100644 --- a/soul-api/.env.example +++ b/soul-api/.env.development @@ -14,6 +14,8 @@ WECHAT_APPSECRET=3c1fb1f63e6e052222bbcead9d07fe0c WECHAT_MCH_ID=1318592501 WECHAT_MCH_KEY=wx3e31b068be59ddc131b068be59ddc2 WECHAT_NOTIFY_URL=https://soul.quwanzhi.com/api/miniprogram/pay/notify +# 小程序码/订阅消息跳转版本:formal=正式版(默认) | trial=体验版 | developer=开发版 +WECHAT_MINI_PROGRAM_STATE=formal # 微信转账配置(API v3) WECHAT_APIV3_KEY=wx3e31b068be59ddc131b068be59ddc2 @@ -22,7 +24,7 @@ WECHAT_CERT_PATH=certs/apiclient_cert.pem # 私钥(线上用 OSS):https://karuocert.oss-cn-shenzhen.aliyuncs.com/1318592501/apiclient_key.pem WECHAT_KEY_PATH=certs/apiclient_key.pem WECHAT_SERIAL_NO=4A1DB62CD5C9BE0B6FC51C30621D6F99686E75C5 -WECHAT_TRANSFER_URL=https://soul.quwanzhi.com/api/payment/wechat/transfer/notify +WECHAT_TRANSFER_URL=https://souladmin.quwanzhi.com/api/payment/wechat/transfer/notify # 管理端登录(与 next-project 一致,默认 admin / admin123) # ADMIN_USERNAME=admin diff --git a/soul-api/.env.production b/soul-api/.env.production new file mode 100644 index 00000000..077a905f --- /dev/null +++ b/soul-api/.env.production @@ -0,0 +1,38 @@ +# 服务(启动端口在 .env 中配置,修改 PORT 后重启生效) +PORT=8080 +GIN_MODE=debug + +# 版本号:打包 zip 前在此填写,上传服务器覆盖 .env 后,访问 /health 会返回此版本 +APP_VERSION=0.0.0 + +# 数据库(与 Next 现网一致:腾讯云 CDB soul_miniprogram) +DB_DSN=cdb_outerroot:Zhiqun1984@tcp(56b4c23f6853c.gz.cdb.myqcloud.com:14413)/soul_miniprogram?charset=utf8mb4&parseTime=True + +# 微信小程序配置 +WECHAT_APPID=wxb8bbb2b10dec74aa +WECHAT_APPSECRET=3c1fb1f63e6e052222bbcead9d07fe0c +WECHAT_MCH_ID=1318592501 +WECHAT_MCH_KEY=wx3e31b068be59ddc131b068be59ddc2 +WECHAT_NOTIFY_URL=https://soul.quwanzhi.com/api/miniprogram/pay/notify +# 小程序码/订阅消息跳转版本:formal=正式版(默认) | trial=体验版 | developer=开发版 +WECHAT_MINI_PROGRAM_STATE=formal + +# 微信转账配置(API v3) +WECHAT_APIV3_KEY=wx3e31b068be59ddc131b068be59ddc2 +# 公钥证书(本地或 OSS):https://karuocert.oss-cn-shenzhen.aliyuncs.com/1318592501/apiclient_cert.pem +WECHAT_CERT_PATH=certs/apiclient_cert.pem +# 私钥(线上用 OSS):https://karuocert.oss-cn-shenzhen.aliyuncs.com/1318592501/apiclient_key.pem +WECHAT_KEY_PATH=certs/apiclient_key.pem +WECHAT_SERIAL_NO=4A1DB62CD5C9BE0B6FC51C30621D6F99686E75C5 +WECHAT_TRANSFER_URL=https://souladmin.quwanzhi.com/api/payment/wechat/transfer/notify + +# 管理端登录(与 next-project 一致,默认 admin / admin123) +# ADMIN_USERNAME=admin +# ADMIN_PASSWORD=admin123 +# ADMIN_SESSION_SECRET=soul-admin-secret-change-in-prod + +# 可选:信任代理 IP(逗号分隔),部署在 Nginx 后时填写 +# TRUSTED_PROXIES=127.0.0.1,::1 + +# 跨域 CORS:允许的源,逗号分隔。未设置时使用默认值(含 localhost、soul.quwanzhi.com) +CORS_ORIGINS=http://localhost:5174,http://127.0.0.1:5174,https://soul.quwanzhi.com,http://soul.quwanzhi.com,https://souladmin.quwanzhi.com,http://souladmin.quwanzhi.com diff --git a/soul-api/dev_dev.py b/soul-api/dev_dev.py index 48b11b6d..8ee1fec7 100644 --- a/soul-api/dev_dev.py +++ b/soul-api/dev_dev.py @@ -165,16 +165,16 @@ def set_env_mini_program_state(env_path, state): def pack_deploy(root, binary_path, include_env=True): - """打包二进制和 .env 为 tar.gz""" + """打包二进制和 .env.development 为 tar.gz(测试环境/线上开发)""" print("[2/4] 打包部署文件 ...") staging = tempfile.mkdtemp(prefix="soul_api_deploy_") try: shutil.copy2(binary_path, os.path.join(staging, "soul-api")) - env_src = os.path.join(root, ".env") + env_src = os.path.join(root, ".env.development") staging_env = os.path.join(staging, ".env") if include_env and os.path.isfile(env_src): shutil.copy2(env_src, staging_env) - print(" [已包含] .env") + print(" [已包含] .env.development -> .env") else: env_example = os.path.join(root, ".env.example") if os.path.isfile(env_example): diff --git a/soul-api/devlop.py b/soul-api/devlop.py index 94faaf1b..e8b5e9f5 100644 --- a/soul-api/devlop.py +++ b/soul-api/devlop.py @@ -165,16 +165,16 @@ def set_env_mini_program_state(env_path, state): def pack_deploy(root, binary_path, include_env=True): - """打包二进制和 .env 为 tar.gz""" + """打包二进制和 .env.production 为 tar.gz(正式环境)""" print("[2/4] 打包部署文件 ...") staging = tempfile.mkdtemp(prefix="soul_api_deploy_") try: shutil.copy2(binary_path, os.path.join(staging, "soul-api")) - env_src = os.path.join(root, ".env") + env_src = os.path.join(root, ".env.production") staging_env = os.path.join(staging, ".env") if include_env and os.path.isfile(env_src): shutil.copy2(env_src, staging_env) - print(" [已包含] .env") + print(" [已包含] .env.production -> .env") else: env_example = os.path.join(root, ".env.example") if os.path.isfile(env_example):