468 lines
23 KiB
Objective-C
468 lines
23 KiB
Objective-C
//
|
||
// ProfileViewController.m
|
||
// TreeHole
|
||
//
|
||
// Created by mambaxie on 2022/4/24.
|
||
//
|
||
|
||
#import "ProfileViewController.h"
|
||
#import "MTCommonListTableViewCell.h"
|
||
#import "UserService.h"
|
||
#import "SettingsViewController.h"
|
||
#import "ProfileCardViewController.h"
|
||
#import "VIPCardInfo.h"
|
||
#import "VIPViewController.h"
|
||
#import "AlertInputView.h"
|
||
#import <WXApi.h>
|
||
#import "WZLBadgeImport.h"
|
||
#import "MTCacheManager.h"
|
||
#import "WalletViewController.h"
|
||
#import "InviteCodeViewController.h"
|
||
static NSString * const DidActionScoreKey = @"DidActionScoreKey";
|
||
static NSString * const DidActionFollowPublicAccountKey = @"DidActionFollowPublicAccountKey";
|
||
|
||
@interface ProfileViewController ()
|
||
|
||
@property (nonatomic, strong) VIPCardInfo *vipCardInfo;
|
||
|
||
@property (nonatomic, strong) UIImageView *vipTagView;
|
||
@property (nonatomic, strong) UIImage *avatarImage;
|
||
|
||
@property (nonatomic, assign) NSTimeInterval actionTime;
|
||
@property (nonatomic, assign) BOOL isScoreAction;
|
||
|
||
@end
|
||
|
||
@implementation ProfileViewController
|
||
|
||
- (void)viewDidLoad {
|
||
[super viewDidLoad];
|
||
|
||
[self refreshVIPInfo];
|
||
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
|
||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshVIPInfo) name:BuyVIPSuccessNotification object:nil];
|
||
|
||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showVIPAlertIfNeed) name:UIApplicationDidBecomeActiveNotification object:nil];
|
||
}
|
||
|
||
- (void)showVIPAlertIfNeed {
|
||
if (self.actionTime > 0) {
|
||
if ([[NSDate date] timeIntervalSince1970] - self.actionTime > 8) {
|
||
int extraVipDays = self.isScoreAction ? 15 : 15;
|
||
NSString *extarVipKey = self.isScoreAction ? @"extraVipDaysAppStore" : @"extraVipDaysWxGzh";
|
||
|
||
[MTAlertView showWithSetupBlcok:^(MTAlertViewConfig *config) {
|
||
config.title = @"领取奖励";
|
||
config.message = [NSString stringWithFormat:@"额外%d天VIP", extraVipDays];
|
||
config.cancelTitle = @"放弃";
|
||
config.otherTitle = @"领取";
|
||
config.otherHandler = ^(MTAlertButton *button) {
|
||
|
||
|
||
[MTAlertView showWithSetupBlcok:^(MTAlertViewConfig *config) {
|
||
config.title = @"领取成功";
|
||
config.message = [NSString stringWithFormat:@"当你购买VIP成功后,会额外赠送%d天VIP", extraVipDays];
|
||
config.cancelTitle = @"保存奖励";
|
||
config.otherTitle = @"购买VIP";
|
||
config.otherHandler = ^(MTAlertButton *button) {
|
||
[[NSUserDefaults standardUserDefaults] setObject:@(extraVipDays) forKey:extarVipKey];
|
||
[PYAppService showVipVC:@"market_score"];
|
||
};
|
||
config.cancelHandler = ^(MTAlertButton *button) {
|
||
[[NSUserDefaults standardUserDefaults] setObject:@(extraVipDays) forKey:extarVipKey];
|
||
[ToastUtil showToast:@"额外VIP天数保存本地成功,下次购买VIP会生效"];
|
||
};
|
||
}];
|
||
|
||
self.isScoreAction = NO;
|
||
};
|
||
config.cancelHandler = ^(MTAlertButton *button) {
|
||
self.isScoreAction = NO;
|
||
};
|
||
}];
|
||
} else {
|
||
[MTAlertView showWithSetupBlcok:^(MTAlertViewConfig *config) {
|
||
config.title = @"奖励未获取";
|
||
config.message = self.isScoreAction ? @"需评分+评价才可以获得免费VIP哦" : @"成功关注公众号才可得免费VIP哦";
|
||
config.cancelTitle = @"取消";
|
||
config.otherTitle = self.isScoreAction ? @"去评价" : @"去关注";
|
||
config.otherHandler = ^(MTAlertButton *button) {
|
||
if (self.isScoreAction) {
|
||
[self scoreApp];
|
||
} else {
|
||
[self followPublicAccount];
|
||
}
|
||
self.isScoreAction = NO;
|
||
};
|
||
config.cancelHandler = ^(MTAlertButton *button) {
|
||
self.isScoreAction = NO;
|
||
};
|
||
}];
|
||
}
|
||
}
|
||
self.actionTime = 0;
|
||
}
|
||
|
||
- (void)viewWillAppear:(BOOL)animated {
|
||
[super viewWillAppear:animated];
|
||
|
||
[UserService getUserInfoWithCompletion:^(User * _Nonnull user) {
|
||
[UserService loadUserOtherInfosWithUserIDs:@[@(user.ID).stringValue] userCache:YES comoletion:^(id _Nullable rsp, NSError * _Nullable error) {
|
||
[self reloadData];
|
||
[[SDWebImageManager sharedManager] loadImageWithURL:[NSURL URLWithString:user.avatar?: @""] options:0 progress:nil completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) {
|
||
self.avatarImage = image;
|
||
[self.tableView reloadData];
|
||
}];
|
||
}];
|
||
}];
|
||
|
||
[self refreshVIPInfo];
|
||
}
|
||
|
||
- (void)refreshVIPInfo {
|
||
[PYHTTPManager postWithPath:@"myvipcard" params:nil callback:^(id _Nullable rsp, NSError * _Nullable error) {
|
||
|
||
NSLog(@"rsp===%@",rsp);
|
||
|
||
VIPCardInfo *info = [VIPCardInfo mj_objectWithKeyValues:rsp];
|
||
self.vipCardInfo = info;
|
||
self.tableView.tableHeaderView = nil;
|
||
if (!info.is_audit && info.vipcard) {
|
||
UIView *headerView = [[UIView alloc] init];
|
||
headerView.width = self.view.width;
|
||
|
||
PYImageView *vipBgImageView = [[PYImageView alloc] init];
|
||
vipBgImageView.x = FIX_SIZE(20);
|
||
vipBgImageView.y = FIX_SIZE(64);
|
||
vipBgImageView.width = headerView.width - vipBgImageView.x * 2;
|
||
vipBgImageView.imageUrl = info.vipcard.card_bg_img;
|
||
vipBgImageView.height = vipBgImageView.width * 134.0 / 335.0;
|
||
[headerView addSubview:vipBgImageView];
|
||
vipBgImageView.userInteractionEnabled = YES;
|
||
|
||
UILabel *titleLabel = [[UILabel alloc] init];
|
||
titleLabel.textColor = COLOR_WITH_RGB(0xBF751B);
|
||
titleLabel.font = MT_FONT_REGULAR_SIZE(13);
|
||
titleLabel.x = FIX_SIZE(15);
|
||
titleLabel.y = FIX_SIZE(40);
|
||
titleLabel.text = info.vipcard.vip_des;
|
||
titleLabel.height = FIX_SIZE(20);
|
||
titleLabel.width = vipBgImageView.width - titleLabel.x * 2;
|
||
[vipBgImageView addSubview:titleLabel];
|
||
|
||
UIButton *buyButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||
[buyButton setTitle:info.vipcard.buy_button_title forState:UIControlStateNormal];
|
||
buyButton.titleLabel.font = MT_FONT_REGULAR_SIZE(15);
|
||
buyButton.layer.borderColor = UIColor.whiteColor.CGColor;
|
||
buyButton.layer.borderWidth = FIX_SIZE(2.5);
|
||
buyButton.layer.cornerRadius = FIX_SIZE(16);
|
||
[buyButton sizeToFit];
|
||
buyButton.width += FIX_SIZE(44);
|
||
buyButton.height = FIX_SIZE(38);
|
||
buyButton.right = vipBgImageView.width - FIX_SIZE(15);
|
||
buyButton.centerY = vipBgImageView.height * 0.5;
|
||
buyButton.clipsToBounds = YES;
|
||
[buyButton setBackgroundGradientColorWithBeginColorHex:0x66563E endColorHex:0x362B1D gradientType:GradientColorTypeFromLeftTopToRightBottom];
|
||
buyButton.hidden = [info isForever] && info.is_buyed_vip;
|
||
[buyButton addTouchUpInsideWithAction:^(UIButton * _Nullable button) {
|
||
[PYAppService showVipVC:@"vip_page"];
|
||
}];
|
||
[vipBgImageView addSubview:buyButton];
|
||
if (info.vipcard.buy_button_promotion_title.length > 0) {
|
||
UIButton *tipsButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||
tipsButton.userInteractionEnabled = NO;
|
||
[tipsButton setTitle:info.vipcard.buy_button_promotion_title forState:UIControlStateNormal];
|
||
tipsButton.titleEdgeInsets = UIEdgeInsetsMake(0, 0, FIX_SIZE(4), 0);
|
||
tipsButton.titleLabel.font = MT_FONT_REGULAR_SIZE(11);
|
||
[tipsButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||
[tipsButton sizeToFit];
|
||
tipsButton.width += FIX_SIZE(8);
|
||
UIImage *bgImage = [[UIImage imageNamed:@"TH_discount_tag_bg"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 25, 10, 10) resizingMode:UIImageResizingModeStretch];
|
||
[tipsButton setBackgroundImage:bgImage forState:UIControlStateNormal];
|
||
tipsButton.x = buyButton.centerX - FIX_SIZE(15);
|
||
tipsButton.bottom = buyButton.y + FIX_SIZE(8);
|
||
[vipBgImageView addSubview:tipsButton];
|
||
}
|
||
|
||
if (info.is_buyed_vip) {
|
||
UILabel *timeLabel = [[UILabel alloc] init];
|
||
timeLabel.textColor = COLOR_WITH_RGB(0x806C4D);
|
||
timeLabel.text = info.vipcard.vip_exp_date;
|
||
timeLabel.font = MT_FONT_REGULAR_SIZE(11);
|
||
[timeLabel sizeToFit];
|
||
timeLabel.x = FIX_SIZE(15);
|
||
[vipBgImageView addSubview:timeLabel];
|
||
|
||
UILabel *noLabel = [[UILabel alloc] init];
|
||
noLabel.textColor = COLOR_WITH_RGB(0x806C4D);
|
||
noLabel.text = info.vipcard.vip_no;
|
||
noLabel.font = MT_FONT_REGULAR_SIZE(11);
|
||
[noLabel sizeToFit];
|
||
noLabel.right = vipBgImageView.width - FIX_SIZE(15);
|
||
[vipBgImageView addSubview:noLabel];
|
||
|
||
timeLabel.bottom = noLabel.bottom = vipBgImageView.height - FIX_SIZE(15);
|
||
} else {
|
||
PYImageView *avatarImageView = [[PYImageView alloc] init];
|
||
avatarImageView.width = FIX_SIZE(142);
|
||
avatarImageView.height = FIX_SIZE(22);
|
||
avatarImageView.x = FIX_SIZE(14);
|
||
avatarImageView.imageUrl = info.vipcard.vip_avatars_img;
|
||
avatarImageView.bottom = vipBgImageView.height - FIX_SIZE(11);
|
||
[vipBgImageView addSubview:avatarImageView];
|
||
|
||
UILabel *tipsLabel = [[UILabel alloc] init];
|
||
tipsLabel.text = info.vipcard.vip_num;
|
||
tipsLabel.font = MT_FONT_REGULAR_SIZE(11);
|
||
tipsLabel.textColor = COLOR_WITH_RGB(0x040000);
|
||
[tipsLabel sizeToFit];
|
||
tipsLabel.x = avatarImageView.right + FIX_SIZE(6);
|
||
tipsLabel.centerY = avatarImageView.centerY;
|
||
[vipBgImageView addSubview:tipsLabel];
|
||
}
|
||
[headerView addTapWithAction:^{
|
||
[PYAppService showVipVC:@"vip_page"];
|
||
}];
|
||
headerView.height = vipBgImageView.bottom + FIX_SIZE(20);
|
||
self.tableView.tableHeaderView = headerView;
|
||
|
||
[self reloadData];
|
||
}
|
||
}];
|
||
|
||
}
|
||
|
||
- (BOOL)mt_nagationBarTransparent {
|
||
return YES;
|
||
}
|
||
|
||
- (MTCommonListTableConfig *)tableConfigForTableViewContorller {
|
||
|
||
MTCommonListTableConfig *config = [MTCommonListTableConfig defaultConfigWithCellStyle:MTCommonListTableCellStyleDisclosureIndicator rowsCountForSections:@[@(5)]];
|
||
config.cellTitles = @[[UserService currentUser].nickname ?: @"我的资料", @"我的瓶子", @"APP密码锁", @"更多",@"邀请有奖"];
|
||
config.cellImageNames = @[@"TH_pro_data_icon", @"TH_pro_bottle_icon", @"TH_pro_password_icon", @"TH_pro_more_icon", @"TH_pro_more_icon"];
|
||
WeakSelf(self);
|
||
config.sectionFooterHeight = 10;
|
||
config.sectionHeaderHeight = 0.01;
|
||
config.cellBackgroudColor = COLOR_WITH_RGB(0x221F39);
|
||
PYImageView *vipTagView = [[PYImageView alloc] init];
|
||
vipTagView.size = CGSizeMake(15, 15);
|
||
vipTagView.imageUrl = [UserService.currentUser vip_flag_img];
|
||
self.vipTagView = vipTagView;
|
||
[config resetCellConfigForSection:0 row:0 config:^(MTCommonListTableCellConfig *cellConfig) {
|
||
cellConfig.cellAction = ^(MTCommonListTableViewController *tableViewController, NSIndexPath *indexPath, MTCommonListTableCellConfig *cellConfig) {
|
||
[PYAppService pushViewControllerAnimated:[[ProfileCardViewController alloc] initWithUserID:[UserService currentUserID]]];
|
||
};
|
||
[cellConfig.cell.imageView sd_setImageWithURL:[NSURL URLWithString:[UserService currentUser].avatar ?: @""] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
|
||
[self.tableView reloadData];
|
||
}];
|
||
cellConfig.didLayoutSubviewsAction = ^(MTCommonListTableViewCell *cell) {
|
||
[weakself.vipTagView removeFromSuperview];
|
||
if ([weakself.vipCardInfo isVIP]) {
|
||
[cell addSubview:weakself.vipTagView];
|
||
weakself.vipTagView.left = cell.textLabel.right + FIX_SIZE(4);
|
||
weakself.vipTagView.centerY = cell.textLabel.centerY;
|
||
cell.textLabel.textColor = COLOR_WITH_RGB(0xFDCF7F);
|
||
}
|
||
cell.imageView.image = weakself.avatarImage;
|
||
cell.imageView.backgroundColor = [UIColor clearColor];
|
||
cell.imageView.layer.cornerRadius = FIX_SIZE(6);
|
||
cell.imageView.layer.borderWidth = 0.5;
|
||
cell.imageView.layer.borderColor = [UIColor whiteColor].CGColor;
|
||
cell.imageView.clipsToBounds = YES;
|
||
cell.imageView.contentMode = UIViewContentModeScaleAspectFill;
|
||
};
|
||
}];
|
||
[config resetCellConfigForSection:0 row:1 config:^(MTCommonListTableCellConfig *cellConfig) {
|
||
cellConfig.cellAction = ^(MTCommonListTableViewController *tableViewController, NSIndexPath *indexPath, MTCommonListTableCellConfig *cellConfig) {
|
||
[SVProgressHUD showImage:nil status:@"已放之瓶无须念,往事随风自然开~"];
|
||
};
|
||
}];
|
||
|
||
// [config resetCellConfigForSection:1 row:1 config:^(MTCommonListTableCellConfig *cellConfig) {
|
||
// AppConfig *appConfig = [PYAppService appConfig];
|
||
// cellConfig.accessoryTitle = appConfig.wallet_des;
|
||
// cellConfig.cellAction = ^(MTCommonListTableViewController *tableViewController, NSIndexPath *indexPath, MTCommonListTableCellConfig *cellConfig) { // 钱包
|
||
// [PYAppService appConfig].is_wallet_notice = NO;
|
||
// [weakself.navigationController pushViewController:[WalletViewController new] animated:YES];
|
||
// [self reloadData];
|
||
// };
|
||
// if ([weakself.class shouldShowWalletBadge]) {
|
||
// cellConfig.didLayoutSubviewsAction = ^(MTCommonListTableViewCell *cell) {
|
||
// [cell.textLabel showBadgeWithStyle:WBadgeStyleRedDot value:0 animationType:WBadgeAnimTypeNone];
|
||
// cell.textLabel.badgeCenterOffset = CGPointMake(4, cell.textLabel.height * 0.5);
|
||
// };
|
||
// }
|
||
// }];
|
||
|
||
[config resetCellConfigForSection:0 row:2 config:^(MTCommonListTableCellConfig *cellConfig) {
|
||
cellConfig.style = MTCommonListTableCellStyleSwitch;
|
||
BOOL canOpen = [UserService isSecurityCodeOpen];
|
||
[cellConfig.switchButton setOn:canOpen];
|
||
cellConfig.switchButtonAction = ^(UISwitch *switchButton, MTCommonListTableViewCell *cell) {
|
||
if (switchButton.isOn) {
|
||
if ([UserService currentUser].security_code.length != SecurityCodeLength) {
|
||
[switchButton setOn:NO animated:NO];
|
||
[AlertInputView showWithTitle:@"设置密码" content:nil maxLength:SecurityCodeLength action:^BOOL(NSString * _Nonnull content) {
|
||
if (content.length != SecurityCodeLength) {
|
||
[ToastUtil showToast:[NSString stringWithFormat:@"请输入%lu位数字", (unsigned long)SecurityCodeLength] position:CSToastPositionTop];
|
||
return NO;
|
||
}
|
||
[UserService updateUserSecurityToRemote:@{
|
||
@"security_code" : content ?: @"",
|
||
@"is_security_on" : @(1),
|
||
} completion:^(id _Nullable rsp, NSError * _Nullable error) {
|
||
if (error) {
|
||
[switchButton setOn:NO animated:YES];
|
||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||
[SVProgressHUD showErrorWithStatus:[error.userInfo objectForKey:@"message"]];
|
||
});
|
||
return;
|
||
} else { // 设置成功
|
||
[switchButton setOn:YES animated:YES];
|
||
[UserService currentUser].security_code = content;
|
||
[UserService currentUser].is_security_on = 1;
|
||
}
|
||
}];
|
||
return YES;
|
||
}];
|
||
return;
|
||
}else{
|
||
[switchButton setOn:NO animated:NO];
|
||
[UserService updateUserSecurityToRemote:@{
|
||
@"security_code" : [UserService currentUser].security_code,
|
||
@"is_security_on" : @(1),
|
||
} completion:^(id _Nullable rsp, NSError * _Nullable error) {
|
||
if (error) {
|
||
[switchButton setOn:NO animated:YES];
|
||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||
[SVProgressHUD showErrorWithStatus:[error.userInfo objectForKey:@"message"]];
|
||
});
|
||
return;
|
||
} else { // 设置成功
|
||
[UserService currentUser].is_security_on = 1;
|
||
[switchButton setOn:YES animated:YES];
|
||
}
|
||
}];
|
||
}
|
||
} else {
|
||
[UserService updateUserSecurityToRemote:@{
|
||
@"security_code" : [UserService currentUser].security_code,
|
||
@"is_security_on" : @(0),
|
||
} completion:^(id _Nullable rsp, NSError * _Nullable error) {
|
||
if (error) {
|
||
[switchButton setOn:YES animated:YES];
|
||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||
[SVProgressHUD showErrorWithStatus:[error.userInfo objectForKey:@"message"]];
|
||
});
|
||
return;
|
||
} else { // 设置成功
|
||
[UserService currentUser].is_security_on = 0;
|
||
[switchButton setOn:NO animated:YES];
|
||
}
|
||
}];
|
||
}
|
||
};
|
||
}];
|
||
//
|
||
// [config resetCellConfigForSection:2 row:1 config:^(MTCommonListTableCellConfig *cellConfig) {
|
||
// cellConfig.accessoryTitle = @"额外送15天VIP";
|
||
// if ([weakself.class shoulShowScoreBadge]) {
|
||
// cellConfig.didLayoutSubviewsAction = ^(MTCommonListTableViewCell *cell) {
|
||
// [cell.textLabel showBadgeWithStyle:WBadgeStyleRedDot value:0 animationType:WBadgeAnimTypeNone];
|
||
// cell.textLabel.badgeCenterOffset = CGPointMake(4, cell.textLabel.height * 0.5);
|
||
// };
|
||
// }
|
||
// cellConfig.cellAction = ^(MTCommonListTableViewController *tableViewController, NSIndexPath *indexPath, MTCommonListTableCellConfig *cellConfig) { // 跳转到app store
|
||
// [[MTCacheManager defaultCacheManager] setObject:@(YES) forKey:DidActionScoreKey];
|
||
// [weakself reloadData];
|
||
// [weakself scoreApp];
|
||
// };
|
||
// }];
|
||
//
|
||
// [config resetCellConfigForSection:2 row:2 config:^(MTCommonListTableCellConfig *cellConfig) {
|
||
// cellConfig.accessoryTitle = @"额外送15天VIP";
|
||
// cellConfig.didLayoutSubviewsAction = ^(MTCommonListTableViewCell *cell) {
|
||
// if ([weakself.class shouldShowFollowPublicAccountBadge]) {
|
||
// [cell.textLabel showBadgeWithStyle:WBadgeStyleRedDot value:0 animationType:WBadgeAnimTypeNone];
|
||
// cell.textLabel.badgeCenterOffset = CGPointMake(4, cell.textLabel.height * 0.5);
|
||
// }
|
||
// };
|
||
//
|
||
// cellConfig.cellAction = ^(MTCommonListTableViewController *tableViewController, NSIndexPath *indexPath, MTCommonListTableCellConfig *cellConfig) {
|
||
// [[MTCacheManager defaultCacheManager] setObject:@(YES) forKey:DidActionFollowPublicAccountKey];
|
||
// [weakself reloadData];
|
||
// [weakself followPublicAccount];
|
||
// };
|
||
// }];
|
||
|
||
[config resetCellConfigForSection:0 row:3 config:^(MTCommonListTableCellConfig *cellConfig) {
|
||
cellConfig.cellAction = ^(MTCommonListTableViewController *tableViewController, NSIndexPath *indexPath, MTCommonListTableCellConfig *cellConfig) {
|
||
[PYAppService pushViewControllerAnimated:[SettingsViewController new]];
|
||
};
|
||
}];
|
||
|
||
[config resetCellConfigForSection:0 row:4 config:^(MTCommonListTableCellConfig *cellConfig) {
|
||
cellConfig.cellAction = ^(MTCommonListTableViewController *tableViewController, NSIndexPath *indexPath, MTCommonListTableCellConfig *cellConfig) {
|
||
[PYAppService pushViewControllerAnimated:[InviteCodeViewController new]];
|
||
};
|
||
}];
|
||
return config;
|
||
}
|
||
|
||
- (void)scoreApp {
|
||
NSURL *url = [NSURL URLWithString:@"itms-apps://itunes.apple.com/cn/app/id1623786430?mt=8"];
|
||
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
|
||
if (!success) {
|
||
[SVProgressHUD showErrorWithStatus:@"唤起App store失败,请手动唤起"];
|
||
} else {
|
||
self.actionTime = [[NSDate date] timeIntervalSince1970];
|
||
self.isScoreAction = YES;
|
||
}
|
||
}];
|
||
}
|
||
|
||
- (void)followPublicAccount {
|
||
[MTAlertView showWithSetupBlcok:^(MTAlertViewConfig *config) {
|
||
config.title = @"公众号复制成功";
|
||
config.message = @"点击微信右上角+号,添加”添加朋友“,”公众号“,粘贴搜索,即可关注";
|
||
config.cancelTitle = @"取消";
|
||
config.otherTitle = @"前往微信";
|
||
[UIPasteboard generalPasteboard].string = [PYAppService appConfig].wx_gong_zhong_hao.length > 0 ? [PYAppService appConfig].wx_gong_zhong_hao : @"shudongxiaojiuguan";
|
||
config.otherHandler = ^(MTAlertButton *button) { // 唤起微信
|
||
if (![WXApi openWXApp]) {
|
||
[SVProgressHUD showErrorWithStatus:@"唤起微信失败,请手动唤起"];
|
||
} else {
|
||
self.actionTime = [[NSDate date] timeIntervalSince1970];
|
||
}
|
||
};
|
||
}];
|
||
}
|
||
|
||
- (void)reloadData {
|
||
[super reloadData];
|
||
|
||
if (![self.class shouldShowBadge]) { // 清空红点
|
||
[PYAppService showBadgeOnTabBarItemAtIndex:0 number:0];
|
||
}
|
||
}
|
||
|
||
+ (BOOL)shouldShowWalletBadge {
|
||
return [PYAppService appConfig].is_wallet_notice;
|
||
}
|
||
|
||
+ (BOOL)shoulShowScoreBadge {
|
||
return ![[MTCacheManager defaultCacheManager] boolForKey:DidActionScoreKey];
|
||
}
|
||
|
||
+ (BOOL)shouldShowFollowPublicAccountBadge {
|
||
return ![[MTCacheManager defaultCacheManager] boolForKey:DidActionFollowPublicAccountKey];
|
||
}
|
||
|
||
+ (BOOL)shouldShowBadge {
|
||
return NO;
|
||
// return [self shoulShowScoreBadge] || [self shouldShowFollowPublicAccountBadge] || [self shouldShowWalletBadge];
|
||
}
|
||
|
||
@end
|