From c907d134db6444749900f3beef469138f2eba47a Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 14 Aug 2025 21:08:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E9=A6=96=E6=AC=A1=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E8=87=AA=E5=8A=A8=E6=8B=89=E8=B5=B7qq=E9=9F=B3?= =?UTF-8?q?=E4=B9=90=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agent_service/AgentService.kt | 3 +++ .../qq_music/QQMusicSingleton.kt | 22 +++++++++++++++++++ .../yunqiinnovation/qq_music/QqMusicPlugin.kt | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt index 5fe112e0c..858cc7cd8 100644 --- a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt +++ b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt @@ -34,6 +34,9 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody import java.util.concurrent.TimeUnit import java.io.IOException +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.Date /** * 代理服务事件监听接口 diff --git a/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QQMusicSingleton.kt b/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QQMusicSingleton.kt index 8b3bb69ed..8fb802fb2 100644 --- a/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QQMusicSingleton.kt +++ b/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QQMusicSingleton.kt @@ -150,6 +150,28 @@ class QQMusicSingleton private constructor() { } }) } + + /** + * 登录接口 + */ + fun autologin(callback: (Result) -> Unit) { + if (!isQQMusicInstalled()){ + callback(Result.failure(Exception("未安装QQ音乐软件,请先安装QQ音乐软件"))) + return + } + val currentActivity = activity + + // 先检查是否已经登录且未过期 + if (isLoggedIn()) { + Log.d(TAG, "用户已登录且未过期,直接返回登录信息") + ensureMusicManager(currentActivity!!) + callback(Result.success(currentLoginResult!!)) + return + }else{ + callback(Result.failure(Exception("no logined"))) + return + } + } /** * 登出 diff --git a/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QqMusicPlugin.kt b/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QqMusicPlugin.kt index 2b00dc15c..9c9cd8e26 100644 --- a/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QqMusicPlugin.kt +++ b/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QqMusicPlugin.kt @@ -66,7 +66,7 @@ class QqMusicPlugin: FlutterPlugin, MethodCallHandler, ActivityAware { override fun onMethodCall(call: MethodCall, result: Result) { when (call.method) { "login" -> { - qqMusicSingleton.login { kotlinResult -> + qqMusicSingleton.autologin { kotlinResult -> kotlinResult.fold( onSuccess = { loginResult -> result.success(mapOf(