diff --git a/patch_v2/ncm_app/app/ui/login.c b/patch_v2/ncm_app/app/ui/login.c index 9a0f9d2..be07355 100644 --- a/patch_v2/ncm_app/app/ui/login.c +++ b/patch_v2/ncm_app/app/ui/login.c @@ -96,7 +96,14 @@ static void *login_worker(void *arg) { (void)arg; char unikey[64]; - if (get_unikey_and_qr(unikey, sizeof unikey) != NCM_OK) { g_err = 1; return NULL; } + /* 自动重试:unikey 失败(网络未就绪/抖动)时 5s 退避重试,不再要求用户点重试 */ + int retry = 0; + while (get_unikey_and_qr(unikey, sizeof unikey) != NCM_OK) { + g_err = 1; + if (g_app_quit) return NULL; + meow_log(MEOW_LOG_WARN, "login: unikey retry in 5s (attempt %d)", ++retry); + usleep(5 * 1000 * 1000); + } meow_log(MEOW_LOG_INFO, "login: poll worker start"); char cookie[NCM_COOKIE_MAX]; diff --git a/patch_v2/ncm_app/ncm b/patch_v2/ncm_app/ncm index 4088884..48bf2c1 100755 Binary files a/patch_v2/ncm_app/ncm and b/patch_v2/ncm_app/ncm differ