Files
2026-03-23 02:20:48 -05:00

60 lines
2.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
应用配置
支付渠道可通过 PAYMENT_PROVIDER 切换xorpay | zpay
"""
import os
from pathlib import Path
from typing import Literal
from dotenv import load_dotenv
# 强制从 payjsapi 项目根目录加载 .env、.env.local避免 cwd 不同导致加载失败
_root = Path(__file__).resolve().parent.parent
load_dotenv(_root / ".env")
load_dotenv(_root / ".env.local", override=True)
PaymentChannel = Literal["xorpay", "zpay"]
# 当前使用的支付渠道zpay 替代 xorpaypayjs2 接口业务保留)
PAYMENT_PROVIDER: PaymentChannel = os.getenv("PAYMENT_PROVIDER", "zpay").lower()
# XorPay 配置
XORPAY_AID = os.getenv("XORPAY_AID", "8220")
XORPAY_SECRET = os.getenv("XORPAY_SECRET", "afcacd99570945f88de62624aaa3578e")
XORPAY_CASHIER_URL = os.getenv("XORPAY_CASHIER_URL", "https://xorpay.com/api/cashier")
# ZPAY 配置(网关: https://zpayz.cn/
ZPAY_PID = os.getenv("ZPAY_PID", "2025121809351743")
ZPAY_KEY = os.getenv("ZPAY_KEY", "tpEi7wWIWI2kXiYVTpIG6j7it0mjVW89")
# PocketBase支持 PB_ADMIN_* 或 POCKETBASE_*,空值时用默认)
PB_URL = os.getenv("PB_URL") or os.getenv("POCKETBASE_URL") or "https://pocketbase.hackrobot.cn"
PB_ADMIN_EMAIL = (
os.getenv("PB_ADMIN_EMAIL") or os.getenv("POCKETBASE_EMAIL") or "xiaoshuang.eric@gmail.com"
)
PB_ADMIN_PASSWORD = (
os.getenv("PB_ADMIN_PASSWORD") or os.getenv("POCKETBASE_PASSWORD") or "Xiao4669805@"
)
# Memos
MEMOS_API = os.getenv("MEMOS_API", "https://qun.hackrobot.cn/api/v1/users")
MEMOS_TOKEN = os.getenv(
"MEMOS_TOKEN",
"eyJhbGciOiJIUzI1NiIsImtpZCI6InYxIiwidHlwIjoiSldUIn0.eyJuYW1lIjoiaGFja3JvYm90IiwiaXNzIjoibWVtb3MiLCJzdWIiOiIxIiwiYXVkIjpbInVzZXIuYWNjZXNzLXRva2VuIl0sImlhdCI6MTc1NzQwNTE0OX0.Idn7kBlxE-CoSOXwWuZ1tHGIRKHAIeDyXSafGS5OHsg",
)
# 回调地址(用于生成 notify_url。线上 https://salonapi.hackrobot.cn
BASE_URL = os.getenv("BASE_URL", "https://salonapi.hackrobot.cn")
# MinIO 对象存储
MINIO_ENDPOINT = os.getenv("MINIO_ENDPOINT", "minioweb.hackrobot.cn")
MINIO_PORT = int(os.getenv("MINIO_PORT", "443"))
MINIO_ACCESS_KEY = os.getenv("MINIO_ACCESS_KEY", "")
MINIO_SECRET_KEY = os.getenv("MINIO_SECRET_KEY", "")
MINIO_BUCKET = os.getenv("MINIO_BUCKET", "hackrobot")
MINIO_USE_SSL = os.getenv("MINIO_USE_SSL", "true").lower() == "true"
_minio_ep = os.getenv("MINIO_ENDPOINT", "minioweb.hackrobot.cn")
_minio_bucket = os.getenv("MINIO_BUCKET", "hackrobot")
MINIO_PUBLIC_URL = os.getenv("MINIO_PUBLIC_URL", f"https://{_minio_ep}/{_minio_bucket}")
MINIO_UPLOAD_PREFIX = os.getenv("MINIO_UPLOAD_PREFIX", "joins")