feat: 俱乐部可关闭强制收集手机号(yhbdsjh 返回无需认证)

This commit is contained in:
XingQue
2026-07-30 21:12:56 +08:00
parent 09f05605ff
commit b5c719e7c1
3 changed files with 62 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
"""俱乐部是否强制收集手机号config_json.force_phone_auth"""
import logging
logger = logging.getLogger(__name__)
CONFIG_KEY = 'force_phone_auth'
def is_club_force_phone_auth(club_id: str) -> bool:
"""
是否强制手机号认证。默认 True与现网一致门槛用户未认证则 need_auth
后台关闭后,/peizhi/yhbdsjh 恒返回 need_auth=False前端不会再强制跳认证页。
"""
cid = (club_id or '').strip()
if not cid:
return True
try:
from jituan.models import Club
club = Club.query.filter(club_id=cid).first()
if not club and cid != cid.lower():
club = Club.query.filter(club_id=cid.lower()).first()
if not club:
return True
cfg = club.config_json or {}
if CONFIG_KEY not in cfg:
return True
raw = cfg.get(CONFIG_KEY)
if isinstance(raw, str):
return raw.strip().lower() in ('1', 'true', 'yes', 'on')
return bool(raw)
except Exception:
logger.exception('read force_phone_auth failed club=%s', cid)
return True
def set_club_force_phone_auth(club, enabled: bool) -> None:
"""写入 club.config_json调用方负责 save。"""
cfg = dict(getattr(club, 'config_json', None) or {})
cfg[CONFIG_KEY] = bool(enabled)
club.config_json = cfg