diff --git a/WeChatTweak/WeChatTweak.m b/WeChatTweak/WeChatTweak.m
index 1a52a7b..6b3b6a9 100755
--- a/WeChatTweak/WeChatTweak.m
+++ b/WeChatTweak/WeChatTweak.m
@@ -175,8 +175,8 @@ static void __attribute__((constructor)) tweak(void) {
#pragma mark - AppUrlMessageMenu
- (id)tweak_contextMenu {
- MMMessageCellView *view = (MMMessageCellView *)self;
NSMenu *menu = (NSMenu *)[self tweak_contextMenu];
+ MMMessageCellView *view = (MMMessageCellView *)self;
if (view.messageTableItem.message.messageType == MessageDataTypeAppUrl) {
[menu addItem:[NSMenuItem separatorItem]];
[menu addItem:({
@@ -192,16 +192,28 @@ static void __attribute__((constructor)) tweak(void) {
}
- (void)tweakCopyUrl:(id)sender {
- MMMessageCellView *cell = (MMMessageCellView *)self;
- NSString *url = [cell.messageTableItem.message.msgContent tweak_subStringFrom:@"" to:@""];
- [[NSPasteboard generalPasteboard] clearContents];
- [[NSPasteboard generalPasteboard] setString:url forType:NSStringPboardType];
+ NSString *url = [self _tweakMessageContentUrl];
+ if (url.length) {
+ [[NSPasteboard generalPasteboard] clearContents];
+ [[NSPasteboard generalPasteboard] setString:url forType:NSStringPboardType];
+ }
}
- (void)tweakOpenUrlItem:(id)sender {
+ NSString *url = [self _tweakMessageContentUrl];
+ if (url.length) {
+ [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:url]];
+ }
+}
+
+- (NSString *)_tweakMessageContentUrl {
MMMessageCellView *cell = (MMMessageCellView *)self;
- NSString *url = [cell.messageTableItem.message.msgContent tweak_subStringFrom:@"" to:@""];
- [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:url]];
+ NSString *content = cell.messageTableItem.message.msgContent;
+ if ([content containsString:@""];
+ } else {
+ return [content tweak_subStringFrom:@"" to:@""];
+ }
}
#pragma mark - Mutiple Instance