mirror of
https://github.com/Sunnyyoung/WeChatTweak-macOS.git
synced 2025-07-08 00:26:06 +08:00
Removed Message Detail (#126)
This commit is contained in:
parent
a037bae557
commit
42ff1dd703
|
@ -3,7 +3,7 @@
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>BuildMachineOSBuild</key>
|
<key>BuildMachineOSBuild</key>
|
||||||
<string>18C54</string>
|
<string>18A391</string>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>en</string>
|
<string>en</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
|
@ -27,17 +27,17 @@
|
||||||
<key>DTCompiler</key>
|
<key>DTCompiler</key>
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
<key>DTPlatformBuild</key>
|
<key>DTPlatformBuild</key>
|
||||||
<string>10B61</string>
|
<string>9F2000</string>
|
||||||
<key>DTPlatformVersion</key>
|
<key>DTPlatformVersion</key>
|
||||||
<string>GM</string>
|
<string>GM</string>
|
||||||
<key>DTSDKBuild</key>
|
<key>DTSDKBuild</key>
|
||||||
<string>18B71</string>
|
<string>17E189</string>
|
||||||
<key>DTSDKName</key>
|
<key>DTSDKName</key>
|
||||||
<string>macosx10.14</string>
|
<string>macosx10.13</string>
|
||||||
<key>DTXcode</key>
|
<key>DTXcode</key>
|
||||||
<string>1010</string>
|
<string>0941</string>
|
||||||
<key>DTXcodeBuild</key>
|
<key>DTXcodeBuild</key>
|
||||||
<string>10B61</string>
|
<string>9F2000</string>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>Copyright © 2017年 Sunnyyoung. All rights reserved.</string>
|
<string>Copyright © 2017年 Sunnyyoung. All rights reserved.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -11,6 +11,15 @@
|
||||||
#import <objc/runtime.h>
|
#import <objc/runtime.h>
|
||||||
#import <objc/message.h>
|
#import <objc/message.h>
|
||||||
|
|
||||||
|
typedef NS_ENUM(unsigned int, MessageDataType) {
|
||||||
|
MessageDataTypeText = 1,
|
||||||
|
MessageDataTypeImage = 3,
|
||||||
|
MessageDataTypeVoice = 34,
|
||||||
|
MessageDataTypeVideo = 43,
|
||||||
|
MessageDataTypeSticker = 47,
|
||||||
|
MessageDataTypeLink = 49,
|
||||||
|
};
|
||||||
|
|
||||||
@interface NSString (MD5)
|
@interface NSString (MD5)
|
||||||
|
|
||||||
- (NSString *)md5String;
|
- (NSString *)md5String;
|
||||||
|
@ -43,7 +52,7 @@
|
||||||
|
|
||||||
@interface MessageData: NSObject
|
@interface MessageData: NSObject
|
||||||
|
|
||||||
@property(nonatomic) unsigned int messageType;
|
@property(nonatomic) MessageDataType messageType;
|
||||||
@property(nonatomic) unsigned int msgStatus;
|
@property(nonatomic) unsigned int msgStatus;
|
||||||
@property(nonatomic) long long mesSvrID;
|
@property(nonatomic) long long mesSvrID;
|
||||||
@property(retain, nonatomic) NSString *toUsrName;
|
@property(retain, nonatomic) NSString *toUsrName;
|
||||||
|
|
|
@ -9,3 +9,10 @@
|
||||||
"Tweak.Title.LoginAnotherAccount" = "Login new account";
|
"Tweak.Title.LoginAnotherAccount" = "Login new account";
|
||||||
"Tweak.Title.Group" = "Group";
|
"Tweak.Title.Group" = "Group";
|
||||||
"Tweak.Message.CatchARecalledMessage" = "[Catched]\n%@";
|
"Tweak.Message.CatchARecalledMessage" = "[Catched]\n%@";
|
||||||
|
"Tweak.Message.Recalled" = "recalled";
|
||||||
|
"Tweak.Message.Image" = "Image";
|
||||||
|
"Tweak.Message.Voice" = "Voice";
|
||||||
|
"Tweak.Message.Video" = "Video";
|
||||||
|
"Tweak.Message.Sticker" = "Sticker";
|
||||||
|
"Tweak.Message.Link" = "Link";
|
||||||
|
"Tweak.Message.AMessage" = "a message";
|
||||||
|
|
|
@ -9,3 +9,10 @@
|
||||||
"Tweak.Title.LoginAnotherAccount" = "登录新的账号";
|
"Tweak.Title.LoginAnotherAccount" = "登录新的账号";
|
||||||
"Tweak.Title.Group" = "群组";
|
"Tweak.Title.Group" = "群组";
|
||||||
"Tweak.Message.CatchARecalledMessage" = "[已拦截]\n%@";
|
"Tweak.Message.CatchARecalledMessage" = "[已拦截]\n%@";
|
||||||
|
"Tweak.Message.Recalled" = "撤回了";
|
||||||
|
"Tweak.Message.Image" = "图片";
|
||||||
|
"Tweak.Message.Voice" = "语音";
|
||||||
|
"Tweak.Message.Video" = "视频";
|
||||||
|
"Tweak.Message.Sticker" = "表情";
|
||||||
|
"Tweak.Message.Link" = "链接";
|
||||||
|
"Tweak.Message.AMessage" = "一条消息";
|
||||||
|
|
|
@ -9,3 +9,10 @@
|
||||||
"Tweak.Title.LoginAnotherAccount" = "登錄新的賬號";
|
"Tweak.Title.LoginAnotherAccount" = "登錄新的賬號";
|
||||||
"Tweak.Title.Group" = "群組";
|
"Tweak.Title.Group" = "群組";
|
||||||
"Tweak.Message.CatchARecalledMessage" = "[已攔截]\n%@";
|
"Tweak.Message.CatchARecalledMessage" = "[已攔截]\n%@";
|
||||||
|
"Tweak.Message.Recalled" = "撤回了";
|
||||||
|
"Tweak.Message.Image" = "图片";
|
||||||
|
"Tweak.Message.Voice" = "语音";
|
||||||
|
"Tweak.Message.Video" = "视频";
|
||||||
|
"Tweak.Message.Sticker" = "表情";
|
||||||
|
"Tweak.Message.Link" = "链接";
|
||||||
|
"Tweak.Message.AMessage" = "一条消息";
|
||||||
|
|
|
@ -81,6 +81,7 @@ static void __attribute__((constructor)) tweak(void) {
|
||||||
NSString *session = [message.msgContent tweak_subStringFrom:@"<session>" to:@"</session>"];
|
NSString *session = [message.msgContent tweak_subStringFrom:@"<session>" to:@"</session>"];
|
||||||
NSUInteger newMessageID = [message.msgContent tweak_subStringFrom:@"<newmsgid>" to:@"</newmsgid>"].longLongValue;
|
NSUInteger newMessageID = [message.msgContent tweak_subStringFrom:@"<newmsgid>" to:@"</newmsgid>"].longLongValue;
|
||||||
NSString *replaceMessage = [message.msgContent tweak_subStringFrom:@"<replacemsg><![CDATA[" to:@"]]></replacemsg>"];
|
NSString *replaceMessage = [message.msgContent tweak_subStringFrom:@"<replacemsg><![CDATA[" to:@"]]></replacemsg>"];
|
||||||
|
|
||||||
// Prepare message data
|
// Prepare message data
|
||||||
MessageData *localMessageData = [((MessageService *)self) GetMsgData:session svrId:newMessageID];
|
MessageData *localMessageData = [((MessageService *)self) GetMsgData:session svrId:newMessageID];
|
||||||
MessageData *promptMessageData = ({
|
MessageData *promptMessageData = ({
|
||||||
|
@ -94,7 +95,37 @@ static void __attribute__((constructor)) tweak(void) {
|
||||||
if ([localMessageData isSendFromSelf]) {
|
if ([localMessageData isSendFromSelf]) {
|
||||||
data.msgContent = replaceMessage;
|
data.msgContent = replaceMessage;
|
||||||
} else {
|
} else {
|
||||||
data.msgContent = [NSString stringWithFormat:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.CatchARecalledMessage"], replaceMessage];
|
NSString *fromUserName = [replaceMessage componentsSeparatedByString:@" "].firstObject;
|
||||||
|
NSString *userRevoke = [NSString stringWithFormat:@"%@ %@ ", fromUserName, [NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.Recalled"]];
|
||||||
|
NSString *tips = [NSString stringWithFormat:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.CatchARecalledMessage"], userRevoke];
|
||||||
|
NSMutableString *msgContent = [NSMutableString stringWithString:tips];
|
||||||
|
switch (localMessageData.messageType) {
|
||||||
|
case MessageDataTypeText: {
|
||||||
|
if (localMessageData.msgContent.length) {
|
||||||
|
if ([session rangeOfString:@"@chatroom"].location == NSNotFound) {
|
||||||
|
[msgContent appendFormat:@"\"%@\"", localMessageData.msgContent];
|
||||||
|
} else {
|
||||||
|
[msgContent appendFormat:@"\"%@\"", [localMessageData.msgContent componentsSeparatedByString:@":\n"].lastObject];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
[msgContent appendString:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.AMessage"]];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case MessageDataTypeImage:
|
||||||
|
[msgContent appendFormat:@"<%@>", [NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.Image"]]; break;
|
||||||
|
case MessageDataTypeVoice:
|
||||||
|
[msgContent appendFormat:@"<%@>", [NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.Voice"]]; break;
|
||||||
|
case MessageDataTypeVideo:
|
||||||
|
[msgContent appendFormat:@"<%@>", [NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.Video"]]; break;
|
||||||
|
case MessageDataTypeSticker:
|
||||||
|
[msgContent appendFormat:@"<%@>", [NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.Sticker"]]; break;
|
||||||
|
case MessageDataTypeLink:
|
||||||
|
[msgContent appendFormat:@"<%@>", [NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.Link"]]; break;
|
||||||
|
default:
|
||||||
|
[msgContent appendString:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.Message.AMessage"]]; break;
|
||||||
|
}
|
||||||
|
data.msgContent = msgContent;
|
||||||
}
|
}
|
||||||
data;
|
data;
|
||||||
});
|
});
|
||||||
|
@ -121,6 +152,9 @@ static void __attribute__((constructor)) tweak(void) {
|
||||||
[((MessageService *)self) DelMsg:session msgList:@[localMessageData] isDelAll:NO isManual:YES];
|
[((MessageService *)self) DelMsg:session msgList:@[localMessageData] isDelAll:NO isManual:YES];
|
||||||
[((MessageService *)self) AddLocalMsg:session msgData:promptMessageData];
|
[((MessageService *)self) AddLocalMsg:session msgData:promptMessageData];
|
||||||
} else {
|
} else {
|
||||||
|
if (localMessageData.messageType == MessageDataTypeText) {
|
||||||
|
[((MessageService *)self) DelMsg:session msgList:@[localMessageData] isDelAll:NO isManual:YES];
|
||||||
|
}
|
||||||
[((MessageService *)self) AddLocalMsg:session msgData:promptMessageData];
|
[((MessageService *)self) AddLocalMsg:session msgData:promptMessageData];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user