From d28875be4058c8810f0aa541a1d9125c9ec04155 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Fri, 12 Jun 2026 23:05:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E4=BA=86=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E7=A1=AC=E7=BC=96=E7=A0=81=E7=9A=84=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + a_long_dianjing/settings.py | 118 ++++++++++++++++-------------------- 2 files changed, 53 insertions(+), 66 deletions(-) diff --git a/.gitignore b/.gitignore index 30eb466..8fce9c5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ db.sqlite3 /venv/ /env/ .env +secrets.py staticfiles/ media/ *.log diff --git a/a_long_dianjing/settings.py b/a_long_dianjing/settings.py index 149e788..f754238 100644 --- a/a_long_dianjing/settings.py +++ b/a_long_dianjing/settings.py @@ -6,11 +6,17 @@ from pathlib import Path from datetime import timedelta import os +# 从密钥配置文件导入敏感信息 +try: + import secrets as _secrets +except ImportError: + raise ImportError("缺少 secrets.py 密钥配置文件,请参照项目说明创建") + # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production -SECRET_KEY = 'django-insecure-9+xu)m%#!#qblgby5sq!sjyg5nj9lir78+&*f$28$459#yktej' # 开发环境可暂用,生产必须改 +SECRET_KEY = _secrets.SECRET_KEY DEBUG = False # 开发环境为 True ALLOWED_HOSTS = ['localhost', '127.0.0.1','www.abas.asia'] # 根据开发前端地址可添加 @@ -76,16 +82,11 @@ WSGI_APPLICATION = 'a_long_dianjing.wsgi.application' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', - 'NAME': 'xaio_cheng_xu', # 你创建的数据库名 - 'USER': 'root', # 你的本地MySQL用户名 - #'PASSWORD': 'Dujieduze6363....', # 你的本地MySQL密码 - #'PASSWORD': 'ahgs673g2h63hgawwdqw', - #'HOST': '172.19.0.2', - 'HOST': '172.17.0.15', - 'PASSWORD':'sajksh.sdfGH3YUge.wjkd+', - #'HOST': 'sh-cdb-hmyxpv1m.sql.tencentcdb.com', - 'PORT': '3306', # 注意端口是3307 - #'PORT': '20950', + 'NAME': _secrets.DATABASE_NAME, + 'USER': _secrets.DATABASE_USER, + 'HOST': _secrets.DATABASE_HOST, + 'PASSWORD': _secrets.DATABASE_PASSWORD, + 'PORT': _secrets.DATABASE_PORT, 'OPTIONS': { 'charset': 'utf8mb4', 'init_command': "SET time_zone='+08:00'", # 保持与旧项目一致 @@ -253,36 +254,35 @@ CORS_ALLOW_HEADERS = [ # OSS配置 -COS_SECRET_ID ='AKIDU6WikZBcz96xesxpVM3XoslS3TjogLDx' -COS_SECRET_KEY ='qcJzVqLdkeKyXwKckjV5SCmncFfrqdu2' -COS_REGION = 'ap-shanghai' -COS_BUCKET = 'xingque999qygwuyq-1404472910' +COS_SECRET_ID = _secrets.COS_SECRET_ID +COS_SECRET_KEY = _secrets.COS_SECRET_KEY +COS_REGION = _secrets.COS_REGION +COS_BUCKET = _secrets.COS_BUCKET COS_SCHEME = 'https' # 使用HTTPS COS_DOMAIN = f'https://{COS_BUCKET}.cos.{COS_REGION}.myqcloud.com' -# settings.py - 在COS配置部分添加 -COS_APPID = '1404472910' # 你的腾讯云APPID(julebu-1361527063中的数字部分) +COS_APPID = _secrets.COS_APPID COS_STS_DURATION = 7200 # STS临时凭证有效期(秒) # ==================== 业务相关配置 (值先空着,结构可保留) ==================== -# 微信小程序配置 (开发环境可先留空或使用测试号) -WEIXIN_APPID = 'wx0e4be86faac4a8d1' # 你的小程序APPID -WEIXIN_SECRET = '3c3673cf052571dea9e3bea88e198434' # 你的小程序SECRET -WEIXIN_MCHID = '1746545364' # 商户号,支付功能需要 -WEIXIN_SHANGHUMIYAO = 'Dujieduze53631383771411017633490' # 商户密钥,支付功能需要 -# 🆕【新增】服务号配置 -WEIXIN_OFFICIAL_APPID = 'wxd400adf1911c534f' # 服务号APPID -WEIXIN_OFFICIAL_SECRET = '19c946cf02ac6ef13f40333fc8029b92' # 服务号SECRET -WEIXIN_OFFICIAL_TOKEN = '78324hjwewehrui3yferhf34' # 服务号Token -WEIXIN_OFFICIAL_ENCODING_AES_KEY = 'NimrG1Fmq2ydplHJrXeg34NqbCJerltAGVx9xJ5WBx2' # 可选 -WEIXIN_TEMPLATE_ID = 'jZ73G_0KbmFK864WVUr0QFNnqdH-ILBp_hUPMiwx4YY' # 模板ID +# 微信小程序配置 +WEIXIN_APPID = _secrets.WEIXIN_APPID +WEIXIN_SECRET = _secrets.WEIXIN_SECRET +WEIXIN_MCHID = _secrets.WEIXIN_MCHID +WEIXIN_SHANGHUMIYAO = _secrets.WEIXIN_SHANGHUMIYAO +# 服务号配置 +WEIXIN_OFFICIAL_APPID = _secrets.WEIXIN_OFFICIAL_APPID +WEIXIN_OFFICIAL_SECRET = _secrets.WEIXIN_OFFICIAL_SECRET +WEIXIN_OFFICIAL_TOKEN = _secrets.WEIXIN_OFFICIAL_TOKEN +WEIXIN_OFFICIAL_ENCODING_AES_KEY = _secrets.WEIXIN_OFFICIAL_ENCODING_AES_KEY +WEIXIN_TEMPLATE_ID = _secrets.WEIXIN_TEMPLATE_ID # 🆕【新增】模板消息配置 WEIXIN_TEMPLATE_MAX_PER_MINUTE = 950 # 每分钟最大发送量(留50缓冲) WEIXIN_TEMPLATE_BATCH_SIZE = 100 # 每批发送数量 -WEIXIN_CERT_PATH = '/opt/1panel/apps/openresty/nginx/www/sites/43.142.166.152.1/tuikuanzhengshu/apiclient_cert.pem' # 证书文件路径 -WEIXIN_KEY_PATH = '/opt/1panel/apps/openresty/nginx/www/sites/43.142.166.152.1/tuikuanzhengshu/apiclient_key.pem' # 密钥文件路径 +WEIXIN_CERT_PATH = _secrets.WEIXIN_CERT_PATH +WEIXIN_KEY_PATH = _secrets.WEIXIN_KEY_PATH WEIXIN_NOTIFY_URL = 'https://www.abas.asia/hqhd/dingdan/pay-notify/' # 支付回调地址,如:http://你的域名/api/pay/callback/ # settings.py 或相应配置文件中 @@ -356,8 +356,8 @@ ALIYUN_SMS_CONFIG = { # settings.py # settings.py # settings.py 中添加配置 -GOEASY_APPKEY = 'BC-32e2991c69bc47e1b538e73aaed37fc1' # 你的AppKey -GOEASY_SECRET = 'A469ABAA3cc34D64' # 从GoEasy控制台获取 +GOEASY_APPKEY = _secrets.GOEASY_APPKEY +GOEASY_SECRET = _secrets.GOEASY_SECRET GOEASY_REST_URL = 'https://rest-hz.goeasy.io/v2/im/message' # 正式环境 @@ -377,12 +377,11 @@ GOEASY_REST_URL = 'https://rest-hz.goeasy.io/v2/im/message' # 正式环境 # ==================== Celery配置 ==================== # Redis作为消息代理和结果后端 -# 生产环境请修改这里的Redis连接信息 -REDIS_HOST = '172.19.0.2' # Redis服务器IP -REDIS_PORT = 6379 -REDIS_PASSWORD = 'Dujieduze5.3' # 如果有密码,替换为你的密码 -REDIS_DB_CELERY = 0 -REDIS_DB_RESULT = 1 +REDIS_HOST = _secrets.REDIS_HOST +REDIS_PORT = _secrets.REDIS_PORT +REDIS_PASSWORD = _secrets.REDIS_PASSWORD +REDIS_DB_CELERY = _secrets.REDIS_DB_CELERY +REDIS_DB_RESULT = _secrets.REDIS_DB_RESULT @@ -484,11 +483,8 @@ ORDER_CHECK_INTERVAL = 5 # 每5分钟检查一次 # ==================== 跨平台订单互通配置 ==================== -# 接口认证令牌(双方约定,用于简单验证) -CROSS_PLATFORM_TOKEN = 'jdjdjshwjqk' - -# 对方平台接口基础URL(需根据实际部署修改) -PARTNER_BASE_URL = 'https://ios808.top/hqhd' +CROSS_PLATFORM_TOKEN = _secrets.CROSS_PLATFORM_TOKEN +PARTNER_BASE_URL = _secrets.PARTNER_BASE_URL # 对方平台各接口路径(可根据实际情况调整,但双方需保持一致) PARTNER_SYNC_ORDER_URL = '/dingdan/partner_sync_order' # 接收派单 @@ -496,29 +492,19 @@ PARTNER_CHECK_CLAIM_URL = '/dingdan/partner_check_claim' # 抢单询问 PARTNER_NOTIFY_CLAIM_URL = '/dingdan/partner_notify_claim' # 抢单成功通知 PARTNER_REFUND_NOTIFY_URL = '/dingdan/partner_refund_notify' # 退款通知 -# 我方代表对方发单的商家ID(需在数据库中存在,且具有商家扩展表) -AGENT_SHANGJIA_ID = '9106027' - -# 用于验证的会员ID(根据业务约定) -CROSS_PLATFORM_MEMBER_ID = 'V00QQI' +AGENT_SHANGJIA_ID = _secrets.AGENT_SHANGJIA_ID +CROSS_PLATFORM_MEMBER_ID = _secrets.CROSS_PLATFORM_MEMBER_ID # 默认游戏类型ID(当对方未传递时使用) CROSS_PLATFORM_GAME_TYPE_ID = 1 -# 允许跨平台的商家ID列表(白名单) -CROSS_PLATFORM_WHITELIST = ['5438898'] +CROSS_PLATFORM_WHITELIST = _secrets.CROSS_PLATFORM_WHITELIST -# 特殊管事ID列表(yonghuid),这些管事的首次分红金额从 UserGuanshi.fenhong_yici 字段获取 -SPECIAL_GUANSHI_IDS = [ - '2295516', - '9106027', - '2244062', - # ... 按需添加 -] +SPECIAL_GUANSHI_IDS = _secrets.SPECIAL_GUANSHI_IDS @@ -527,15 +513,15 @@ SPECIAL_GUANSHI_IDS = [ WECHAT_PAY_V3_CONFIG = { - 'MCHID': '1746545364', # 商户号 - 'APPID': 'wx0e4be86faac4a8d1', # 小程序APPID - 'API_V3_KEY': 'dujie4637rufjd98ijuyrgcvbvbn4789', # APIv3密钥(32字节) - 'PRIVATE_KEY_PATH': '/opt/1panel/apps/openresty/nginx/www/sites/43.142.166.152.443/huizhifuzhengshu/apiclient_key.pem', # 商户私钥文件路径 - 'CERT_SERIAL_NO': '13D0CECB42C48DE78FF35A8A72EF4341FE769FE9', # 商户证书序列号 - 'PLATFORM_CERT_DIR': '/opt/1panel/apps/openresty/nginx/www/sites/43.142.166.152.443/huizhifuzhengshu/pub_key.pem', # 存放微信平台证书公钥的目录(文件名:序列号.pem) - 'NOTIFY_URL': 'https://www.abas.asia/hqhd/yonghu/tixiancallback', # 回调地址 - 'TRANSFER_SCENE_ID': '1005', # 替换为你的实际场景ID + 'MCHID': _secrets.WECHAT_PAY_V3_MCHID, + 'APPID': _secrets.WECHAT_PAY_V3_APPID, + 'API_V3_KEY': _secrets.WECHAT_PAY_V3_API_V3_KEY, + 'PRIVATE_KEY_PATH': _secrets.WECHAT_PAY_V3_PRIVATE_KEY_PATH, + 'CERT_SERIAL_NO': _secrets.WECHAT_PAY_V3_CERT_SERIAL_NO, + 'PLATFORM_CERT_DIR': _secrets.WECHAT_PAY_V3_PLATFORM_CERT_DIR, + 'NOTIFY_URL': 'https://www.abas.asia/hqhd/yonghu/tixiancallback', + 'TRANSFER_SCENE_ID': '1005', } -CROSS_PLATFORM_SYNC_TOKEN = 'xK9mP2vL8qW5rT7y' \ No newline at end of file +CROSS_PLATFORM_SYNC_TOKEN = _secrets.CROSS_PLATFORM_SYNC_TOKEN \ No newline at end of file