wrap applink signer code and return blank result when catch error

This commit is contained in:
DASHU
2025-12-01 00:18:46 +08:00
parent b6f53b7fb1
commit a9552bd999

View File

@@ -88,6 +88,7 @@ class AppLinksService with PermissionCheckMixin {
}, (app, signer) async {
String? response;
try {
if (type == "sign_event") {
var tags = eventObj["tags"];
Event? event = Event(
@@ -97,10 +98,9 @@ class AppLinksService with PermissionCheckMixin {
event = await signer.signEvent(event);
if (event == null) {
log("sign event fail");
return;
}
} else {
response = event.sig;
}
} else if (type == "get_relays") {
response = '{}';
} else if (type == "get_public_key") {
@@ -114,22 +114,24 @@ class AppLinksService with PermissionCheckMixin {
} else if (type == "nip44_decrypt") {
response = await signer.nip44Decrypt(thirdPartyPubkey, authDetail);
}
} catch (e) {
log("AppLinksService handleUri error: $e");
} finally {
sendResponse(callbackUrl!, response);
}
});
}
Future<void> sendResponse(String callbackUrl, String? response) async {
if (StringUtil.isBlank(response)) {
return;
}
if (callbackUrl == UNKNOWN_CODE) {
if (callbackUrl == UNKNOWN_CODE && StringUtil.isNotBlank(response)) {
Clipboard.setData(ClipboardData(text: response!));
return;
}
var url = callbackUrl + Uri.encodeComponent(response!);
var url = callbackUrl;
if (StringUtil.isNotBlank(response)) {
url += Uri.encodeComponent(response!);
}
var uri = Uri.parse(url);
// if (await canLaunchUrl(uri)) {
await launchUrl(uri);