mirror of
https://github.com/haorendashu/nowser.git
synced 2025-12-17 09:54:19 +01:00
wrap applink signer code and return blank result when catch error
This commit is contained in:
@@ -88,51 +88,53 @@ class AppLinksService with PermissionCheckMixin {
|
|||||||
}, (app, signer) async {
|
}, (app, signer) async {
|
||||||
String? response;
|
String? response;
|
||||||
|
|
||||||
if (type == "sign_event") {
|
try {
|
||||||
var tags = eventObj["tags"];
|
if (type == "sign_event") {
|
||||||
Event? event = Event(
|
var tags = eventObj["tags"];
|
||||||
app.pubkey!, eventObj["kind"], tags ?? [], eventObj["content"],
|
Event? event = Event(
|
||||||
createdAt: eventObj["created_at"]);
|
app.pubkey!, eventObj["kind"], tags ?? [], eventObj["content"],
|
||||||
log(jsonEncode(event.toJson()));
|
createdAt: eventObj["created_at"]);
|
||||||
event = await signer.signEvent(event);
|
log(jsonEncode(event.toJson()));
|
||||||
if (event == null) {
|
event = await signer.signEvent(event);
|
||||||
log("sign event fail");
|
if (event == null) {
|
||||||
return;
|
log("sign event fail");
|
||||||
|
} else {
|
||||||
|
response = event.sig;
|
||||||
|
}
|
||||||
|
} else if (type == "get_relays") {
|
||||||
|
response = '{}';
|
||||||
|
} else if (type == "get_public_key") {
|
||||||
|
response = await signer.getPublicKey();
|
||||||
|
} else if (type == "nip04_encrypt") {
|
||||||
|
response = await signer.encrypt(thirdPartyPubkey, authDetail);
|
||||||
|
} else if (type == "nip04_decrypt") {
|
||||||
|
response = await signer.decrypt(thirdPartyPubkey, authDetail);
|
||||||
|
} else if (type == "nip44_encrypt") {
|
||||||
|
response = await signer.nip44Encrypt(thirdPartyPubkey, authDetail);
|
||||||
|
} else if (type == "nip44_decrypt") {
|
||||||
|
response = await signer.nip44Decrypt(thirdPartyPubkey, authDetail);
|
||||||
}
|
}
|
||||||
|
} catch (e) {
|
||||||
response = event.sig;
|
log("AppLinksService handleUri error: $e");
|
||||||
} else if (type == "get_relays") {
|
} finally {
|
||||||
response = '{}';
|
sendResponse(callbackUrl!, response);
|
||||||
} else if (type == "get_public_key") {
|
|
||||||
response = await signer.getPublicKey();
|
|
||||||
} else if (type == "nip04_encrypt") {
|
|
||||||
response = await signer.encrypt(thirdPartyPubkey, authDetail);
|
|
||||||
} else if (type == "nip04_decrypt") {
|
|
||||||
response = await signer.decrypt(thirdPartyPubkey, authDetail);
|
|
||||||
} else if (type == "nip44_encrypt") {
|
|
||||||
response = await signer.nip44Encrypt(thirdPartyPubkey, authDetail);
|
|
||||||
} else if (type == "nip44_decrypt") {
|
|
||||||
response = await signer.nip44Decrypt(thirdPartyPubkey, authDetail);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sendResponse(callbackUrl!, response);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> sendResponse(String callbackUrl, String? response) async {
|
Future<void> sendResponse(String callbackUrl, String? response) async {
|
||||||
if (StringUtil.isBlank(response)) {
|
if (callbackUrl == UNKNOWN_CODE && StringUtil.isNotBlank(response)) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (callbackUrl == UNKNOWN_CODE) {
|
|
||||||
Clipboard.setData(ClipboardData(text: response!));
|
Clipboard.setData(ClipboardData(text: response!));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var url = callbackUrl + Uri.encodeComponent(response!);
|
var url = callbackUrl;
|
||||||
|
if (StringUtil.isNotBlank(response)) {
|
||||||
|
url += Uri.encodeComponent(response!);
|
||||||
|
}
|
||||||
var uri = Uri.parse(url);
|
var uri = Uri.parse(url);
|
||||||
// if (await canLaunchUrl(uri)) {
|
// if (await canLaunchUrl(uri)) {
|
||||||
await launchUrl(uri);
|
await launchUrl(uri);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user