| from __future__ import annotations | |
| LOGIN_MODE_UNIFIED = "unified" | |
| LOGIN_MODE_ZHJW_DIRECT = "zhjw_direct" | |
| LOGIN_MODES = ( | |
| LOGIN_MODE_UNIFIED, | |
| LOGIN_MODE_ZHJW_DIRECT, | |
| ) | |
| LOGIN_MODE_LABELS = { | |
| LOGIN_MODE_UNIFIED: "\u7edf\u4e00\u8ba4\u8bc1", | |
| LOGIN_MODE_ZHJW_DIRECT: "\u6559\u52a1\u76f4\u8fde", | |
| } | |
| LOGIN_MODE_DESCRIPTIONS = { | |
| LOGIN_MODE_UNIFIED: "\u901a\u8fc7\u5ddd\u5927\u7edf\u4e00\u8ba4\u8bc1\u767b\u5f55\uff1b\u7a33\u5b9a\u7248\u4fdd\u7559\u77ed\u4fe1\u9a8c\u8bc1\u7801\u8f85\u52a9\uff0c\u4f18\u5316\u7248\u4f1a\u5c1d\u8bd5 2FA \u7ed5\u8fc7\u3002", | |
| LOGIN_MODE_ZHJW_DIRECT: "\u76f4\u63a5\u6253\u5f00\u6559\u52a1\u5904\u767b\u5f55\u9875\uff0c\u81ea\u52a8\u586b\u5199\u8d26\u53f7\u5bc6\u7801\u5e76\u8bc6\u522b\u9a8c\u8bc1\u7801\u3002", | |
| } | |
| def normalize_login_mode(value: str | None) -> str: | |
| normalized = str(value or "").strip().lower() | |
| if normalized in LOGIN_MODES: | |
| return normalized | |
| return LOGIN_MODE_UNIFIED | |
| def build_login_mode_options() -> list[dict[str, str]]: | |
| return [ | |
| { | |
| "value": mode, | |
| "label": LOGIN_MODE_LABELS[mode], | |
| "description": LOGIN_MODE_DESCRIPTIONS[mode], | |
| } | |
| for mode in LOGIN_MODES | |
| ] | |