From ceaaeca1feae02dbe657a1ad58cbd3afbec33ab3 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Thu, 18 Jun 2026 19:16:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(bugcollect):=20LogQueue=20=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E8=8E=B7=E5=8F=96=20bugCollectApiUrl=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E4=BC=A0=20URL=20=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - LogQueue.logApiUrl 改为动态 getter,每次上传取最新 URL - flush() 在 URL 为空时跳过,等下次定时 flush - LogUploader.resolveUrl 自动补全相对路径 --- .../src/main/java/com/xuqm/sdk/bugcollect/BugCollect.kt | 1 - .../src/main/java/com/xuqm/sdk/bugcollect/LogQueue.kt | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/BugCollect.kt b/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/BugCollect.kt index 242c971..34747b8 100644 --- a/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/BugCollect.kt +++ b/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/BugCollect.kt @@ -180,7 +180,6 @@ object BugCollect { private fun queue(): LogQueue { return queue ?: synchronized(this) { queue ?: LogQueue( - logApiUrl = XuqmSDK.bugCollectApiUrl ?: "", appKey = XuqmSDK.appKey, appContext = XuqmSDK.appContext, ).also { queue = it } diff --git a/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/LogQueue.kt b/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/LogQueue.kt index ab7642e..89cc229 100644 --- a/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/LogQueue.kt +++ b/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/LogQueue.kt @@ -18,10 +18,11 @@ private fun JSONObject.optNullableString(key: String): String? = if (has(key) && !isNull(key)) optString(key) else null internal class LogQueue( - private val logApiUrl: String, private val appKey: String, private val appContext: Context, ) { + /** 每次上传时取最新的 URL(平台配置可能在队列创建后才下发)。 */ + private val logApiUrl: String get() = com.xuqm.sdk.XuqmSDK.bugCollectApiUrl ?: "" companion object { private const val TAG = "BugCollect" @@ -109,6 +110,8 @@ internal class LogQueue( } private fun flush() { + // URL 未就绪时跳过,等下次定时 flush + if (logApiUrl.isBlank()) return val issues: List val events: List synchronized(lock) {