From e56c21ab7d4897c4577d91a653386e2102590ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=BE=B7=E5=9D=A4?= Date: Tue, 7 Jul 2020 15:33:18 +0800 Subject: [PATCH] =?UTF-8?q?what's=20new=20*=20=E6=96=B0=E5=A2=9E=E9=9B=86?= =?UTF-8?q?=E8=B5=9E=E5=8A=A9=E6=89=8B=20*=20=E6=96=B0=E5=A2=9ECallKit=20*?= =?UTF-8?q?=20=E6=94=AF=E6=8C=817.0.14=20*=20=E6=9B=B4=E6=96=B0=E8=B6=8A?= =?UTF-8?q?=E7=8B=B1=E5=8C=857.0.14=20*=20=E6=9B=B4=E6=96=B0=E5=B7=B2?= =?UTF-8?q?=E6=B3=A8=E5=85=A5=E5=8A=A9=E6=89=8B=E7=9A=847.0.14=E6=9C=AA?= =?UTF-8?q?=E7=AD=BE=E5=90=8D=E5=8C=85=20*=20=E5=A2=9E=E5=8A=A0=E8=B6=8A?= =?UTF-8?q?=E7=8B=B1=E6=96=B9=E5=BC=8F=E5=AE=89=E8=A3=85=E5=8C=85=20*=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B6=8A=E7=8B=B1=E6=BA=90=E5=AE=89=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 23 ++- README.md | 28 ++- dkhelper/dkhelper/Info.plist | 28 +-- .../dkhelperDylib/DKHelperSettingController.m | 162 +++++++++++------- dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm | 33 +++- dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm | 23 ++- dkhelper/dkhelperDylib/MyUtils/DKHelper.h | 10 +- dkhelper/dkhelperDylib/MyUtils/DKHelper.m | 63 +++++++ .../dkhelperDylib/MyUtils/DKHelperConfig.h | 42 ++++- .../dkhelperDylib/MyUtils/DKHelperConfig.m | 47 ++++- .../wechatHeaders/WCUIAlertView.h | 1 + .../wechatHeaders/WechatHeaders.h | 54 +++++- 12 files changed, 413 insertions(+), 101 deletions(-) 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 */