diff --git a/CHANGELOG.md b/CHANGELOG.md
index 58ff064..95b7347 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,30 +1,39 @@
# DKWechatHelper ChangeLog
+[v1.0.4](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.4) / 2020-07-07
+what's new
+* 新增集赞助手
+* 新增CallKit
+* 支持7.0.14
+* 更新越狱包7.0.14
+* 更新已注入助手的7.0.14未签名包
+* 增加越狱方式安装包
+* 新增越狱源安装
-[v1.0.3](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.3) / 2020-06-29
-what's new
+[v1.0.3](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.3) / 2020-06-29
+what's new
* 适配新版本微信
* 支持7.0.13
* 更新越狱包7.0.13
* 更新已注入助手的7.0.13未签名包
* 增加越狱方式安装包
-[v1.0.2](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.2) / 2020-01-29
-what's new
+[v1.0.2](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.2) / 2020-01-29
+what's new
* 修复请我喝咖啡闪退
* 支持7.0.11
* 更新越狱包7.0.11
* 更新已注入助手的7.0.11未签名包
-[v1.0.1](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.1) / 2020-01-21
-what's new
+[v1.0.1](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.1) / 2020-01-21
+what's new
* 修复微信7.0.8~7.0.10设置步数和抢红包延迟闪退
* 新增越狱包7.0.8、7.0.10
* 新增已注入助手的7.0.10未签名包
-[v1.0.0](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.0) / 2019-02-06
+[v1.0.0](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.0) / 2019-02-06
what's new
* 修改获取NavigationController逻辑
diff --git a/README.md b/README.md
index fdff373..5e77611 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,7 @@
不止于抢红包,功能丰富的微信插件。本软件已成功运行在(iphone7-iphone11、iPad)
给个⭐️不迷路↗️
+[v1.0.4](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.4)适用微信7.0.14
[v1.0.3](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.3)适用微信7.0.13
[v1.0.2](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.2)适用微信7.0.11
[v1.0.1](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.1)适用微信7.0.8~7.0.10
@@ -14,12 +15,19 @@
3.非越狱可后台抢红包
4.安全高效源码公开
5.设置方便,手机无需越狱
-## 功能
-1.自动抢红包
-2.消息防撤回
-3.微信步数修改
-4.小游戏作弊(剪刀石头布和掷骰子)
-5.自动抢红包高级配置
+## 功能
+
+* [x] 自动抢红包
+* [x] 后台抢红包
+* [x] 群聊过滤
+* [x] 关键词过滤
+* [x] 消息防撤回
+* [x] 消息防撤回
+* [x] 微信步数修改
+* [x] 小游戏作弊(剪刀石头布和掷骰子)
+* [x] CallKit锁屏接视频语音
+* [x] 集赞助手
+
安装后在微信设置中点击“微信小助手”
更多请查看下图:
@@ -32,7 +40,9 @@
* [7.0.2](https://pan.baidu.com/s/1SHZHfu94Z_jhCkaaFDx8pA)
* [7.0.8-*提取码:h54d*](https://pan.baidu.com/s/11VoUXPC4vb5zg8HzP3kC0Q)
* [7.0.11-*提取码: 2igg*](https://pan.baidu.com/s/1mU_mezsWhqL2-AY0PB-vVg)
-* [7.0.13-*提取码: nx4m*](https://pan.baidu.com/s/1rqB0pV4zMEB6Z3VJTsTa8Q)
+* [7.0.13-*提取码: nx4m*](https://pan.baidu.com/s/1rqB0pV4zMEB6Z3VJTsTa8Q)
+* [7.0.14](https://n802.com/file/24576815-452231690)
+
将下载的微信放到'/dkhelper/dkhelper/TargetApp/'目录下该目录下有一个空白文件’put ipa or app here‘,和它放在同一文件夹下即可,修改项目BundleId及签名信息,选择真机设备运行即可
2.开发者:
@@ -40,6 +50,7 @@
* [未签名版7.0.0](https://pan.baidu.com/s/1-zEUQRGn3H4bZVqHpyffzQ)
* [未签名版7.0.11-*提取码: fe9f*](https://pan.baidu.com/s/1sOPCqnCPxSdIKq7TKuHK9g)
* [未签名版7.0.13-*提取码: fhes*](https://pan.baidu.com/s/1DgSl5u0Gip3cNdqZmRFEWw)
+* [未签名版7.0.14](https://n802.com/file/24576815-452232682)
注:推荐使用[ios-app-signer](https://github.com/DanTheMan827/ios-app-signer)签名,使用方法自行百度
3.普通用户:
@@ -47,7 +58,8 @@
下载后使用 [Cydia Impactor](http://www.cydiaimpactor.com/)安装
4.越狱用户:
-[deb安装包地址 - *提取码: dq53*](https://pan.baidu.com/s/1NyDrM_VF3JYv7PAyW_VkcQ)
+[deb安装包地址 ](https://n802.com/file/24576815-452232684)
+或添加源`https://dkjone.github.io/`下载
### 请我喝杯☕️
diff --git a/dkhelper/dkhelper/Info.plist b/dkhelper/dkhelper/Info.plist
index 9a44c1f..6d2c74b 100644
--- a/dkhelper/dkhelper/Info.plist
+++ b/dkhelper/dkhelper/Info.plist
@@ -152,7 +152,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 7.0.13
+ 7.0.14
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -181,7 +181,7 @@
CFBundleVersion
- 7.0.13.35
+ 7.0.14.32
DTAppStoreToolsBuild
11E608a
DTCompiler
@@ -347,6 +347,14 @@
UIStatusBarStyle
UIStatusBarStyleBlackOpaque
+ UISupportedDevices
+
+ iPhone10,1
+ iPhone10,4
+ iPhone12,8
+ iPhone9,1
+ iPhone9,3
+
UISupportedInterfaceOrientations
UIInterfaceOrientationPortrait
@@ -365,22 +373,22 @@
UIViewControllerBasedStatusBarAppearance
WeChatBundleVersion
- 7.0.13.35
+ 7.0.14.32
WeChatFeatureIdentifier
- release_appstore_7.0.13
+ release_appstore_7.0.14
build_time
- 2020-05-27 22:42:30
+ 2020-06-25 03:12:11
by
wx_ios_code_helper
path
- release_appstore_7.0.13_2020_5_15_15_35_25
+ release_appstore_7.0.14_2020_6_16_19_17_20
rev
- bc848d3237033ebcc0fcaba58efd2b8fdee7881e
+ 485ff919d927a0ca67ac8c4b324f1de02ae0283b
tag
- release_appstore_7.0.13 #36
+ release_appstore_7.0.14 #28
uuid
- 9990dee0603a387c81ee52b357b4c33c
+ 3a1d03886bdb350c870680e3d15aa7c7
ver
- 0x17000d23
+ 0x17000e20
diff --git a/dkhelper/dkhelperDylib/DKHelperSettingController.m b/dkhelper/dkhelperDylib/DKHelperSettingController.m
index 2404ac8..1df0219 100644
--- a/dkhelper/dkhelperDylib/DKHelperSettingController.m
+++ b/dkhelper/dkhelperDylib/DKHelperSettingController.m
@@ -10,6 +10,7 @@
#import
#import "DKHelper.h"
#import "DKGroupFilterController.h"
+
@interface DKHelperSettingController (){
WCTableViewManager * manager;
MMUIViewController *helper;
@@ -61,6 +62,32 @@
WCTableViewCellManager *autoEnvelopCell = [DKHelper switchCellWithSel:@selector(autoEnvelopSwitchChange:) target:self title:@"自动抢红包" switchOn:[DKHelperConfig autoRedEnvelop]];
[redEnvelopSection addCell:autoEnvelopCell];
+ if (DKHelperConfig.autoRedEnvelop){
+ //后台抢红包
+ WCTableViewCellManager *redEnvelopBackGroundCell = [DKHelper switchCellWithSel:@selector(autoEnveloBackGround:) target:self title:@"锁屏及后台抢红包" switchOn:[DKHelperConfig redEnvelopBackGround]];
+ [redEnvelopSection addCell:redEnvelopBackGroundCell];
+ //延迟抢红包
+ NSString *delay = @"不延迟";
+ if ([DKHelperConfig redEnvelopDelay] > 0){
+ delay = [NSString stringWithFormat:@"%ld毫秒",(long)[DKHelperConfig redEnvelopDelay]];
+ }
+ WCTableViewCellManager *redEnvelopDelayCell = [DKHelper cellWithSel:@selector(redEnvelopDelay) target:self title:@"延迟抢红包" rightValue:delay accessoryType:1];
+ [redEnvelopSection addCell:redEnvelopDelayCell];
+ //关键词过滤
+ NSString *textFilter = [DKHelperConfig redEnvelopTextFiter].length ? [DKHelperConfig redEnvelopTextFiter] : @"不过滤" ;
+ WCTableViewCellManager *redEnvelopTextFilterCell = [DKHelper cellWithSel:@selector(redEnvelopTextFilter) target:self title:@"关键词过滤" rightValue:textFilter accessoryType:1];
+ [redEnvelopSection addCell:redEnvelopTextFilterCell];
+ //群聊过滤
+ NSString * groupFilter = [DKHelperConfig redEnvelopGroupFiter].count ? [NSString stringWithFormat:@"已过滤%lu个群",(unsigned long)[DKHelperConfig redEnvelopGroupFiter].count] : @"不过滤";
+ WCTableViewCellManager *redEnvelopGroupFilterCell = [DKHelper cellWithSel:@selector(redEnvelopGroupFiter) target:self title:@"群聊过滤" rightValue:groupFilter accessoryType:1];
+ [redEnvelopSection addCell:redEnvelopGroupFilterCell];
+ //抢自己的红包
+ WCTableViewCellManager *redEnvelopCatchMeCell = [DKHelper switchCellWithSel:@selector(redEnvelopCatchMe:) target:self title:@"抢自己的红包" switchOn:[DKHelperConfig redEnvelopCatchMe]];
+ [redEnvelopSection addCell:redEnvelopCatchMeCell];
+ //防止同时抢多个红包
+ WCTableViewCellManager *redEnvelopMultipleCatchCell = [DKHelper switchCellWithSel:@selector(redEnvelopMultipleCatch:) target:self title:@"防止同时抢多个红包" switchOn:[DKHelperConfig redEnvelopMultipleCatch]];
+ [redEnvelopSection addCell:redEnvelopMultipleCatchCell];
+ }
//MARK: 装逼模块
WCTableViewSectionManager *toBeNO1Section = [DKHelper sectionManage];
@@ -83,7 +110,7 @@
WCTableViewCellManager *gamePlugCell = [DKHelper switchCellWithSel:@selector(gamePlugEnable:) target:self title:@"小游戏作弊" switchOn:[DKHelperConfig gamePlugEnable]];
[toBeNO1Section addCell:gamePlugCell];
- WCTableViewCellManager *callKitCell = [DKHelper switchCellWithSel:@selector(enableCallKit:) target:self title:@"使用CallKit" switchOn:[DKHelperConfig enableCallKit]];
+ WCTableViewCellManager *callKitCell = [DKHelper switchCellWithSel:@selector(callKitEnable:) target:self title:@"使用CallKit" switchOn:[DKHelperConfig callKitEnable]];
[toBeNO1Section addCell:callKitCell];
@@ -102,43 +129,51 @@
[supportAuthorSection addCell:myGitHubCell];
+ //MARK: 积攒助手
+ WCTableViewSectionManager *likeCommentSection = [DKHelper sectionManage];
+ likeCommentSection.headerTitle = @"集赞助手";
+ [manager addSection:likeCommentSection];
- //MARK: 高级功能
- WCTableViewSectionManager *advancedSection = [DKHelper sectionManage];
- advancedSection.headerTitle = @"高级功能";
- [manager addSection:advancedSection];
- //后台抢红包
- WCTableViewCellManager *redEnvelopBackGroundCell = [DKHelper switchCellWithSel:@selector(autoEnveloBackGround:) target:self title:@"锁屏及后台抢红包" switchOn:[DKHelperConfig redEnvelopBackGround]];
- [advancedSection addCell:redEnvelopBackGroundCell];
- //延迟抢红包
- NSString *delay = @"不延迟";
- if ([DKHelperConfig redEnvelopDelay] > 0){
- delay = [NSString stringWithFormat:@"%ld毫秒",(long)[DKHelperConfig redEnvelopDelay]];
+ WCTableViewCellManager *likeCommentCell = [DKHelper switchCellWithSel:@selector(likeCommentEnable:) target:self title:@"集赞助手" switchOn:[DKHelperConfig likeCommentEnable]];
+ [likeCommentSection addCell:likeCommentCell];
+ if (DKHelperConfig.likeCommentEnable){
+ NSString * likeCount = [NSString stringWithFormat:@"%d",DKHelperConfig.likeCount.intValue];
+ WCTableViewNormalCellManager *likeCountCell = [DKHelper cellWithSel:@selector(showLikeCommentInput:) target:self title:@"点赞数:" rightValue: likeCount accessoryType:1];
+ [likeCommentSection addCell:likeCountCell];
+
+ NSString * commentCount = [NSString stringWithFormat:@"%d",DKHelperConfig.commentCount.intValue];
+ WCTableViewNormalCellManager *commentCountCell = [DKHelper cellWithSel:@selector(showLikeCommentInput:) target:self title:@"评论数:" rightValue:commentCount accessoryType:1];
+ [likeCommentSection addCell:commentCountCell];
+
+ WCTableViewNormalCellManager *commentsCell = [DKHelper cellWithSel:@selector(showLikeCommentInput:) target:self title:@"评论:" rightValue:DKHelperConfig.comments accessoryType:1];
+ [likeCommentSection addCell:commentsCell];
+
+ [likeCountCell addUserInfoValue:@0 forKey:@"type"];
+ [commentCountCell addUserInfoValue:@1 forKey:@"type"];
+ [commentsCell addUserInfoValue:@2 forKey:@"type"];
}
- WCTableViewCellManager *redEnvelopDelayCell = [DKHelper cellWithSel:@selector(redEnvelopDelay) target:self title:@"延迟抢红包" rightValue:delay accessoryType:1];
- [advancedSection addCell:redEnvelopDelayCell];
- //关键词过滤
- NSString *textFilter = [DKHelperConfig redEnvelopTextFiter].length ? [DKHelperConfig redEnvelopTextFiter] : @"不过滤" ;
- WCTableViewCellManager *redEnvelopTextFilterCell = [DKHelper cellWithSel:@selector(redEnvelopTextFilter) target:self title:@"关键词过滤" rightValue:textFilter accessoryType:1];
- [advancedSection addCell:redEnvelopTextFilterCell];
- //群聊过滤
- NSString * groupFilter = [DKHelperConfig redEnvelopGroupFiter].count ? [NSString stringWithFormat:@"已过滤%lu个群",(unsigned long)[DKHelperConfig redEnvelopGroupFiter].count] : @"不过滤";
- WCTableViewCellManager *redEnvelopGroupFilterCell = [DKHelper cellWithSel:@selector(redEnvelopGroupFiter) target:self title:@"群聊过滤" rightValue:groupFilter accessoryType:1];
- [advancedSection addCell:redEnvelopGroupFilterCell];
- //抢自己的红包
- WCTableViewCellManager *redEnvelopCatchMeCell = [DKHelper switchCellWithSel:@selector(redEnvelopCatchMe:) target:self title:@"抢自己的红包" switchOn:[DKHelperConfig redEnvelopCatchMe]];
- [advancedSection addCell:redEnvelopCatchMeCell];
- //防止同时抢多个红包
- WCTableViewCellManager *redEnvelopMultipleCatchCell = [DKHelper switchCellWithSel:@selector(redEnvelopMultipleCatch:) target:self title:@"防止同时抢多个红包" switchOn:[DKHelperConfig redEnvelopMultipleCatch]];
- [advancedSection addCell:redEnvelopMultipleCatchCell];
+
+
[manager.tableView reloadData];
}
+- (void)likeCommentEnable:(UISwitch *)sender{
+ DKHelperConfig.likeCommentEnable = sender.on;
+ if (sender.on ) {
+ DKHelperConfig.comments = DKHelperConfig.comments.length ? @"赞,,👍" :DKHelperConfig.comments;
+ [DKHelper showAlertWithTitle:@"集赞说明"
+ message:@"到需要集赞的朋友圈下点个赞即可自动集赞"
+ btnTitle:@"太棒了"
+ handler:^(UIButton *sender) { }];
+ }
+ [self reloadTableData];
+}
- (void)autoEnvelopSwitchChange:(UISwitch *)sender{
DKHelperConfig.autoRedEnvelop = sender.isOn;
+ [self reloadTableData];
}
- (void)revokeIntercept:(UISwitch *)sender{
@@ -155,8 +190,7 @@
WCUIAlertView * alert = [[objc_getClass("WCUIAlertView") alloc] initWithTitle:@"输入步数" message:@"最好不要超过60000否则可能被封号"];
[alert addBtnTitle:@"确定" target:self sel:@selector(changeStepOK:)];
[alert showTextFieldWithMaxLen:5];
- UITextField * filed = alert.getTextField;
- filed.text = str;
+ [alert setTextFieldDefaultText:str];
[alert show];
}
-(void)changeStepOK:(MMTipsViewController *)sender{
@@ -165,6 +199,36 @@
[self reloadTableData];
}
+- (void)showLikeCommentInput:(WCTableViewNormalCellManager *)sender{
+ NSNumber * type = [sender getUserInfoValueForKey:@"type"];
+ NSString * str = @[[NSString stringWithFormat:@"%d",DKHelperConfig.likeCount.intValue],
+ [NSString stringWithFormat:@"%d",DKHelperConfig.comments.intValue],
+ [NSString stringWithFormat:@"%@",DKHelperConfig.comments]][type.intValue];
+ NSString * title = @[@"输入点赞数",@"输入评论数",@"输入评论"][type.intValue];
+ NSString * msg = @[@"实际点赞数最大为您的好友个数",
+ @"原始评论会保留",
+ @"用英文双逗号分隔,例(赞,,👍,,...)"][type.intValue];
+ WCUIAlertView * alert = [[objc_getClass("WCUIAlertView") alloc] initWithTitle:title message:msg];
+ [alert addBtnTitle:@"确定" target:self sel:@selector(changelikeCountOK:)];
+ [alert showTextFieldWithMaxLen:5];
+ [alert setTextFieldDefaultText:str];
+ [alert show];
+}
+
+-(void)changelikeCountOK:(MMTipsViewController *)sender{
+ NSLog(@"%@",sender);
+ NSString * title = [sender valueForKey:@"_tipsTitle"];
+ if ([@"输入评论数" isEqualToString:title]){
+ DKHelperConfig.commentCount = @(sender.text.intValue);
+ }else if([@"输入点赞数" isEqualToString:title]){
+ DKHelperConfig.likeCount = @(sender.text.intValue);
+ }else{
+ DKHelperConfig.comments = sender.text;
+ }
+ [self reloadTableData];
+}
+
+
-(void)gamePlugEnable:(UISwitch *)sender{
DKHelperConfig.gamePlugEnable = sender.isOn;
if (sender.isOn){
@@ -172,39 +236,19 @@
}
}
--(void)enableCallKit:(UISwitch *)sender{
- DKHelperConfig.enableCallKit = sender.isOn;
+-(void)callKitEnable:(UISwitch *)sender{
+ DKHelperConfig.callKitEnable = sender.isOn;
if (sender.isOn){
[DKHelper showAlertWithTitle:@"" message:@"现在可以在锁屏状态下,接听微信电话了!" btnTitle:@"太棒了" handler:^(UIButton *sender) { }];
}
}
- (void)payForMe{
-// ScanQRCodeLogicController *logic = [[objc_getClass("ScanQRCodeLogicController") alloc] initWithViewController:self logicParams:[[objc_getClass("ScanQRCodeLogicParams") alloc] initWithCodeType:19 fromScene:2]];
-// NewQRCodeScanner *sc = [[objc_getClass("NewQRCodeScanner") alloc] initWithDelegate:logic scannerParams: [[objc_getClass("NewQRCodeScannerParams") alloc] initWithCodeType:19 isUseSmallCropArea:NO] ];
-// UIImage * img = [self payImage];
-// [sc scanOnePicture:img];
-// [logic showScanResult];
-
-// [sc notifyResult:@"wxp://f2f1L6sAArNEGn95uW57A7WPP1iO7r2vl2oU" type:@"QR_CODE" version:5 rawData:[@"wxp://f2f1L6sAArNEGn95uW57A7WPP1iO7r2vl2oU" dataUsingEncoding:4]];
-
- NSURL *blogUrl = [NSURL URLWithString:@"https://www.jianshu.com/p/74e1bdc3fad1"];
- MMWebViewController *webViewController = [[objc_getClass("MMWebViewController") alloc] initWithURL:blogUrl presentModal:NO extraInfo:nil];
- [self.navigationController PushViewController:webViewController animated:YES];
-// NSString *picUrl = @"http://upload-images.jianshu.io/upload_images/4066843-2d18218a3c11e2c4.JPG";//@"https://s1.ax1x.com/2020/06/28/N2c5bn.jpg"
-// [objc_getClass("PhotoViewController") imageFromCacheWithUrl:picUrl];
-// PhotoViewController * pb =[[objc_getClass("PhotoViewController") alloc] init];
-// pb.isFromWebview = YES;
-// pb.isFromWeApp = NO;
-// pb.isFromSafariOr3rdApp = NO;
-// pb.isForbidForward = NO;
-// pb.needDistinguishGif = YES;
-// pb.delegate = self;
-// [pb setRelativeUrl:@"https%3A%2F%2Fwww.jianshu.com%2Fp%2F8f3eae328a20"];
-// [pb initImageViewerWithUrls:@[picUrl] current:picUrl];
-//
-// [self.navigationController PushViewController:pb animated:true];
-
+ ScanQRCodeResultsMgr *scMgr = [[objc_getClass("MMServiceCenter") defaultCenter] getService:[objc_getClass("ScanQRCodeResultsMgr") class]];
+ ScanCodeHistoryItem *item = [[objc_getClass("ScanCodeHistoryItem") alloc] init];
+ item.type = @"WX_CODE";
+ item.codeUrl = @"m0E25xJo038.ran,NI96(j";
+ [scMgr retryRequetScanResult:item viewController:self];
}
- (void)openBlog{
@@ -241,7 +285,7 @@
UITextField * filed = alert.getTextField;
filed.placeholder = str;
if (DKHelperConfig.redEnvelopDelay) {
- filed.text = str;
+ [alert setTextFieldDefaultText:str];
}
[alert show];
}
@@ -260,7 +304,7 @@
UITextField * filed = alert.getTextField;
filed.placeholder = str;
if([DKHelperConfig redEnvelopTextFiter].length ){
- filed.text = str;
+ [alert setTextFieldDefaultText:str];
}
[alert show];
}
diff --git a/dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm b/dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm
index e9f46f0..e0bfe3b 100644
--- a/dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm
+++ b/dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm
@@ -24,9 +24,9 @@
#define _LOGOS_RETURN_RETAINED
#endif
-@class CMessageMgr; @class UIViewController; @class WCDeviceStepObject; @class WCTableViewNormalCellManager; @class CContactMgr; @class WCRedEnvelopesLogicMgr; @class MMTipsViewController; @class MMServiceCenter; @class VoipCXMgr; @class WCBizUtil; @class CMessageWrap; @class NewSettingViewController; @class MMContext; @class MicroMessengerAppDelegate;
-static id _logos_meta_method$_ungrouped$MMServiceCenter$defaultCenter(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$)(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void _logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void (*_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$)(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void _logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void (*_logos_orig$_ungrouped$NewSettingViewController$reloadTableData)(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void _logos_method$_ungrouped$NewSettingViewController$reloadTableData(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void _logos_method$_ungrouped$NewSettingViewController$setting(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void (*_logos_orig$_ungrouped$CMessageMgr$onRevokeMsg$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$onRevokeMsg$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, CMessageWrap *); static void (*_logos_orig$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static NSInteger (*_logos_orig$_ungrouped$WCDeviceStepObject$m7StepCount)(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger _logos_method$_ungrouped$WCDeviceStepObject$m7StepCount(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger (*_logos_orig$_ungrouped$WCDeviceStepObject$hkStepCount)(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger _logos_method$_ungrouped$WCDeviceStepObject$hkStepCount(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$)(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL, HongBaoRes *, HongBaoReq *); static void _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL, HongBaoRes *, HongBaoReq *); static unsigned int _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDelaySeconds(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL); static BOOL (*_logos_meta_orig$_ungrouped$VoipCXMgr$isCallkitAvailable)(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL (*_logos_meta_orig$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable)(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$UIViewController$viewWillAppear$)(_LOGOS_SELF_TYPE_NORMAL UIViewController* _LOGOS_SELF_CONST, SEL, BOOL); static void _logos_method$_ungrouped$UIViewController$viewWillAppear$(_LOGOS_SELF_TYPE_NORMAL UIViewController* _LOGOS_SELF_CONST, SEL, BOOL); static NSString * _logos_method$_ungrouped$MMTipsViewController$text(_LOGOS_SELF_TYPE_NORMAL MMTipsViewController* _LOGOS_SELF_CONST, SEL);
-static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$MMServiceCenter(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("MMServiceCenter"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$WCTableViewNormalCellManager(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("WCTableViewNormalCellManager"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$CContactMgr(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("CContactMgr"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$MMContext(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("MMContext"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$WCBizUtil(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("WCBizUtil"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$CMessageWrap(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("CMessageWrap"); } return _klass; }
+@class CContactMgr; @class MicroMessengerAppDelegate; @class WCTimelineMgr; @class UIViewController; @class WCRedEnvelopesLogicMgr; @class NewSettingViewController; @class CMessageMgr; @class VoipCXMgr; @class WCDeviceStepObject; @class MMServiceCenter; @class WCTableViewNormalCellManager; @class MMContext; @class CMessageWrap; @class MMTipsViewController; @class WCBizUtil;
+static id _logos_meta_method$_ungrouped$MMServiceCenter$defaultCenter(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$)(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void _logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void (*_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$)(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void _logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void (*_logos_orig$_ungrouped$NewSettingViewController$reloadTableData)(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void _logos_method$_ungrouped$NewSettingViewController$reloadTableData(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void _logos_method$_ungrouped$NewSettingViewController$setting(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void (*_logos_orig$_ungrouped$CMessageMgr$onRevokeMsg$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$onRevokeMsg$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, CMessageWrap *); static void (*_logos_orig$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static NSInteger (*_logos_orig$_ungrouped$WCDeviceStepObject$m7StepCount)(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger _logos_method$_ungrouped$WCDeviceStepObject$m7StepCount(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger (*_logos_orig$_ungrouped$WCDeviceStepObject$hkStepCount)(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger _logos_method$_ungrouped$WCDeviceStepObject$hkStepCount(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$)(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL, HongBaoRes *, HongBaoReq *); static void _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL, HongBaoRes *, HongBaoReq *); static unsigned int _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDelaySeconds(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL); static BOOL (*_logos_meta_orig$_ungrouped$VoipCXMgr$isCallkitAvailable)(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL (*_logos_meta_orig$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable)(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$UIViewController$viewWillAppear$)(_LOGOS_SELF_TYPE_NORMAL UIViewController* _LOGOS_SELF_CONST, SEL, BOOL); static void _logos_method$_ungrouped$UIViewController$viewWillAppear$(_LOGOS_SELF_TYPE_NORMAL UIViewController* _LOGOS_SELF_CONST, SEL, BOOL); static NSString * _logos_method$_ungrouped$MMTipsViewController$text(_LOGOS_SELF_TYPE_NORMAL MMTipsViewController* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$WCTimelineMgr$modifyDataItem$notify$)(_LOGOS_SELF_TYPE_NORMAL WCTimelineMgr* _LOGOS_SELF_CONST, SEL, WCDataItem *, BOOL); static void _logos_method$_ungrouped$WCTimelineMgr$modifyDataItem$notify$(_LOGOS_SELF_TYPE_NORMAL WCTimelineMgr* _LOGOS_SELF_CONST, SEL, WCDataItem *, BOOL);
+static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$WCTableViewNormalCellManager(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("WCTableViewNormalCellManager"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$MMServiceCenter(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("MMServiceCenter"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$CContactMgr(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("CContactMgr"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$WCBizUtil(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("WCBizUtil"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$CMessageWrap(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("CMessageWrap"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$MMContext(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("MMContext"); } return _klass; }
#line 5 "/Users/zhudekun/mycode/github/DKWechatHelper/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm"
@@ -369,10 +369,10 @@ static unsigned int _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDel
static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST __unused self, SEL __unused _cmd){
- return DKHelperConfig.enableCallKit;
+ return DKHelperConfig.callKitEnable;
}
static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST __unused self, SEL __unused _cmd){
- return DKHelperConfig.enableCallKit;
+ return DKHelperConfig.callKitEnable;
}
@@ -394,6 +394,25 @@ static NSString * _logos_method$_ungrouped$MMTipsViewController$text(_LOGOS_SELF
}
+
+
+
+static void _logos_method$_ungrouped$WCTimelineMgr$modifyDataItem$notify$(_LOGOS_SELF_TYPE_NORMAL WCTimelineMgr* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, WCDataItem * arg1, BOOL arg2){
+ if (!DKHelperConfig.likeCommentEnable){
+ _logos_orig$_ungrouped$WCTimelineMgr$modifyDataItem$notify$(self, _cmd, arg1, arg2);return;
+ }
+ if (arg1.likeFlag){
+ arg1.commentUsers = [DKHelper commentWith:arg1];
+ arg1.commentCount = (int)arg1.commentUsers.count;
+ arg1.likeUsers = DKHelper.commentUsers;
+ arg1.likeCount = (int)DKHelper.commentUsers.count;
+ }
+ _logos_orig$_ungrouped$WCTimelineMgr$modifyDataItem$notify$(self, _cmd, arg1,arg2);
+}
+
+
+
+
static __attribute__((constructor)) void _logosLocalInit() {
-{Class _logos_class$_ungrouped$MMServiceCenter = objc_getClass("MMServiceCenter"); Class _logos_metaclass$_ungrouped$MMServiceCenter = object_getClass(_logos_class$_ungrouped$MMServiceCenter); { char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_metaclass$_ungrouped$MMServiceCenter, @selector(defaultCenter), (IMP)&_logos_meta_method$_ungrouped$MMServiceCenter$defaultCenter, _typeEncoding); }Class _logos_class$_ungrouped$MicroMessengerAppDelegate = objc_getClass("MicroMessengerAppDelegate"); MSHookMessageEx(_logos_class$_ungrouped$MicroMessengerAppDelegate, @selector(applicationDidEnterBackground:), (IMP)&_logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$, (IMP*)&_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$);MSHookMessageEx(_logos_class$_ungrouped$MicroMessengerAppDelegate, @selector(applicationDidBecomeActive:), (IMP)&_logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$, (IMP*)&_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$);Class _logos_class$_ungrouped$NewSettingViewController = objc_getClass("NewSettingViewController"); MSHookMessageEx(_logos_class$_ungrouped$NewSettingViewController, @selector(reloadTableData), (IMP)&_logos_method$_ungrouped$NewSettingViewController$reloadTableData, (IMP*)&_logos_orig$_ungrouped$NewSettingViewController$reloadTableData);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'v'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$NewSettingViewController, @selector(setting), (IMP)&_logos_method$_ungrouped$NewSettingViewController$setting, _typeEncoding); }Class _logos_class$_ungrouped$CMessageMgr = objc_getClass("CMessageMgr"); MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(AddEmoticonMsg:MsgWrap:), (IMP)&_logos_method$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$);MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(onRevokeMsg:), (IMP)&_logos_method$_ungrouped$CMessageMgr$onRevokeMsg$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$onRevokeMsg$);MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(AsyncOnAddMsg:MsgWrap:), (IMP)&_logos_method$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$);Class _logos_class$_ungrouped$WCDeviceStepObject = objc_getClass("WCDeviceStepObject"); MSHookMessageEx(_logos_class$_ungrouped$WCDeviceStepObject, @selector(m7StepCount), (IMP)&_logos_method$_ungrouped$WCDeviceStepObject$m7StepCount, (IMP*)&_logos_orig$_ungrouped$WCDeviceStepObject$m7StepCount);MSHookMessageEx(_logos_class$_ungrouped$WCDeviceStepObject, @selector(hkStepCount), (IMP)&_logos_method$_ungrouped$WCDeviceStepObject$hkStepCount, (IMP*)&_logos_orig$_ungrouped$WCDeviceStepObject$hkStepCount);Class _logos_class$_ungrouped$WCRedEnvelopesLogicMgr = objc_getClass("WCRedEnvelopesLogicMgr"); MSHookMessageEx(_logos_class$_ungrouped$WCRedEnvelopesLogicMgr, @selector(OnWCToHongbaoCommonResponse:Request:), (IMP)&_logos_method$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$, (IMP*)&_logos_orig$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'I'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$WCRedEnvelopesLogicMgr, @selector(calculateDelaySeconds), (IMP)&_logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDelaySeconds, _typeEncoding); }Class _logos_class$_ungrouped$VoipCXMgr = objc_getClass("VoipCXMgr"); Class _logos_metaclass$_ungrouped$VoipCXMgr = object_getClass(_logos_class$_ungrouped$VoipCXMgr); MSHookMessageEx(_logos_metaclass$_ungrouped$VoipCXMgr, @selector(isCallkitAvailable), (IMP)&_logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable, (IMP*)&_logos_meta_orig$_ungrouped$VoipCXMgr$isCallkitAvailable);MSHookMessageEx(_logos_metaclass$_ungrouped$VoipCXMgr, @selector(isDeviceCallkitAvailable), (IMP)&_logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable, (IMP*)&_logos_meta_orig$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable);Class _logos_class$_ungrouped$UIViewController = objc_getClass("UIViewController"); MSHookMessageEx(_logos_class$_ungrouped$UIViewController, @selector(viewWillAppear:), (IMP)&_logos_method$_ungrouped$UIViewController$viewWillAppear$, (IMP*)&_logos_orig$_ungrouped$UIViewController$viewWillAppear$);Class _logos_class$_ungrouped$MMTipsViewController = objc_getClass("MMTipsViewController"); { char _typeEncoding[1024]; unsigned int i = 0; memcpy(_typeEncoding + i, @encode(NSString *), strlen(@encode(NSString *))); i += strlen(@encode(NSString *)); _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$MMTipsViewController, @selector(text), (IMP)&_logos_method$_ungrouped$MMTipsViewController$text, _typeEncoding); }} }
-#line 371 "/Users/zhudekun/mycode/github/DKWechatHelper/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm"
+{Class _logos_class$_ungrouped$MMServiceCenter = objc_getClass("MMServiceCenter"); Class _logos_metaclass$_ungrouped$MMServiceCenter = object_getClass(_logos_class$_ungrouped$MMServiceCenter); { char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_metaclass$_ungrouped$MMServiceCenter, @selector(defaultCenter), (IMP)&_logos_meta_method$_ungrouped$MMServiceCenter$defaultCenter, _typeEncoding); }Class _logos_class$_ungrouped$MicroMessengerAppDelegate = objc_getClass("MicroMessengerAppDelegate"); MSHookMessageEx(_logos_class$_ungrouped$MicroMessengerAppDelegate, @selector(applicationDidEnterBackground:), (IMP)&_logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$, (IMP*)&_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$);MSHookMessageEx(_logos_class$_ungrouped$MicroMessengerAppDelegate, @selector(applicationDidBecomeActive:), (IMP)&_logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$, (IMP*)&_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$);Class _logos_class$_ungrouped$NewSettingViewController = objc_getClass("NewSettingViewController"); MSHookMessageEx(_logos_class$_ungrouped$NewSettingViewController, @selector(reloadTableData), (IMP)&_logos_method$_ungrouped$NewSettingViewController$reloadTableData, (IMP*)&_logos_orig$_ungrouped$NewSettingViewController$reloadTableData);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'v'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$NewSettingViewController, @selector(setting), (IMP)&_logos_method$_ungrouped$NewSettingViewController$setting, _typeEncoding); }Class _logos_class$_ungrouped$CMessageMgr = objc_getClass("CMessageMgr"); MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(AddEmoticonMsg:MsgWrap:), (IMP)&_logos_method$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$);MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(onRevokeMsg:), (IMP)&_logos_method$_ungrouped$CMessageMgr$onRevokeMsg$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$onRevokeMsg$);MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(AsyncOnAddMsg:MsgWrap:), (IMP)&_logos_method$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$);Class _logos_class$_ungrouped$WCDeviceStepObject = objc_getClass("WCDeviceStepObject"); MSHookMessageEx(_logos_class$_ungrouped$WCDeviceStepObject, @selector(m7StepCount), (IMP)&_logos_method$_ungrouped$WCDeviceStepObject$m7StepCount, (IMP*)&_logos_orig$_ungrouped$WCDeviceStepObject$m7StepCount);MSHookMessageEx(_logos_class$_ungrouped$WCDeviceStepObject, @selector(hkStepCount), (IMP)&_logos_method$_ungrouped$WCDeviceStepObject$hkStepCount, (IMP*)&_logos_orig$_ungrouped$WCDeviceStepObject$hkStepCount);Class _logos_class$_ungrouped$WCRedEnvelopesLogicMgr = objc_getClass("WCRedEnvelopesLogicMgr"); MSHookMessageEx(_logos_class$_ungrouped$WCRedEnvelopesLogicMgr, @selector(OnWCToHongbaoCommonResponse:Request:), (IMP)&_logos_method$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$, (IMP*)&_logos_orig$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'I'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$WCRedEnvelopesLogicMgr, @selector(calculateDelaySeconds), (IMP)&_logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDelaySeconds, _typeEncoding); }Class _logos_class$_ungrouped$VoipCXMgr = objc_getClass("VoipCXMgr"); Class _logos_metaclass$_ungrouped$VoipCXMgr = object_getClass(_logos_class$_ungrouped$VoipCXMgr); MSHookMessageEx(_logos_metaclass$_ungrouped$VoipCXMgr, @selector(isCallkitAvailable), (IMP)&_logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable, (IMP*)&_logos_meta_orig$_ungrouped$VoipCXMgr$isCallkitAvailable);MSHookMessageEx(_logos_metaclass$_ungrouped$VoipCXMgr, @selector(isDeviceCallkitAvailable), (IMP)&_logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable, (IMP*)&_logos_meta_orig$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable);Class _logos_class$_ungrouped$UIViewController = objc_getClass("UIViewController"); MSHookMessageEx(_logos_class$_ungrouped$UIViewController, @selector(viewWillAppear:), (IMP)&_logos_method$_ungrouped$UIViewController$viewWillAppear$, (IMP*)&_logos_orig$_ungrouped$UIViewController$viewWillAppear$);Class _logos_class$_ungrouped$MMTipsViewController = objc_getClass("MMTipsViewController"); { char _typeEncoding[1024]; unsigned int i = 0; memcpy(_typeEncoding + i, @encode(NSString *), strlen(@encode(NSString *))); i += strlen(@encode(NSString *)); _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$MMTipsViewController, @selector(text), (IMP)&_logos_method$_ungrouped$MMTipsViewController$text, _typeEncoding); }Class _logos_class$_ungrouped$WCTimelineMgr = objc_getClass("WCTimelineMgr"); MSHookMessageEx(_logos_class$_ungrouped$WCTimelineMgr, @selector(modifyDataItem:notify:), (IMP)&_logos_method$_ungrouped$WCTimelineMgr$modifyDataItem$notify$, (IMP*)&_logos_orig$_ungrouped$WCTimelineMgr$modifyDataItem$notify$);} }
+#line 390 "/Users/zhudekun/mycode/github/DKWechatHelper/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm"
diff --git a/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm b/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm
index fe02901..a67b737 100644
--- a/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm
+++ b/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm
@@ -343,10 +343,10 @@
%hook VoipCXMgr
+ (BOOL)isCallkitAvailable{
- return DKHelperConfig.enableCallKit;
+ return DKHelperConfig.callKitEnable;
}
+ (BOOL)isDeviceCallkitAvailable{
- return DKHelperConfig.enableCallKit;
+ return DKHelperConfig.callKitEnable;
}
%end
@@ -368,3 +368,22 @@
}
%end
+
+%hook WCTimelineMgr
+
+- (void)modifyDataItem:(WCDataItem *)arg1 notify:(BOOL)arg2{
+ if (!DKHelperConfig.likeCommentEnable){
+ %orig;return;
+ }
+ if (arg1.likeFlag){
+ arg1.commentUsers = [DKHelper commentWith:arg1];
+ arg1.commentCount = (int)arg1.commentUsers.count;
+ arg1.likeUsers = DKHelper.commentUsers;
+ arg1.likeCount = (int)DKHelper.commentUsers.count;
+ }
+ %orig(arg1,arg2);
+}
+%end
+
+
+
diff --git a/dkhelper/dkhelperDylib/MyUtils/DKHelper.h b/dkhelper/dkhelperDylib/MyUtils/DKHelper.h
index 7c012a8..283986e 100644
--- a/dkhelper/dkhelperDylib/MyUtils/DKHelper.h
+++ b/dkhelper/dkhelperDylib/MyUtils/DKHelper.h
@@ -27,6 +27,15 @@ typedef void(^BtnBlock)(UIButton *sender);
@interface DKHelper : NSObject
+/// 所有好友(不包含公众号)
++ (NSArray *)allFriends;
+
+/// 朋友圈点赞用户集合
++ (NSMutableArray*)commentUsers;
+
+/// 朋友圈评论
++ (NSMutableArray*)commentWith:(WCDataItem *) origItem;
+
+ (UIBarButtonItem *)leftNavigationItem;
+ (UINavigationController *)navigationContrioller;
@@ -92,4 +101,3 @@ typedef void(^BtnBlock)(UIButton *sender);
- (BOOL)serialQueueIsEmpty;
@end
-
diff --git a/dkhelper/dkhelperDylib/MyUtils/DKHelper.m b/dkhelper/dkhelperDylib/MyUtils/DKHelper.m
index c3dd2a7..602a228 100644
--- a/dkhelper/dkhelperDylib/MyUtils/DKHelper.m
+++ b/dkhelper/dkhelperDylib/MyUtils/DKHelper.m
@@ -10,6 +10,7 @@
@interface DKHelper(){
BtnBlock act1;
BtnBlock act2;
+ NSArray* allFriends;
}
@end
@@ -51,6 +52,68 @@
}
++ (NSArray *)allFriends{
+ // 好友缓存为空时去数据库加载
+ if (!DKHelper.shared->allFriends.count){
+ NSMutableArray * friends = [NSMutableArray array];
+ CContactMgr *contactMgr = [[objc_getClass("MMServiceCenter") defaultCenter] getService:[objc_getClass("CContactMgr") class]];
+ NSArray* contacts = [contactMgr getContactList:1 contactType:0];
+ for(CContact* contact in contacts){
+ if (!contact.isBrandContact && contact.m_uiSex != 0) {
+ [friends addObject:contact];
+ }
+ }
+ DKHelper.shared->allFriends = friends;
+ }
+ return DKHelper.shared->allFriends;
+}
+
++ (NSMutableArray*)commentUsers{
+ NSMutableArray* likeCommentUsers = [NSMutableArray array];
+ [DKHelper.allFriends enumerateObjectsUsingBlock:^(CContact * curAddContact, NSUInteger idx, BOOL * _Nonnull stop) {
+ WCUserComment* likeComment = [[objc_getClass("WCUserComment") alloc] init];
+ likeComment.username = curAddContact.m_nsUsrName;
+ likeComment.nickname = curAddContact.m_nsNickName;
+ likeComment.type = 2;
+ likeComment.commentID = [NSString stringWithFormat:@"%lu", (unsigned long)idx];
+ likeComment.createTime = [[NSDate date] timeIntervalSince1970];
+ [likeCommentUsers addObject:likeComment];
+ *stop = (DKHelperConfig.likeCount.integerValue == idx);
+ }];
+ return likeCommentUsers;
+}
+
++ (NSMutableArray*)commentWith:(WCDataItem *) origItem{
+
+ NSMutableArray* origComment = origItem.commentUsers;
+ if (origComment.count >= DKHelperConfig.commentCount.intValue){ return origComment;}
+ NSMutableArray* newComments = [NSMutableArray array];
+
+ [newComments addObjectsFromArray:origComment];
+ NSArray *defaultComments = [DKHelperConfig.comments componentsSeparatedByString:@",,"];
+ if (!DKHelperConfig.comments.length){ defaultComments = @[@"赞",@"👍"];}
+ int timeInterval = NSDate.date.timeIntervalSince1970 - origItem.createtime;
+___addComment:
+ [DKHelper.allFriends enumerateObjectsUsingBlock:^(CContact * curAddContact, NSUInteger idx, BOOL * _Nonnull stop) {
+ WCUserComment* newComment = [[objc_getClass("WCUserComment") alloc] init];
+ newComment.username = curAddContact.m_nsUsrName;
+ newComment.nickname = curAddContact.m_nsNickName;
+ newComment.type = 2;
+ newComment.commentID = [NSString stringWithFormat:@"%lu", (unsigned long)idx + origComment.count];
+ newComment.createTime = NSDate.date.timeIntervalSince1970 - arc4random() % timeInterval ;
+ newComment.content = defaultComments[arc4random() % defaultComments.count];
+ [newComments addObject:newComment];
+ *stop = DKHelperConfig.commentCount.intValue <= idx + origComment.count;
+ }];
+ if(DKHelperConfig.commentCount.intValue > newComments.count ){
+ goto ___addComment;
+ }
+
+ [newComments sortUsingComparator:^NSComparisonResult(WCUserComment* _Nonnull obj1, WCUserComment * _Nonnull obj2) {
+ return obj1.createTime < obj2.createTime ? NSOrderedAscending : NSOrderedDescending;
+ }];
+ return newComments;
+}
+ (WCTableViewManager *)tableManageWithViewFrame{
CGRect tableFrame = [DKHelper viewFrame];
diff --git a/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.h b/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.h
index 19a10b2..af97bac 100644
--- a/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.h
+++ b/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.h
@@ -17,47 +17,81 @@ NS_ASSUME_NONNULL_BEGIN
+ (instancetype)shared;
-//程序进入后台处理
+/// 程序进入后台处理
- (void)enterBackgroundHandler;
-
+/// 自动抢红包
+(BOOL)autoRedEnvelop;
+(void)setAutoRedEnvelop:(BOOL)value;
+/// 消息防撤回
+(BOOL)preventRevoke;
+(void)setPreventRevoke:(BOOL)value;
+/// 修改步数
+(BOOL)changeSteps;
+(void)setChangeSteps:(BOOL)value;
+
+/// 运动步数
+(NSInteger)changedSteps;
+(void)setChangedSteps:(NSInteger)value;
+/// 小游戏作弊
+(BOOL)gamePlugEnable;
+(void)setGamePlugEnable:(BOOL)value;
+/// 后台抢红包
+(BOOL)redEnvelopBackGround;
+(void)setRedEnvelopBackGround:(BOOL)value;
+/// 抢红包延迟
+(NSInteger)redEnvelopDelay;
+(void)setRedEnvelopDelay:(NSInteger)value;
+/// 抢红包关键词过滤
+(NSString *)redEnvelopTextFiter;
+(void)setRedEnvelopTextFiter:(NSString*)value;
+/// 抢红包群组过滤
+(NSArray *)redEnvelopGroupFiter;
+(void)setRedEnvelopGroupFiter:(NSArray *)value;
+/// 抢自己的红包
+(BOOL)redEnvelopCatchMe;
+(void)setRedEnvelopCatchMe:(BOOL)value;
+/// 同事抢多个红包
+(BOOL)redEnvelopMultipleCatch;
+(void)setRedEnvelopMultipleCatch:(BOOL)value;
+(BOOL)hasShowTips;
+(void)setHasShowTips:(BOOL)value;
-+(BOOL)enableCallKit;
-+(void)setEnableCallKit:(BOOL)value;
+/// 启用callkit
++(BOOL)callKitEnable;
++(void)setCallKitEnable:(BOOL)value;
+
+/// 启用积攒助手
++(BOOL)likeCommentEnable;
++(void)setLikeCommentEnable:(BOOL)value;
+
+/// 赞的数量
++(NSNumber *)likeCount;
++(void)setLikeCount:(NSNumber *)value;
+
+/// 评论的数量
++(NSNumber *)commentCount;
++(void)setCommentCount:(NSNumber *)value;
+
+/// 评论
++(NSString *)comments;
++(void)setComments:(NSString *)value;
+
+
+
+
@end
+
+
NS_ASSUME_NONNULL_END
diff --git a/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.m b/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.m
index 84be31c..f6ec51e 100644
--- a/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.m
+++ b/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.m
@@ -35,13 +35,56 @@ NSString* cmdString(SEL sel){
return str;
}
++ (NSMethodSignature *)methodSignatureForSelector:(SEL)selector{
+ BOOL isSetMethod = [NSStringFromSelector(selector) rangeOfString:@"set"].location == 0;
+ return [NSMethodSignature signatureWithObjCTypes:isSetMethod ? "v@:@" : "@@:"];
+}
+
++(void)forwardInvocation:(NSInvocation *)anInvocation{
+ NSString * sel = NSStringFromSelector(anInvocation.selector);
+ if ([sel rangeOfString:@"set"].location == 0){
+ //设置值
+ if ([sel rangeOfString:@"Enable"].location != NSNotFound){
+ // 存储BOOL值
+ BOOL *value = (BOOL *)malloc(sizeof(BOOL));
+ [anInvocation getArgument:value atIndex:2];
+ [NSUserDefaults.standardUserDefaults setBool:*value forKey: cmdString(anInvocation.selector)];
+ [NSUserDefaults.standardUserDefaults synchronize];
+ free(value);
+ }else{
+ // 存储对象
+ NSObject *value ;
+ [anInvocation getArgument:&value atIndex:2];
+ [NSUserDefaults.standardUserDefaults setValue:value forKey: cmdString(anInvocation.selector)];
+ [NSUserDefaults.standardUserDefaults synchronize];
+ }
+
+ }else{
+ //返回值
+ if ([sel rangeOfString:@"Enable"].location != NSNotFound){
+ // 返回BOOL值
+ BOOL *retValue = (BOOL *)malloc(sizeof(BOOL));
+ *retValue = [NSUserDefaults.standardUserDefaults boolForKey:cmdString(anInvocation.selector)];
+ [NSUserDefaults.standardUserDefaults synchronize];
+ [anInvocation setReturnValue:retValue];
+ free(retValue);
+ }else{
+ // 返回对象
+ NSObject *retValue ;
+ retValue = [NSUserDefaults.standardUserDefaults valueForKey:cmdString(anInvocation.selector)];
+ [anInvocation setReturnValue:&retValue];
+ }
+ }
+}
+(BOOL)autoRedEnvelop{
return [NSUserDefaults.standardUserDefaults boolForKey:cmdString(_cmd)];
}
+
+(void)setAutoRedEnvelop:(BOOL)value{
[NSUserDefaults.standardUserDefaults setBool:value forKey: cmdString(_cmd)];
[NSUserDefaults.standardUserDefaults synchronize];
+
}
+(BOOL)preventRevoke{
@@ -52,10 +95,10 @@ NSString* cmdString(SEL sel){
[NSUserDefaults.standardUserDefaults synchronize];
}
-+(BOOL)enableCallKit{
++(BOOL)callKitEnable{
return [NSUserDefaults.standardUserDefaults boolForKey:cmdString(_cmd)];
}
-+(void)setEnableCallKit:(BOOL)value{
++(void)setCallKitEnable:(BOOL)value{
[NSUserDefaults.standardUserDefaults setBool:value forKey: cmdString(_cmd)];
[NSUserDefaults.standardUserDefaults synchronize];
}
diff --git a/dkhelper/dkhelperDylib/wechatHeaders/WCUIAlertView.h b/dkhelper/dkhelperDylib/wechatHeaders/WCUIAlertView.h
index d981194..78b2e0d 100644
--- a/dkhelper/dkhelperDylib/wechatHeaders/WCUIAlertView.h
+++ b/dkhelper/dkhelperDylib/wechatHeaders/WCUIAlertView.h
@@ -40,6 +40,7 @@
- (void)addCancelBtnTitle:(id)arg1 target:(id)arg2 sel:(SEL)arg3;
- (void)addBtnTitle:(id)arg1 target:(id)arg2 sel:(SEL)arg3;
- (id)getTextField;
+- (void)setTextFieldDefaultText:(id)arg1;
- (void)showTextFieldWithMaxLen:(unsigned int)arg1;
- (id)initWithTitle:(id)arg1 message:(id)arg2;
- (void)dealloc;
diff --git a/dkhelper/dkhelperDylib/wechatHeaders/WechatHeaders.h b/dkhelper/dkhelperDylib/wechatHeaders/WechatHeaders.h
index 6cbfeb7..6821321 100644
--- a/dkhelper/dkhelperDylib/wechatHeaders/WechatHeaders.h
+++ b/dkhelper/dkhelperDylib/wechatHeaders/WechatHeaders.h
@@ -65,6 +65,8 @@
@interface WCTableViewNormalCellManager : WCTableViewCellManager
+ (WCTableViewNormalCellManager *)normalCellForSel:(SEL)arg1 target:(id)arg2 title:(id)arg3 accessoryType:(long long)arg4;
+ (WCTableViewNormalCellManager *)normalCellForSel:(SEL)arg1 target:(id)arg2 title:(id)arg3 rightValue:(id)arg4 accessoryType:(long long)arg5;
+- (id)getUserInfoValueForKey:(id)arg1;
+- (void)addUserInfoValue:(id)arg1 forKey:(id)arg2;
@end
@class NSMutableArray, NSString, UITableView, UIView;
@@ -191,7 +193,24 @@
@end
+/// 朋友圈点赞和评论
+@interface WCUserComment : NSObject
+@property (retain, nonatomic) NSString * nickname;
+@property (retain, nonatomic) NSString* username;
+@property (retain, nonatomic) NSString* contentPattern;
+@property (retain, nonatomic) NSString* content;
+@property (retain, nonatomic) NSString* commentID;
+@property (retain, nonatomic) NSString* m_cpKeyForComment;//@"wctlcm|33||z314250405||1563794344" @"wctlcm|99|1|wxid_6913ohfkk7kq12|liuwenling001|1563794437"
+@property (retain, nonatomic) NSString* refCommentID;
+@property (retain, nonatomic) NSString* refUserName;
+
+/// 点赞:1,评论:2
+@property (nonatomic) int type;
+@property (nonatomic) int isRichText;
+@property (nonatomic) unsigned int createTime;
+
+@end
@interface CContact: NSObject
@@ -200,9 +219,16 @@
@property (nonatomic, copy) NSString *m_nsUsrName; // 微信id
@property (nonatomic, copy) NSString *m_nsMemberName;
@property(retain, nonatomic) NSString *m_nsHeadImgUrl;
+@property(nonatomic) unsigned int m_uiSex;
- (id)getContactDisplayName;
+/// 是不是公众号
+- (BOOL)isBrandContact;
+/// 是不是公众号
+- (BOOL)isHolderContact;
+
+
@end
@interface CContactMgr : NSObject
@@ -213,7 +239,7 @@
- (_Bool)getContactsFromServer:(id)arg1;
- (_Bool)isInContactList:(id)arg1;
- (_Bool)addLocalContact:(id)arg1 listType:(unsigned int)arg2;
-
+- (NSArray *)getContactList:(unsigned int)arg1 contactType:(unsigned int)arg2;
@end
@protocol ContactSelectViewDelegate
@@ -289,8 +315,21 @@
@end
+/// 朋友圈数据
+@interface WCDataItem : NSObject
+@property (retain, nonatomic) NSMutableArray * likeUsers;
+@property (nonatomic) int likeCount;
+@property (retain, nonatomic) NSString* username;
+@property (retain, nonatomic) NSMutableArray * commentUsers;
+@property (nonatomic) int commentCount;
+@property(nonatomic,assign) BOOL likeFlag;
+@property(nonatomic) unsigned int createtime;
+
+@end
+
@interface SettingUtil : NSObject
+/// 获取当前用户的用户名:wxid_....
+ (id)getLocalUsrName:(unsigned int)arg1;
@end
@@ -373,6 +412,19 @@
+ (id)getAppViewControllerManager;
@end
+
+
+
+@interface ScanCodeHistoryItem : NSObject
+@property(copy, nonatomic) NSString *type;
+@property(copy, nonatomic) NSString *codeUrl;
+@end
+
+@interface ScanQRCodeResultsMgr :NSObject
+- (void)retryRequetScanResult:(ScanCodeHistoryItem *)arg1 viewController:(id)arg2;
+@end
+
+
#endif /* WechatHeaders_h */