mirror of
https://github.com/Sunnyyoung/WeChatTweak-macOS.git
synced 2025-07-08 00:26:06 +08:00
parent
551ac02551
commit
e963b6a7e7
|
@ -9,6 +9,8 @@
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
7D14E5A41F6447DB00D75132 /* AlfredManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D14E5A21F6447DB00D75132 /* AlfredManager.h */; };
|
7D14E5A41F6447DB00D75132 /* AlfredManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D14E5A21F6447DB00D75132 /* AlfredManager.h */; };
|
||||||
7D14E5A51F6447DB00D75132 /* AlfredManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D14E5A31F6447DB00D75132 /* AlfredManager.m */; };
|
7D14E5A51F6447DB00D75132 /* AlfredManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D14E5A31F6447DB00D75132 /* AlfredManager.m */; };
|
||||||
|
7D2194C32646E62E0068F4CC /* AutoAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D2194C12646E62E0068F4CC /* AutoAuth.h */; };
|
||||||
|
7D2194C42646E62E0068F4CC /* AutoAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D2194C22646E62E0068F4CC /* AutoAuth.m */; };
|
||||||
7D54A05C20E74D9400CB5306 /* TweakPreferencesController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D54A05E20E74D9400CB5306 /* TweakPreferencesController.xib */; };
|
7D54A05C20E74D9400CB5306 /* TweakPreferencesController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D54A05E20E74D9400CB5306 /* TweakPreferencesController.xib */; };
|
||||||
7D54A06A20E74FE500CB5306 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D54A06C20E74FE500CB5306 /* Localizable.strings */; };
|
7D54A06A20E74FE500CB5306 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D54A06C20E74FE500CB5306 /* Localizable.strings */; };
|
||||||
7D9049F51F82A41A004E6370 /* fishhook.c in Sources */ = {isa = PBXBuildFile; fileRef = 7D9049F31F82A415004E6370 /* fishhook.c */; };
|
7D9049F51F82A41A004E6370 /* fishhook.c in Sources */ = {isa = PBXBuildFile; fileRef = 7D9049F31F82A415004E6370 /* fishhook.c */; };
|
||||||
|
@ -34,6 +36,8 @@
|
||||||
153504EC5C9196C0D85213CF /* libPods-WeChatTweak.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-WeChatTweak.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
153504EC5C9196C0D85213CF /* libPods-WeChatTweak.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-WeChatTweak.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
7D14E5A21F6447DB00D75132 /* AlfredManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AlfredManager.h; sourceTree = "<group>"; };
|
7D14E5A21F6447DB00D75132 /* AlfredManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AlfredManager.h; sourceTree = "<group>"; };
|
||||||
7D14E5A31F6447DB00D75132 /* AlfredManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AlfredManager.m; sourceTree = "<group>"; };
|
7D14E5A31F6447DB00D75132 /* AlfredManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AlfredManager.m; sourceTree = "<group>"; };
|
||||||
|
7D2194C12646E62E0068F4CC /* AutoAuth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AutoAuth.h; sourceTree = "<group>"; };
|
||||||
|
7D2194C22646E62E0068F4CC /* AutoAuth.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AutoAuth.m; sourceTree = "<group>"; };
|
||||||
7D54A05F20E74E4600CB5306 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TweakPreferencesController.xib; sourceTree = "<group>"; };
|
7D54A05F20E74E4600CB5306 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TweakPreferencesController.xib; sourceTree = "<group>"; };
|
||||||
7D54A07020E74FFD00CB5306 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
7D54A07020E74FFD00CB5306 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
7D54A07120E7535F00CB5306 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
7D54A07120E7535F00CB5306 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||||
|
@ -159,6 +163,8 @@
|
||||||
children = (
|
children = (
|
||||||
7DF8422A1F40583F00D42D79 /* WeChatTweak.h */,
|
7DF8422A1F40583F00D42D79 /* WeChatTweak.h */,
|
||||||
7DF842331F4058AB00D42D79 /* WeChatTweak.m */,
|
7DF842331F4058AB00D42D79 /* WeChatTweak.m */,
|
||||||
|
7D2194C12646E62E0068F4CC /* AutoAuth.h */,
|
||||||
|
7D2194C22646E62E0068F4CC /* AutoAuth.m */,
|
||||||
7D5AAF3720DF4BB300860EEE /* Vendor */,
|
7D5AAF3720DF4BB300860EEE /* Vendor */,
|
||||||
7D5AAF3620DF4BA400860EEE /* Category */,
|
7D5AAF3620DF4BA400860EEE /* Category */,
|
||||||
7D5AAF3520DF4B9700860EEE /* Controller */,
|
7D5AAF3520DF4B9700860EEE /* Controller */,
|
||||||
|
@ -202,6 +208,7 @@
|
||||||
7D14E5A41F6447DB00D75132 /* AlfredManager.h in Headers */,
|
7D14E5A41F6447DB00D75132 /* AlfredManager.h in Headers */,
|
||||||
7DF842601F40590500D42D79 /* WeChatTweakHeaders.h in Headers */,
|
7DF842601F40590500D42D79 /* WeChatTweakHeaders.h in Headers */,
|
||||||
7DF842521F4058C600D42D79 /* TweakPreferencesController.h in Headers */,
|
7DF842521F4058C600D42D79 /* TweakPreferencesController.h in Headers */,
|
||||||
|
7D2194C32646E62E0068F4CC /* AutoAuth.h in Headers */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -328,6 +335,7 @@
|
||||||
7DB8AFBF206211D900E683AE /* WTConfigManager.m in Sources */,
|
7DB8AFBF206211D900E683AE /* WTConfigManager.m in Sources */,
|
||||||
7D9049F51F82A41A004E6370 /* fishhook.c in Sources */,
|
7D9049F51F82A41A004E6370 /* fishhook.c in Sources */,
|
||||||
7DF8425C1F4058DD00D42D79 /* NSBundle+WeChatTweak.m in Sources */,
|
7DF8425C1F4058DD00D42D79 /* NSBundle+WeChatTweak.m in Sources */,
|
||||||
|
7D2194C42646E62E0068F4CC /* AutoAuth.m in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|
20
WeChatTweak/AutoAuth.h
Normal file
20
WeChatTweak/AutoAuth.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
//
|
||||||
|
// AutoAuth.h
|
||||||
|
// WeChatTweak
|
||||||
|
//
|
||||||
|
// Created by Sunny Young on 2021/5/8.
|
||||||
|
// Copyright © 2021 Sunnyyoung. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <AppKit/AppKit.h>
|
||||||
|
#import <objc/runtime.h>
|
||||||
|
#import <objc/message.h>
|
||||||
|
#import <JRSwizzle/JRSwizzle.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface NSObject (AutoAuth)
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
56
WeChatTweak/AutoAuth.m
Normal file
56
WeChatTweak/AutoAuth.m
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
//
|
||||||
|
// AutoAuth.m
|
||||||
|
// WeChatTweak
|
||||||
|
//
|
||||||
|
// Created by Sunny Young on 2021/5/8.
|
||||||
|
// Copyright © 2021 Sunnyyoung. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "AutoAuth.h"
|
||||||
|
#import "WeChatTweakHeaders.h"
|
||||||
|
#import "WTConfigManager.h"
|
||||||
|
|
||||||
|
@implementation NSObject(AutoAuth)
|
||||||
|
|
||||||
|
static void __attribute__((constructor)) tweak(void) {
|
||||||
|
[objc_getClass("MMLoginOneClickViewController") jr_swizzleMethod:NSSelectorFromString(@"onLoginButtonClicked:") withMethod:@selector(tweak_onLoginButtonClicked:) error:nil];
|
||||||
|
[objc_getClass("MMMainViewController") jr_swizzleMethod:NSSelectorFromString(@"viewDidLoad") withMethod:@selector(tweak_viewDidLoad) error:nil];
|
||||||
|
[objc_getClass("LogoutCGI") jr_swizzleMethod:NSSelectorFromString(@"FFVCRecvDataAddDataToMsgChatMgrRecvZZ:") withMethod:@selector(tweak_FFVCRecvDataAddDataToMsgChatMgrRecvZZ:) error:nil];
|
||||||
|
[objc_getClass("AccountService") jr_swizzleMethod:NSSelectorFromString(@"FFAddSvrMsgImgVCZZ") withMethod:@selector(tweak_FFAddSvrMsgImgVCZZ) error:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)tweak_onLoginButtonClicked:(id)sender {
|
||||||
|
AccountService *accountService = [[objc_getClass("MMServiceCenter") defaultCenter] getService:objc_getClass("AccountService")];
|
||||||
|
BOOL enabledAutoAuth = [NSUserDefaults.standardUserDefaults boolForKey:WeChatTweakPreferenceAutoAuthKey];
|
||||||
|
BOOL canAutoAuth = accountService.canAutoAuth;
|
||||||
|
if (enabledAutoAuth && canAutoAuth) {
|
||||||
|
[accountService AutoAuth];
|
||||||
|
} else {
|
||||||
|
[self tweak_onLoginButtonClicked:sender];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)tweak_viewDidLoad {
|
||||||
|
[self tweak_viewDidLoad];
|
||||||
|
if ([NSUserDefaults.standardUserDefaults boolForKey:WeChatTweakPreferenceAutoAuthKey]) {
|
||||||
|
MMSessionMgr *mgr = [[objc_getClass("MMServiceCenter") defaultCenter] getService:objc_getClass("MMSessionMgr")];
|
||||||
|
[mgr loadSessionData];
|
||||||
|
[mgr loadBrandSessionData];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)tweak_FFVCRecvDataAddDataToMsgChatMgrRecvZZ:(id)arg {
|
||||||
|
if (![NSUserDefaults.standardUserDefaults boolForKey:WeChatTweakPreferenceAutoAuthKey]) {
|
||||||
|
[self tweak_FFVCRecvDataAddDataToMsgChatMgrRecvZZ:arg];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)tweak_FFAddSvrMsgImgVCZZ {
|
||||||
|
if ([NSUserDefaults.standardUserDefaults boolForKey:WeChatTweakPreferenceAutoAuthKey]) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
[self tweak_FFAddSvrMsgImgVCZZ];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
|
@ -8,15 +8,6 @@
|
||||||
|
|
||||||
#import "WeChatTweakHeaders.h"
|
#import "WeChatTweakHeaders.h"
|
||||||
|
|
||||||
typedef NS_ENUM(NSUInteger, RevokeNotificationType) {
|
|
||||||
RevokeNotificationTypeFollow = 0,
|
|
||||||
RevokeNotificationTypeReceiveAll,
|
|
||||||
RevokeNotificationTypeDisable,
|
|
||||||
};
|
|
||||||
|
|
||||||
static NSString * const WeChatTweakPreferenceAutoAuthKey = @"WeChatTweakPreferenceAutoAuthKey";
|
|
||||||
static NSString * const WeChatTweakPreferenceRevokeNotificationTypeKey = @"WeChatTweakPreferenceRevokeNotificationTypeKey";
|
|
||||||
|
|
||||||
@interface TweakPreferencesController : NSViewController
|
@interface TweakPreferencesController : NSViewController
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -11,6 +11,12 @@
|
||||||
#import <objc/runtime.h>
|
#import <objc/runtime.h>
|
||||||
#import <objc/message.h>
|
#import <objc/message.h>
|
||||||
|
|
||||||
|
typedef NS_ENUM(NSUInteger, RevokeNotificationType) {
|
||||||
|
RevokeNotificationTypeFollow = 0,
|
||||||
|
RevokeNotificationTypeReceiveAll,
|
||||||
|
RevokeNotificationTypeDisable,
|
||||||
|
};
|
||||||
|
|
||||||
typedef NS_ENUM(unsigned int, MessageDataType) {
|
typedef NS_ENUM(unsigned int, MessageDataType) {
|
||||||
MessageDataTypeText = 1,
|
MessageDataTypeText = 1,
|
||||||
MessageDataTypeImage = 3,
|
MessageDataTypeImage = 3,
|
||||||
|
@ -21,6 +27,9 @@ typedef NS_ENUM(unsigned int, MessageDataType) {
|
||||||
MessageDataTypePrompt = 10000
|
MessageDataTypePrompt = 10000
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static NSString * const WeChatTweakPreferenceAutoAuthKey = @"WeChatTweakPreferenceAutoAuthKey";
|
||||||
|
static NSString * const WeChatTweakPreferenceRevokeNotificationTypeKey = @"WeChatTweakPreferenceRevokeNotificationTypeKey";
|
||||||
|
|
||||||
@interface NSString (MD5)
|
@interface NSString (MD5)
|
||||||
|
|
||||||
- (NSString *)md5String;
|
- (NSString *)md5String;
|
||||||
|
@ -29,8 +38,6 @@ typedef NS_ENUM(unsigned int, MessageDataType) {
|
||||||
|
|
||||||
@interface WeChat : NSObject
|
@interface WeChat : NSObject
|
||||||
|
|
||||||
@property(nonatomic) BOOL isAppTerminating;
|
|
||||||
|
|
||||||
+ (instancetype)sharedInstance;
|
+ (instancetype)sharedInstance;
|
||||||
- (void)lock:(id)block;
|
- (void)lock:(id)block;
|
||||||
- (void)showMainWindow;
|
- (void)showMainWindow;
|
||||||
|
@ -112,13 +119,6 @@ typedef NS_ENUM(unsigned int, MessageDataType) {
|
||||||
|
|
||||||
- (BOOL)canAutoAuth;
|
- (BOOL)canAutoAuth;
|
||||||
- (void)AutoAuth;
|
- (void)AutoAuth;
|
||||||
- (void)onAuthOKOfUser:(id)arg1 withSessionKey:(id)arg2 withServerId:(id)arg3 autoAuthKey:(id)arg4 isAutoAuth:(BOOL)arg5;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
@interface LogoutCGI: NSObject
|
|
||||||
|
|
||||||
- (void)sendLogoutCGIWithCompletion:(id)arg1;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@ -128,6 +128,13 @@ typedef NS_ENUM(unsigned int, MessageDataType) {
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@interface MMSessionMgr: NSObject
|
||||||
|
|
||||||
|
- (void)loadSessionData;
|
||||||
|
- (void)loadBrandSessionData;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
@protocol MASPreferencesViewController <NSObject>
|
@protocol MASPreferencesViewController <NSObject>
|
||||||
|
|
||||||
@property(readonly, nonatomic) NSString *toolbarItemLabel;
|
@property(readonly, nonatomic) NSString *toolbarItemLabel;
|
||||||
|
|
|
@ -53,11 +53,6 @@ static void __attribute__((constructor)) tweak(void) {
|
||||||
// Method Swizzling
|
// Method Swizzling
|
||||||
class_addMethod(objc_getClass("AppDelegate"), @selector(applicationDockMenu:), method_getImplementation(class_getInstanceMethod(objc_getClass("AppDelegate"), @selector(tweak_applicationDockMenu:))), "@:@");
|
class_addMethod(objc_getClass("AppDelegate"), @selector(applicationDockMenu:), method_getImplementation(class_getInstanceMethod(objc_getClass("AppDelegate"), @selector(tweak_applicationDockMenu:))), "@:@");
|
||||||
[objc_getClass("AppDelegate") jr_swizzleMethod:NSSelectorFromString(@"applicationDidFinishLaunching:") withMethod:@selector(tweak_applicationDidFinishLaunching:) error:nil];
|
[objc_getClass("AppDelegate") jr_swizzleMethod:NSSelectorFromString(@"applicationDidFinishLaunching:") withMethod:@selector(tweak_applicationDidFinishLaunching:) error:nil];
|
||||||
[objc_getClass("LogoutCGI") jr_swizzleMethod:NSSelectorFromString(@"sendLogoutCGIWithCompletion:") withMethod:@selector(tweak_sendLogoutCGIWithCompletion:) error:nil];
|
|
||||||
[objc_getClass("LogoutCGI") jr_swizzleMethod:NSSelectorFromString(@"FFVCRecvDataAddDataToMsgChatMgrRecvZZ:") withMethod:@selector(tweak_sendLogoutCGIWithCompletion:) error:nil];
|
|
||||||
[objc_getClass("AccountService") jr_swizzleMethod:NSSelectorFromString(@"onAuthOKOfUser:withSessionKey:withServerId:autoAuthKey:isAutoAuth:") withMethod:@selector(tweak_onAuthOKOfUser:withSessionKey:withServerId:autoAuthKey:isAutoAuth:) error:nil];
|
|
||||||
[objc_getClass("AccountService") jr_swizzleMethod:NSSelectorFromString(@"ManualLogout") withMethod:@selector(tweak_ManualLogout) error:nil];
|
|
||||||
[objc_getClass("AccountService") jr_swizzleMethod:NSSelectorFromString(@"FFAddSvrMsgImgVCZZ") withMethod:@selector(tweak_ManualLogout) error:nil];
|
|
||||||
[objc_getClass("MessageService") jr_swizzleMethod:NSSelectorFromString(@"onRevokeMsg:") withMethod:@selector(tweak_onRevokeMsg:) error:nil];
|
[objc_getClass("MessageService") jr_swizzleMethod:NSSelectorFromString(@"onRevokeMsg:") withMethod:@selector(tweak_onRevokeMsg:) error:nil];
|
||||||
[objc_getClass("MessageService") jr_swizzleMethod:NSSelectorFromString(@"FFToNameFavChatZZ:") withMethod:@selector(tweak_onRevokeMsg:) error:nil];
|
[objc_getClass("MessageService") jr_swizzleMethod:NSSelectorFromString(@"FFToNameFavChatZZ:") withMethod:@selector(tweak_onRevokeMsg:) error:nil];
|
||||||
[objc_getClass("MessageService") jr_swizzleMethod:NSSelectorFromString(@"FFToNameFavChatZZ:sessionMsgList:") withMethod:@selector(tweak_onRevokeMsg:sessionMessageList:) error:nil];
|
[objc_getClass("MessageService") jr_swizzleMethod:NSSelectorFromString(@"FFToNameFavChatZZ:sessionMsgList:") withMethod:@selector(tweak_onRevokeMsg:sessionMessageList:) error:nil];
|
||||||
|
@ -435,42 +430,11 @@ static void __attribute__((constructor)) tweak(void) {
|
||||||
[task waitUntilExit];
|
[task waitUntilExit];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - Auto Auth
|
#pragma mark - Alfred
|
||||||
|
|
||||||
- (void)tweak_applicationDidFinishLaunching:(NSNotification *)notification {
|
- (void)tweak_applicationDidFinishLaunching:(NSNotification *)notification {
|
||||||
|
[AlfredManager.sharedInstance startListener];
|
||||||
[self tweak_applicationDidFinishLaunching:notification];
|
[self tweak_applicationDidFinishLaunching:notification];
|
||||||
NSString *bundleIdentifier = NSBundle.mainBundle.bundleIdentifier;
|
|
||||||
NSArray *instances = [NSRunningApplication tweak_runningApplicationsWithBundleIdentifier:bundleIdentifier];
|
|
||||||
// Detect multiple instance conflict
|
|
||||||
BOOL hasInstance = instances.count == 1;
|
|
||||||
BOOL enabledAutoAuth = [[NSUserDefaults standardUserDefaults] boolForKey:WeChatTweakPreferenceAutoAuthKey];
|
|
||||||
if (hasInstance && enabledAutoAuth) {
|
|
||||||
AccountService *accountService = [[objc_getClass("MMServiceCenter") defaultCenter] getService:objc_getClass("AccountService")];
|
|
||||||
if ([accountService canAutoAuth]) {
|
|
||||||
[accountService AutoAuth];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)tweak_onAuthOKOfUser:(id)arg1 withSessionKey:(id)arg2 withServerId:(id)arg3 autoAuthKey:(id)arg4 isAutoAuth:(BOOL)arg5 {
|
|
||||||
[[AlfredManager sharedInstance] startListener];
|
|
||||||
[self tweak_onAuthOKOfUser:arg1 withSessionKey:arg2 withServerId:arg3 autoAuthKey:arg4 isAutoAuth:arg5];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)tweak_sendLogoutCGIWithCompletion:(id)completion {
|
|
||||||
BOOL enabledAutoAuth = [[NSUserDefaults standardUserDefaults] boolForKey:WeChatTweakPreferenceAutoAuthKey];
|
|
||||||
WeChat *wechat = [objc_getClass("WeChat") sharedInstance];
|
|
||||||
if (enabledAutoAuth && wechat.isAppTerminating) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
[self tweak_sendLogoutCGIWithCompletion:completion];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)tweak_ManualLogout {
|
|
||||||
BOOL enabledAutoAuth = [[NSUserDefaults standardUserDefaults] boolForKey:WeChatTweakPreferenceAutoAuthKey];
|
|
||||||
if (!enabledAutoAuth) {
|
|
||||||
[self tweak_ManualLogout];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - Preferences Window
|
#pragma mark - Preferences Window
|
||||||
|
|
Loading…
Reference in New Issue
Block a user