"""俱乐部是否强制收集手机号(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