diff --git a/xuqm-sdk/src/main/ets/bugcollect/BugCollect.ets b/xuqm-sdk/src/main/ets/bugcollect/BugCollect.ets index 43a41df..2cee21d 100644 --- a/xuqm-sdk/src/main/ets/bugcollect/BugCollect.ets +++ b/xuqm-sdk/src/main/ets/bugcollect/BugCollect.ets @@ -111,7 +111,7 @@ export class BugCollect { eventId: BugCollect.generateUuid(), level: 'warning', platform: 'harmony', - fingerprint: '', // will be computed async + fingerprint: computeFingerprint('Warning', message, ''), appKey: config.appKey, exception: { type: 'Warning', value: message }, breadcrumbs: [...BugCollect.breadcrumbs], @@ -124,11 +124,7 @@ export class BugCollect { sdk: { name: SDK_NAME, version: SDK_VERSION }, } - // Compute fingerprint async - computeFingerprint('Warning', message, '').then(fp => { - issue.fingerprint = fp - BugCollect.queue?.push(issue) - }) + BugCollect.queue?.push(issue) } /** @@ -195,7 +191,7 @@ export class BugCollect { eventId: BugCollect.generateUuid(), level, platform: 'harmony', - fingerprint: fingerprint ?? '', // will be computed async + fingerprint: fingerprint ?? computeFingerprint(error.name ?? 'Error', error.message ?? '', stacktrace), appKey: config.appKey, exception: { type: error.name ?? 'Error', @@ -212,13 +208,6 @@ export class BugCollect { sdk: { name: SDK_NAME, version: SDK_VERSION }, } - // Compute fingerprint async - if (!fingerprint) { - computeFingerprint(error.name ?? 'Error', error.message ?? '', stacktrace).then(fp => { - event.fingerprint = fp - }) - } - return event } diff --git a/xuqm-sdk/src/main/ets/bugcollect/Fingerprint.ets b/xuqm-sdk/src/main/ets/bugcollect/Fingerprint.ets index d93f37b..413fde6 100644 --- a/xuqm-sdk/src/main/ets/bugcollect/Fingerprint.ets +++ b/xuqm-sdk/src/main/ets/bugcollect/Fingerprint.ets @@ -5,9 +5,9 @@ import cryptoFramework from '@ohos.security.cryptoFramework' /** - * 计算错误指纹 + * 计算错误指纹(同步版本) */ -export async function computeFingerprint(type: string, message: string, stacktrace?: string): Promise { +export function computeFingerprint(type: string, message: string, stacktrace?: string): string { const normalizedMessage = normalizeMessage(message) const top3Frames = extractTop3Frames(stacktrace) const raw = `${type}:${normalizedMessage}:${top3Frames}`