mirror of
https://github.com/alexgetmancom/miband-bot.git
synced 2026-09-05 18:16:18 +03:00
96 lines
3.2 KiB
Python
96 lines
3.2 KiB
Python
"""常量与配置。"""
|
||
|
||
# region 小米账号 OAuth 端点
|
||
XIAOMI_LOGIN_URL = "https://account.xiaomi.com/pass/serviceLogin"
|
||
XIAOMI_LOGIN_AUTH_URL = "https://account.xiaomi.com/pass/serviceLoginAuth2"
|
||
XIAOMI_PREFERENCE_URL = "https://account.xiaomi.com/pass/preference"
|
||
XIAOMI_PHONE_INFO_URL = "https://account.xiaomi.com/pass/phoneInfo"
|
||
XIAOMI_SEND_TICKET_URL = "https://account.xiaomi.com/pass/sendServiceLoginTicket"
|
||
XIAOMI_TICKET_AUTH_URL = "https://account.xiaomi.com/pass/serviceLoginTicketAuth"
|
||
XIAOMI_QR_LOGIN_URL = "https://account.xiaomi.com/longPolling/loginUrl"
|
||
# endregion
|
||
|
||
# region 服务 SID(serviceLogin 的 sid 参数)
|
||
SERVICE_SID_HEALTH = "miothealth"
|
||
# endregion
|
||
|
||
# region STS (安全令牌交换) 端点
|
||
STS_HEALTH_URL = "https://sts-hlth.io.mi.com/healthapp/sts"
|
||
# endregion
|
||
|
||
# region API 基础 URL
|
||
HEALTH_API_BASE = "https://ru.hlth.io.mi.com"
|
||
# endregion
|
||
|
||
# region 亲友 API 路径
|
||
RELATIVES_LIST_PATH = "/app/v1/relatives/get_relative_list"
|
||
RELATIVES_LATEST_DATA_PATH = "/app/v1/data/get_latest_fitness_data"
|
||
RELATIVES_AGGREGATED_DATA_PATH = "/app/v1/data/get_aggregated_fitness_data_by_time"
|
||
RELATIVES_FITNESS_DATA_PATH = "/app/v1/data/get_fitness_data_by_time"
|
||
RELATIVES_VERIFY_USER_PATH = "/app/v1/relatives/verify_userinfo_by_id"
|
||
RELATIVES_SEND_INVITE_PATH = "/app/v1/relatives/send_invite"
|
||
RELATIVES_OPERATE_INVITE_PATH = "/app/v1/relatives/operate_invite"
|
||
RELATIVES_DELETE_PATH = "/app/v1/relatives/delete_relative"
|
||
RELATIVES_GET_SHARED_TYPES_PATH = "/app/v1/relatives/get_shared_data_types"
|
||
RELATIVES_GET_APPLIED_SHARED_TYPES_PATH = "/app/v1/relatives/get_applied_shared_data_types"
|
||
RELATIVES_GET_FAMILY_MEMBER_PATH = "/app/v1/relatives/get_family_member"
|
||
RELATIVES_GET_INVITE_ID_PATH = "/app/v1/relatives/get_invite_unique_id"
|
||
RELATIVES_GET_TOPIC_SUBS_PATH = "/app/v1/relatives/get_topic_subscriptions"
|
||
# endregion
|
||
|
||
# region 消息 API 路径
|
||
MESSAGE_GET_LIST_PATH = "/app/v1/message/get_msg_list"
|
||
MESSAGE_CHECK_NEW_PATH = "/app/v1/message/check_new_msg"
|
||
MESSAGE_MODULE_RELATIVES = 1
|
||
# endregion
|
||
|
||
# region 业务错误码
|
||
ERR_NOT_RELATIVES = -4002001
|
||
ERR_NOT_SHARED_DATA_TYPE = -4002004
|
||
ERR_DEVICE_UNTRUST = 70016
|
||
# endregion
|
||
|
||
# region 数据类型 key(用于 get_aggregated_data / get_fitness_data 请求)
|
||
DATA_KEY_GOAL = "goal"
|
||
DATA_KEY_HEART_RATE = "heart_rate"
|
||
DATA_KEY_SLEEP = "sleep"
|
||
DATA_KEY_BLOOD_PRESSURE = "blood_pressure"
|
||
DATA_KEY_STEPS = "steps"
|
||
DATA_KEY_CALORIES = "calories"
|
||
DATA_KEY_VALID_STAND = "valid_stand"
|
||
DATA_KEY_INTENSITY = "intensity"
|
||
DATA_KEY_WEIGHT = "weight"
|
||
DATA_KEY_SPO2 = "spo2"
|
||
DATA_TAG_DAILY_REPORT = "daily_report"
|
||
# endregion
|
||
|
||
# region 可共享数据类型(send_invite 的 auth_data 全量)
|
||
ALL_SHARED_DATA_TYPES: tuple[str, ...] = (
|
||
"goal",
|
||
"heart_rate",
|
||
"sleep",
|
||
"blood_pressure",
|
||
"steps",
|
||
"calories",
|
||
"valid_stand",
|
||
"intensity",
|
||
"weight",
|
||
"spo2",
|
||
)
|
||
# endregion
|
||
|
||
# region verify_userinfo_by_id 的 verify_type 枚举
|
||
VERIFY_TYPE_XIAOMI_ID = 1
|
||
# endregion
|
||
|
||
# region HTTP 公共 Header
|
||
DEFAULT_USER_AGENT = "Android-12-3.53.1-vivo-V2284A"
|
||
DEFAULT_LOGIN_USER_AGENT = (
|
||
"Dalvik/2.1.0 (Linux; U; Android 12; V2284A Build/ab8c0d1.1) "
|
||
"APP/mi.health APPV/353001 MK/VjIyODRB "
|
||
"SDKV/5.3.0.release.68 CPN/com.mi.health PassportSDK/"
|
||
)
|
||
APP_NAME = "com.mi.health"
|
||
REGION_TAG = "ru"
|
||
# endregion
|