红包逻辑
This commit is contained in:
@@ -346,6 +346,7 @@ typedef NS_ENUM(NSUInteger, CustomMessageSubRedPacket) {
|
||||
Custom_Message_Sub_AllGiftRedPacket = 603, //全服礼物红包
|
||||
Custom_Message_Sub_AllDiamandRedPacket = 604, //全服钻石红包
|
||||
Custom_Message_Sub_OpenRedPacketSuccess = 605,//抢红包成功
|
||||
Custom_Message_Sub_NewRoomDiamandRedPacket = 606, //新版本房间钻石红包
|
||||
};
|
||||
|
||||
///first = CustomMessageType_Collection_Room
|
||||
|
@@ -199,7 +199,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 获取红包信息
|
||||
/// @param completion 完成
|
||||
/// @param roomUid 房间Uid
|
||||
+ (void)requestRedPacket:(HttpRequestHelperCompletion)completion uid:(NSString *)roomUid;
|
||||
+ (void)requestRedPacket:(HttpRequestHelperCompletion)completion uid:(NSString *)roomUid isShowKind:(NSString *)isShowKind;
|
||||
|
||||
|
||||
///拿到首充弹窗次数
|
||||
@@ -212,7 +212,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
+ (void)requesstShielding:(HttpRequestHelperCompletion)completion type:(NSString *)type objId:(NSString *)objId;
|
||||
///得到免费礼物数据
|
||||
+(void)requestFreeGiftData:(HttpRequestHelperCompletion)completion;
|
||||
/// /获取已解锁照片id列表
|
||||
/// /获解锁照片
|
||||
/// @param completion 完成
|
||||
/// @param id 相册id
|
||||
/// @param roomUid 房间id
|
||||
|
@@ -264,9 +264,9 @@
|
||||
/// 获取红包信息
|
||||
/// @param completion 完成
|
||||
/// @param roomUid 房间Uid
|
||||
+ (void)requestRedPacket:(HttpRequestHelperCompletion)completion uid:(NSString *)roomUid {
|
||||
+ (void)requestRedPacket:(HttpRequestHelperCompletion)completion uid:(NSString *)roomUid isShowKind:(NSString *)isShowKind{
|
||||
NSString * fang = [NSString stringFromBase64String:@"cm9vbS9yZWQtZW52ZWxvcA=="];///room/red-envelop
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, roomUid, nil];
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, roomUid,isShowKind, nil];
|
||||
}
|
||||
|
||||
///拿到首充弹窗次数
|
||||
|
@@ -252,8 +252,11 @@
|
||||
- (void)getRedPacket:(NSString *)roomUid {
|
||||
[Api requestRedPacket:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
NSArray *array = [XPRedPacketModel modelsWithArray:data.data];
|
||||
for (XPRedPacketModel *model in array) {
|
||||
model.timestamp = data.timestamp;
|
||||
}
|
||||
[[self getView] getRedPacketSuccess:array];
|
||||
}] uid:roomUid];
|
||||
}] uid:roomUid isShowKind:@"1"];
|
||||
}
|
||||
|
||||
-(void)getRoomFirstCharegWindow:(NSString *)roomUid{
|
||||
|
@@ -8,9 +8,18 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "RoomHostDelegate.h"
|
||||
#import "RoomGuestDelegate.h"
|
||||
#import "XPRedPacketModel.h"
|
||||
|
||||
|
||||
|
||||
typedef void(^OpenRedPacketHandle)(XPRedPacketModel *_Nullable);
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomActivityContainerView : UIView<RoomGuestDelegate>
|
||||
@property(nonatomic,strong) XPRedPacketModel *redPacketModel;
|
||||
@property(nonatomic,copy) NSString *pi_redNum;
|
||||
@property(nonatomic,copy)OpenRedPacketHandle openRedPacketHandle;
|
||||
- (instancetype)initWithdelegate:(id<RoomHostDelegate>)delegate;
|
||||
@end
|
||||
|
||||
|
@@ -70,7 +70,9 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomActivityContainerView
|
||||
|
||||
-(void)dealloc{
|
||||
[[NSNotificationCenter defaultCenter]removeObserver:self];
|
||||
}
|
||||
- (instancetype)initWithdelegate:(id<RoomHostDelegate>)delegate {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
@@ -92,8 +94,11 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
[self.stackView addArrangedSubview:self.redPacketView];
|
||||
[self.stackView addArrangedSubview:self.lookLoveImageView];
|
||||
[self.stackView addArrangedSubview:self.joinDatingView];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(openRedPacketResult) name:@"kOpenRedPacketResult" object:nil];
|
||||
}
|
||||
-(void)openRedPacketResult{
|
||||
self.redPacketView.hidden = YES;
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self);
|
||||
@@ -239,7 +244,15 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-(void)setRedPacketModel:(XPRedPacketModel *)redPacketModel{
|
||||
_redPacketModel = redPacketModel;
|
||||
self.redPacketView.hidden = NO;
|
||||
self.redPacketView.redPacketModel = _redPacketModel;
|
||||
}
|
||||
-(void)setPi_redNum:(NSString *)pi_redNum{
|
||||
_pi_redNum = pi_redNum;
|
||||
self.redPacketView.pi_redNum = pi_redNum;
|
||||
}
|
||||
#pragma mark - RoomGuestDelegat
|
||||
- (void)onRoomUpdate {
|
||||
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
|
||||
@@ -453,7 +466,30 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
XPSailingViewController * sailingVC = [[XPSailingViewController alloc] initWithRoomUid:roomUid];
|
||||
[self.hostDelegate.getCurrentNav presentViewController:sailingVC animated:YES completion:nil];
|
||||
}
|
||||
|
||||
-(void)openRedPacketAction{
|
||||
self.redPacketView.userInteractionEnabled = NO;
|
||||
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
|
||||
[Api requestRedPacket:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
self.redPacketView.userInteractionEnabled = YES;
|
||||
if(code == 200){
|
||||
NSArray *array = [XPRedPacketModel modelsWithArray:data.data];
|
||||
for (XPRedPacketModel *model in array) {
|
||||
model.timestamp = data.timestamp;
|
||||
}
|
||||
if(array.count > 0){
|
||||
XPRedPacketModel *redModel = array.firstObject;
|
||||
if(redModel.state == 2 || redModel.state == 6){
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomActivityContainerView3")];
|
||||
self.redPacketView.hidden = YES;
|
||||
return;
|
||||
}
|
||||
if(self.openRedPacketHandle){
|
||||
self.openRedPacketHandle(self.redPacketModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
} uid:[NSString stringWithFormat:@"%ld",roomInfo.uid] isShowKind:@"1"];
|
||||
}
|
||||
#pragma mark - Getters And Setters
|
||||
- (SDCycleScrollView *)pi_cycleScrollView {
|
||||
if (!_pi_cycleScrollView) {
|
||||
@@ -484,7 +520,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
_stackView.axis = UILayoutConstraintAxisVertical;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentCenter;
|
||||
_stackView.spacing = 5;
|
||||
_stackView.spacing = 0;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
@@ -569,6 +605,9 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
- (PIRoomEnterRedPacketView *)redPacketView{
|
||||
if(!_redPacketView){
|
||||
_redPacketView = [[PIRoomEnterRedPacketView alloc]initWithFrame:CGRectZero];
|
||||
_redPacketView.hidden = YES;
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(openRedPacketAction)];
|
||||
[_redPacketView addGestureRecognizer:tap];
|
||||
}
|
||||
return _redPacketView;
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param password 密码
|
||||
/// @param message 消息
|
||||
/// @param kind 红包种类 0 旧版本 1 无门槛红包 2 关注红包 3 分享红包 4 弹幕红包
|
||||
+ (void)sendRedPacket:(HttpRequestHelperCompletion)completion num:(NSString *)num goldNum:(NSString *)goldNum roomUId:(NSString *)roomUId type:(NSString *)type password:(NSString *)password message:(NSString *)message kind:(NSString *)kind;
|
||||
+ (void)sendRedPacket:(HttpRequestHelperCompletion)completion num:(NSString *)num goldNum:(NSString *)goldNum roomUId:(NSString *)roomUId type:(NSString *)type password:(NSString *)password message:(NSString *)message kind:(NSString *)kind validityType:(NSString *)validityType;
|
||||
|
||||
|
||||
/// 抢红包
|
||||
|
@@ -9,9 +9,9 @@
|
||||
#import <Base64/MF_Base64Additions.h>
|
||||
@implementation Api (RedPacket)
|
||||
|
||||
+ (void)sendRedPacket:(HttpRequestHelperCompletion)completion num:(NSString *)num goldNum:(NSString *)goldNum roomUId:(NSString *)roomUId type:(NSString *)type password:(NSString *)password message:(NSString *)message kind:(NSString *)kind{
|
||||
+ (void)sendRedPacket:(HttpRequestHelperCompletion)completion num:(NSString *)num goldNum:(NSString *)goldNum roomUId:(NSString *)roomUId type:(NSString *)type password:(NSString *)password message:(NSString *)message kind:(NSString *)kind validityType:(NSString *)validityType{
|
||||
NSString * fang = [NSString stringFromBase64String:@"cmVkLWVudmVsb3Bl"];///red-envelope
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, num, goldNum, roomUId, type, password, message, kind,nil];
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, num, goldNum, roomUId, type, password, message, kind,validityType,nil];
|
||||
}
|
||||
|
||||
+ (void)openRedPacket:(HttpRequestHelperCompletion)completion redEnvelopeId:(NSString *)redEnvelopeId {
|
||||
|
@@ -60,7 +60,7 @@
|
||||
self.avatarView.imageUrl = model.userVO.avatar;
|
||||
NSDate *date = [NSDate dateWithTimeIntervalSince1970:model.createTime/1000];
|
||||
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
|
||||
[dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
|
||||
[dateFormatter setDateFormat:@"MM/dd HH:mm"];
|
||||
self.timeLabel.text = [dateFormatter stringFromDate:date];
|
||||
self.amountLabel.hidden = NO;
|
||||
if (model.amount.doubleValue> 0) {
|
||||
|
@@ -25,7 +25,16 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, copy) NSString *redEnvelopeId;
|
||||
///红包祝福语
|
||||
@property (nonatomic, copy) NSString *redEnvelopeMessage;
|
||||
|
||||
///生效类型 0 立即生效 1 限时生效
|
||||
@property(nonatomic,assign) int validityType;
|
||||
///当前时间
|
||||
@property(nonatomic,assign) long timestamp;
|
||||
///红包开始时间
|
||||
@property(nonatomic,assign) long beginTime;
|
||||
////红包数量
|
||||
@property(nonatomic,copy) NSString *redEnvelopeNum;
|
||||
// 1 无门槛红包 2 关注红包 3 分享红包 4 弹幕红包
|
||||
@property(nonatomic, assign) int kind;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -17,9 +17,15 @@ typedef enum : NSUInteger {
|
||||
RedPacketType_RoomGift = 3,
|
||||
RedPacketType_AllGift = 4
|
||||
} RedPacketType;
|
||||
|
||||
// 红包类型 1:房间钻石红包 2:全服钻石红包 3:房间礼物红包 4:全服礼物红包
|
||||
typedef enum : NSUInteger {
|
||||
RedPacketConditionsType_NO = 1,
|
||||
RedPacketConditionsType_Followd = 2,
|
||||
RedPacketConditionsType_Share = 3,
|
||||
RedPacketConditionsType_Scrolling = 4
|
||||
} RedPacketConditionsType;
|
||||
@interface XPRedPacketModel : NSObject
|
||||
|
||||
@property(nonatomic,assign) NSInteger state;
|
||||
@property (nonatomic, assign) RedPacketType type;
|
||||
|
||||
@property (nonatomic, copy) NSString *redEnvelopeId;
|
||||
@@ -37,7 +43,16 @@ typedef enum : NSUInteger {
|
||||
@property (nonatomic, copy) NSString *redEnvelopeAmount;
|
||||
/// 已领取数量
|
||||
@property (nonatomic, copy) NSString *pickNum;
|
||||
|
||||
// 1 无门槛红包 2 关注红包 3 分享红包 4 弹幕红包
|
||||
@property(nonatomic, assign) RedPacketConditionsType kind;
|
||||
///生效类型 0 立即生效 1 限时生效
|
||||
@property(nonatomic,assign) int validityType;
|
||||
///当前时间
|
||||
@property(nonatomic,assign) long timestamp;
|
||||
///红包开始时间
|
||||
@property(nonatomic,assign) long beginTime;
|
||||
///0,未完成,1,完成
|
||||
@property(nonatomic,assign) int finish;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -6,11 +6,11 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "XPRedPacketResultModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PIReceiveRedPacketSuccessView : UIView
|
||||
|
||||
@property(nonatomic,strong) XPRedPacketResultModel *resultModel;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -23,6 +23,8 @@
|
||||
@property (nonatomic, strong) UILabel *sendNickLabel;
|
||||
///收到的祝福语
|
||||
@property (nonatomic, strong) UILabel *sendWishLabel;
|
||||
///领取个数
|
||||
@property(nonatomic,strong) UILabel *openSituationLabel;
|
||||
@property (nonatomic, strong) UITableView *tableView;
|
||||
|
||||
@end
|
||||
@@ -37,7 +39,6 @@
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
self.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4];
|
||||
[self addSubview:self.bgImageView];
|
||||
[self addSubview:self.closeBtn];
|
||||
[self.bgImageView addSubview:self.getDiamondView];
|
||||
@@ -46,12 +47,10 @@
|
||||
[self.bgImageView addSubview:self.sendNickLabel];
|
||||
[self.bgImageView addSubview:self.sendWishLabel];
|
||||
[self.bgImageView addSubview:self.tableView];
|
||||
[self.bgImageView addSubview:self.openSituationLabel];
|
||||
|
||||
|
||||
self.sendNickLabel.text = @"Piko的紅包";
|
||||
self.sendWishLabel.text = @"恭喜發財,大吉大利!";
|
||||
self.pi_tipsView.text = @"已存入錢包,請到我的收益確認";
|
||||
|
||||
NSMutableAttributedString *numText = [[NSMutableAttributedString alloc]initWithString:@"100" attributes:@{NSFontAttributeName:kFontMedium(32),NSForegroundColorAttributeName:UIColorFromRGB(0xFF285C)}];
|
||||
NSMutableAttributedString *numText = [[NSMutableAttributedString alloc]initWithString:@"0" attributes:@{NSFontAttributeName:kFontMedium(32),NSForegroundColorAttributeName:UIColorFromRGB(0xFF285C)}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"mine_noble_center__diamond"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(kFontMedium(32).capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
|
||||
@@ -78,11 +77,7 @@
|
||||
make.centerX.equalTo(self.bgImageView);
|
||||
make.top.mas_equalTo(kGetScaleWidth(89));
|
||||
}];
|
||||
[self.pi_tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(129));
|
||||
make.centerX.equalTo(self.bgImageView);
|
||||
make.height.mas_equalTo(kGetScaleWidth(17));
|
||||
}];
|
||||
|
||||
|
||||
[self.sendNickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.equalTo(self.bgImageView.mas_centerX).mas_offset(kGetScaleWidth(14));
|
||||
@@ -91,7 +86,7 @@
|
||||
}];
|
||||
[self.sendAvatar mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(24));
|
||||
make.top.equalTo(self.pi_tipsView.mas_bottom).mas_offset(kGetScaleWidth(31));
|
||||
make.top.mas_equalTo(kGetScaleWidth(177));
|
||||
make.trailing.equalTo(self.sendNickLabel.mas_leading).mas_offset(-kGetScaleWidth(4));
|
||||
}];
|
||||
[self.sendWishLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -106,22 +101,75 @@
|
||||
make.height.mas_equalTo(kGetScaleWidth(180));
|
||||
make.centerX.equalTo(self.bgImageView);
|
||||
}];
|
||||
[self.openSituationLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(-kGetScaleWidth(60));
|
||||
make.bottom.mas_equalTo(-kGetScaleWidth(32));
|
||||
make.height.mas_equalTo(kGetScaleWidth(14));
|
||||
}];
|
||||
}
|
||||
#pragma mark - tableviewDatasource
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return 3;
|
||||
return self.resultModel.redEnvelopeItemVOs.count;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
XPOpenRedPacketCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPOpenRedPacketCell class]) forIndexPath:indexPath];
|
||||
|
||||
XPRedPacketPersonReceiveModel *model = [self.resultModel.redEnvelopeItemVOs safeObjectAtIndex1:indexPath.row];
|
||||
cell.model = model;
|
||||
return cell;
|
||||
}
|
||||
#pragma mark - action
|
||||
- (void)onCloseButtonClick:(UIButton *)sender {
|
||||
[self removeFromSuperview];
|
||||
[self.superview removeFromSuperview];
|
||||
|
||||
}
|
||||
-(void)setResultModel:(XPRedPacketResultModel *)resultModel{
|
||||
_resultModel = resultModel;
|
||||
|
||||
if (_resultModel.redEnvelopeState == RedPacketState_Success) {//抢到红包
|
||||
NSMutableAttributedString *numText = [[NSMutableAttributedString alloc]initWithString:_resultModel.currentUserAmount attributes:@{NSFontAttributeName:kFontMedium(32),NSForegroundColorAttributeName:UIColorFromRGB(0xFF285C)}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"mine_noble_center__diamond"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(kFontMedium(32).capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
|
||||
|
||||
attachment.image =iconImage;
|
||||
NSAttributedString * starAttribute = [NSMutableAttributedString attributedStringWithAttachment:(NSTextAttachment *)attachment];
|
||||
[numText insertAttributedString:starAttribute atIndex:0];
|
||||
self.getDiamondView.attributedText = numText;
|
||||
self.pi_tipsView.text = YMLocalizedString(@"XPReceiveRedPacketView1");
|
||||
[self.pi_tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(129));
|
||||
make.centerX.equalTo(self.bgImageView);
|
||||
make.height.mas_equalTo(kGetScaleWidth(17));
|
||||
}];
|
||||
} else if (_resultModel.redEnvelopeState == RedPacketState_Remain_Zero) {//抢光了
|
||||
self.pi_tipsView.text = YMLocalizedString(@"XPReceiveRedPacketView2");
|
||||
[self.pi_tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(110));
|
||||
make.centerX.equalTo(self.bgImageView);
|
||||
make.height.mas_equalTo(kGetScaleWidth(17));
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
self.sendAvatar.imageUrl = _resultModel.redEnvelopeVO.userVO.avatar;
|
||||
NSString *nick = resultModel.redEnvelopeVO.userVO.nick;
|
||||
if (resultModel.redEnvelopeVO.userVO.nick.length > 6) {
|
||||
nick = [NSString stringWithFormat:@"%@...", [resultModel.redEnvelopeVO.userVO.nick substringToIndex:6]];
|
||||
}
|
||||
nick = [NSString stringWithFormat:@"%@%@",nick,YMLocalizedString(@"XPReceiveRedPacketView8")];
|
||||
self.sendWishLabel.text = _resultModel.redEnvelopeVO.message;
|
||||
self.openSituationLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPReceiveRedPacketView4"), resultModel.redEnvelopeVO.pickNum, resultModel.redEnvelopeVO.totalNum];
|
||||
// NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] init];
|
||||
// NSMutableAttributedString *nickAttr = [[NSMutableAttributedString alloc] initWithString:nick attributes:@{NSForegroundColorAttributeName : UIColorFromRGB(0xFDCD00)}];
|
||||
// NSMutableAttributedString *redPacketStr = [[NSMutableAttributedString alloc] initWithString:YMLocalizedString(@"XPReceiveRedPacketView3") attributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
|
||||
// [attribute appendAttributedString:nickAttr];
|
||||
// [attribute appendAttributedString:redPacketStr];
|
||||
// self.sendNickLabel.attributedText = attribute;
|
||||
// self.sendWishLabel.text = resultModel.redEnvelopeVO.message;
|
||||
// self.openSituationLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPReceiveRedPacketView4"), resultModel.redEnvelopeVO.pickNum, resultModel.redEnvelopeVO.totalNum];
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIImageView *)bgImageView {
|
||||
if (!_bgImageView) {
|
||||
@@ -197,4 +245,10 @@
|
||||
}
|
||||
return _getDiamondView;
|
||||
}
|
||||
- (UILabel *)openSituationLabel{
|
||||
if(!_openSituationLabel){
|
||||
_openSituationLabel = [UILabel labelInitWithText:@"" font:kFontMedium(10) textColor:[UIColor colorWithWhite:1 alpha:0.8]];
|
||||
}
|
||||
return _openSituationLabel;
|
||||
}
|
||||
@end
|
||||
|
@@ -6,11 +6,13 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "XPRedPacketModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PIRoomEnterRedPacketView : UIView
|
||||
|
||||
@property(nonatomic,assign) BOOL isCountDownEnd;
|
||||
@property(nonatomic,copy) NSString *pi_redNum;
|
||||
@property(nonatomic,strong) XPRedPacketModel *redPacketModel;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -15,6 +15,9 @@
|
||||
@property(nonatomic,strong) UILabel *countDownView;
|
||||
///倒计时
|
||||
@property (nonatomic,strong) CountDownHelper *countDownHelper;
|
||||
///红点
|
||||
@property(nonatomic,strong) UILabel *redPoionNumView;
|
||||
@property(nonatomic,strong) UIView *redPoionView;
|
||||
@end
|
||||
@implementation PIRoomEnterRedPacketView
|
||||
|
||||
@@ -27,9 +30,12 @@
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
self.isCountDownEnd = YES;
|
||||
[self addSubview:self.bgImageView];
|
||||
[self.bgImageView addSubview:self.robBtn];
|
||||
[self.bgImageView addSubview:self.countDownView];
|
||||
[self.bgImageView addSubview:self.redPoionView];
|
||||
[self.redPoionView addSubview:self.redPoionNumView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -44,11 +50,101 @@
|
||||
[self.countDownView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.robBtn);
|
||||
}];
|
||||
[self.redPoionView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(kGetScaleWidth(12));
|
||||
make.width.mas_greaterThanOrEqualTo(kGetScaleWidth(12));
|
||||
make.bottom.equalTo(self.robBtn.mas_top).mas_offset(-kGetScaleWidth(17));
|
||||
make.trailing.equalTo(self.robBtn.mas_trailing).mas_equalTo(kGetScaleWidth(6));
|
||||
}];
|
||||
[self.redPoionNumView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.equalTo(self.redPoionView);
|
||||
make.leading.trailing.equalTo(self.redPoionView).inset(kGetScaleWidth(3));
|
||||
}];
|
||||
}
|
||||
-(void)setPi_redNum:(NSString *)pi_redNum{
|
||||
_pi_redNum = pi_redNum;
|
||||
_redPoionNumView.text = _pi_redNum.integerValue > 99 ? @"99+" : _pi_redNum;
|
||||
}
|
||||
-(void)setRedPacketModel:(XPRedPacketModel *)redPacketModel{
|
||||
_redPacketModel = redPacketModel;
|
||||
self.countDownView.hidden = YES;
|
||||
self.robBtn.hidden = YES;
|
||||
if(_redPacketModel.kind == RedPacketConditionsType_NO){
|
||||
|
||||
if(_redPacketModel.validityType == 1){
|
||||
NSInteger time = [self getTimeDifferenceWithTimestamp:_redPacketModel.timestamp / 1000 beginTime:_redPacketModel.beginTime / 1000];
|
||||
if(time > 0){
|
||||
self.countDownView.hidden = NO;
|
||||
[self.countDownHelper openCountdownWithTime:(int)time];
|
||||
|
||||
}else{
|
||||
self.robBtn.hidden = NO;
|
||||
}
|
||||
}else{
|
||||
self.robBtn.hidden = NO;
|
||||
}
|
||||
}else if(_redPacketModel.kind == RedPacketConditionsType_Followd){
|
||||
|
||||
|
||||
NSInteger time = [self getTimeDifferenceWithTimestamp:_redPacketModel.timestamp / 1000 beginTime:_redPacketModel.beginTime / 1000];
|
||||
if(time > 0){
|
||||
if(_redPacketModel.finish == 1){
|
||||
self.countDownView.hidden = NO;
|
||||
|
||||
[self.countDownHelper openCountdownWithTime:(int)time];
|
||||
}else{
|
||||
self.robBtn.hidden = NO;
|
||||
}
|
||||
}else{
|
||||
self.robBtn.hidden = NO;
|
||||
|
||||
}
|
||||
|
||||
}else if(_redPacketModel.kind == RedPacketConditionsType_Share){
|
||||
|
||||
|
||||
NSInteger time = [self getTimeDifferenceWithTimestamp:_redPacketModel.timestamp / 1000 beginTime:_redPacketModel.beginTime / 1000];
|
||||
if(time > 0){
|
||||
if(_redPacketModel.finish == 1){
|
||||
self.countDownView.hidden = NO;
|
||||
|
||||
[self.countDownHelper openCountdownWithTime:(int)time];
|
||||
}else{
|
||||
self.robBtn.hidden = NO;
|
||||
}
|
||||
}else{
|
||||
self.robBtn.hidden = NO;
|
||||
|
||||
}
|
||||
}else if(_redPacketModel.kind == RedPacketConditionsType_Share){
|
||||
|
||||
NSInteger time = [self getTimeDifferenceWithTimestamp:_redPacketModel.timestamp / 1000 beginTime:_redPacketModel.beginTime / 1000];
|
||||
if(time > 0){
|
||||
if(_redPacketModel.finish == 1){
|
||||
self.countDownView.hidden = NO;
|
||||
|
||||
[self.countDownHelper openCountdownWithTime:(int)time];
|
||||
}else{
|
||||
self.robBtn.hidden = NO;
|
||||
}
|
||||
}else{
|
||||
self.robBtn.hidden = NO;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
-(NSInteger)getTimeDifferenceWithTimestamp:(long)timestamp beginTime:(long)beginTime {
|
||||
NSString *time1 = [NSDate timestampSwitchTime:(NSInteger)timestamp formatter:@"YYYY-MM-dd hh:mm:ss"];
|
||||
NSString *time2 = [NSDate timestampSwitchTime:(NSInteger)beginTime formatter:@"YYYY-MM-dd hh:mm:ss"];
|
||||
NSInteger second = [NSDate pleaseInsertStarTimeo:time1 andInsertEndTime:time2];
|
||||
return second;
|
||||
}
|
||||
#pragma mark- CountDownHelperDelegate
|
||||
///倒计时结束
|
||||
- (void)onCountdownFinish{
|
||||
|
||||
self.countDownView.hidden = YES;
|
||||
self.robBtn.hidden = NO;
|
||||
self.isCountDownEnd = YES;
|
||||
}
|
||||
///倒计时进行
|
||||
- (void)onCountdownOpen:(int)time{
|
||||
@@ -56,7 +152,7 @@
|
||||
int minutes = (seconds)%3600/60;
|
||||
int second = (seconds)%60;
|
||||
self.countDownView.text = [NSString stringWithFormat:@"%02d:%02d",minutes,second];
|
||||
|
||||
self.isCountDownEnd = NO;
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIImageView *)bgImageView{
|
||||
@@ -94,4 +190,20 @@
|
||||
}
|
||||
return _countDownHelper;
|
||||
}
|
||||
- (UIView *)redPoionView{
|
||||
if(!_redPoionView){
|
||||
_redPoionView = [UIView new];
|
||||
_redPoionView.backgroundColor = UIColorFromRGB(0xF44646);
|
||||
_redPoionView.layer.cornerRadius = kGetScaleWidth(12)/2;
|
||||
_redPoionView.layer.masksToBounds = YES;
|
||||
}
|
||||
return _redPoionView;
|
||||
}
|
||||
- (UILabel *)redPoionNumView{
|
||||
if(!_redPoionNumView){
|
||||
_redPoionNumView = [UILabel labelInitWithText:@"0" font:kFontMedium(9) textColor:[UIColor whiteColor]];
|
||||
_redPoionNumView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _redPoionNumView;
|
||||
}
|
||||
@end
|
||||
|
@@ -171,6 +171,20 @@
|
||||
- (void)chooseRedPacketType:(PIRedPacketChooseTypeViewType)type{
|
||||
self.sendRedType = type;
|
||||
switch (type) {
|
||||
case Red_Packet_Choose_type_Follow:
|
||||
{
|
||||
self.scrollingView.hidden = YES;
|
||||
self.promptlyBtn.hidden = YES;
|
||||
self.limitBtn.hidden = YES;
|
||||
}
|
||||
break;
|
||||
case Red_Packet_Choose_type_Share:
|
||||
{
|
||||
self.scrollingView.hidden = YES;
|
||||
self.promptlyBtn.hidden = YES;
|
||||
self.limitBtn.hidden = YES;
|
||||
}
|
||||
break;
|
||||
case Red_Packet_Choose_type_Scrolling:
|
||||
{
|
||||
self.scrollingView.hidden = NO;
|
||||
@@ -223,10 +237,10 @@
|
||||
[self showErrorToast:YMLocalizedString(@"XPRoomSendRedPacketViewController18")];
|
||||
return;
|
||||
}
|
||||
if (diamonCount % 10 != 0) {
|
||||
[self showErrorToast:YMLocalizedString(@"XPRoomSendRedPacketViewController19")];
|
||||
return;
|
||||
}
|
||||
// if (diamonCount % 10 != 0) {
|
||||
// [self showErrorToast:YMLocalizedString(@"XPRoomSendRedPacketViewController19")];
|
||||
// return;
|
||||
// }
|
||||
self.pi_isHaveUser = YES;
|
||||
if(self.userInfo == nil){
|
||||
[self.presenter getUserModel];
|
||||
@@ -251,11 +265,16 @@
|
||||
NSArray *kindList = @[@"1",@"2",@"3",@"4"];
|
||||
NSString *kind = [kindList safeObjectAtIndex1:self.sendRedType];
|
||||
NSString *message = self.serverInputView.getContent.length ? self.serverInputView.getContent : YMLocalizedString(@"XPRoomSendRedPacketViewController4");
|
||||
NSString *validityType = self.promptlyBtn.selected == YES ? @"0" : @"1";
|
||||
if(self.sendRedType != Red_Packet_Choose_type_Normal){
|
||||
validityType = @"1";
|
||||
}
|
||||
if(self.sendRedType == Red_Packet_Choose_type_Scrolling && self.serverInputView.getContent.length == 0){
|
||||
[self showErrorToast:YMLocalizedString(@"PIRoomSendRedPacketItemVC7")];
|
||||
return;
|
||||
}
|
||||
[self.presenter sendRedPacketWithNum:self.pi_numView.redPacketNum goldNum:self.pi_priceView.redPacketNum roomUid:roomUid type:type password:pwd message:message kind:kind];
|
||||
|
||||
[self.presenter sendRedPacketWithNum:self.pi_numView.redPacketNum goldNum:self.pi_priceView.redPacketNum roomUid:roomUid type:type password:pwd message:message kind:kind validityType:validityType];
|
||||
}
|
||||
|
||||
- (void)xPRoomRedPacketPwdViewPwdForgetBtnClick {
|
||||
|
@@ -25,7 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param pwd 密码
|
||||
/// @param message 消息
|
||||
/// @param kind 红包种类 0 旧版本 1 无门槛红包 2 关注红包 3 分享红包 4 弹幕红包
|
||||
- (void)sendRedPacketWithNum:(NSString *)num goldNum:(NSString *)goldNum roomUid:(NSString *)roomUid type:(NSString *)type password:(NSString *)pwd message:(NSString *)message kind:(NSString *)kind;
|
||||
- (void)sendRedPacketWithNum:(NSString *)num goldNum:(NSString *)goldNum roomUid:(NSString *)roomUid type:(NSString *)type password:(NSString *)pwd message:(NSString *)message kind:(NSString *)kind validityType:(NSString *)validityType;
|
||||
|
||||
@end
|
||||
|
||||
|
@@ -38,11 +38,11 @@
|
||||
} showLoading:NO] uid:uid];
|
||||
}
|
||||
|
||||
- (void)sendRedPacketWithNum:(NSString *)num goldNum:(NSString *)goldNum roomUid:(NSString *)roomUid type:(NSString *)type password:(NSString *)pwd message:(NSString *)message kind:(NSString *)kind{
|
||||
- (void)sendRedPacketWithNum:(NSString *)num goldNum:(NSString *)goldNum roomUid:(NSString *)roomUid type:(NSString *)type password:(NSString *)pwd message:(NSString *)message kind:(NSString *)kind validityType:(NSString *)validityType{
|
||||
NSString *password = [DESEncrypt encryptUseDES:pwd key:KeyWithType(KeyType_PasswordEncode)];
|
||||
[Api sendRedPacket:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[[self getView] sendRedPacketSuccess];
|
||||
}showLoading:YES errorToast:YES] num:num goldNum:goldNum roomUId:roomUid type:type password:password message:message kind:kind];
|
||||
}showLoading:YES errorToast:YES] num:num goldNum:goldNum roomUId:roomUid type:type password:password message:message kind:kind validityType:validityType];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -6,6 +6,12 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "XPRedPacketModel.h"
|
||||
@protocol XPReceiveRedPacketViewDelegate <NSObject>
|
||||
|
||||
-(void)openRedPacketWithType:(RedPacketConditionsType)type uid:(NSString *_Nonnull)uid roomUid:(NSString *_Nonnull)roomUid;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@@ -20,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, strong) XPRedPacketModel *receiveModel;
|
||||
|
||||
@property (nonatomic, strong) UIView *alphaView;
|
||||
//@property (nonatomic, strong) NSDictionary *dict;
|
||||
@property(nonatomic,weak) id<XPReceiveRedPacketViewDelegate>delegate;
|
||||
|
||||
@end
|
||||
|
||||
|
@@ -25,6 +25,7 @@
|
||||
#import "YUMIConstant.h"
|
||||
#import "NSArray+Safe.h"
|
||||
#import "CountDownHelper.h"
|
||||
#import "PIReceiveRedPacketSuccessView.h"
|
||||
|
||||
@interface XPReceiveRedPacketView()<CountDownHelperDelegate>
|
||||
|
||||
@@ -54,7 +55,7 @@
|
||||
@property (nonatomic, strong) UIButton *closeBtn;
|
||||
///倒计时
|
||||
@property (nonatomic,strong) CountDownHelper *countDownHelper;
|
||||
|
||||
@property(nonatomic,assign) BOOL isCountDownEnd;
|
||||
@end
|
||||
|
||||
@implementation XPReceiveRedPacketView
|
||||
@@ -71,6 +72,7 @@
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.isCountDownEnd = YES;
|
||||
[self addSubview:self.alphaView];
|
||||
[self addSubview:self.bgImageView];
|
||||
[self.bgImageView addSubview:self.closeBtn];
|
||||
@@ -79,15 +81,12 @@
|
||||
[self.bgImageView addSubview:self.sendWishView];
|
||||
[self.sendWishView addSubview:self.sendWishLabel];
|
||||
[self.bgImageView addSubview:self.openButton];
|
||||
[self.bgImageView addSubview:self.robIcon];
|
||||
[self.openButton addSubview:self.robIcon];
|
||||
[self.bgImageView addSubview:self.robView];
|
||||
[self.bgImageView addSubview:self.countDownView];
|
||||
[self.bgImageView addSubview:self.countDownTitleView];
|
||||
self.robIcon.hidden = YES;
|
||||
self.countDownView.hidden = YES;
|
||||
self.countDownTitleView.hidden = YES;
|
||||
[self.bgImageView addSubview:self.robView];
|
||||
[self.countDownHelper openCountdownWithTime:60];
|
||||
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
@@ -136,8 +135,8 @@
|
||||
[self.robIcon mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(kGetScaleWidth(34));
|
||||
make.width.mas_equalTo(kGetScaleWidth(38));
|
||||
make.centerX.mas_equalTo(self.bgImageView);
|
||||
make.top.equalTo(self.sendWishView.mas_bottom).mas_offset(kGetScaleWidth(59));
|
||||
make.center.mas_equalTo(self.openButton);
|
||||
|
||||
}];
|
||||
[self.robView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.sendWishView.mas_bottom).mas_offset(kGetScaleWidth(56));
|
||||
@@ -197,12 +196,176 @@
|
||||
- (void)setReceiveModel:(XPRedPacketModel *)receiveModel {
|
||||
_receiveModel = receiveModel;
|
||||
self.sendAvatar.imageUrl = receiveModel.userVO.avatar;
|
||||
self.sendWishLabel.text = receiveModel.message;
|
||||
self.sendNickLabel.text = receiveModel.userVO.nick;
|
||||
}
|
||||
|
||||
self.sendNickLabel.text = [NSString stringWithFormat:@"%@%@",receiveModel.userVO.nick,YMLocalizedString(@"XPReceiveRedPacketView8")] ;
|
||||
self.robView.hidden = YES;
|
||||
self.robIcon.hidden = YES;
|
||||
self.countDownView.hidden = YES;
|
||||
self.countDownTitleView.hidden = YES;
|
||||
|
||||
if(_receiveModel.kind == RedPacketConditionsType_NO){
|
||||
self.sendWishLabel.text = YMLocalizedString(@"XPReceiveRedPacketView9");
|
||||
if(_receiveModel.validityType == 1){
|
||||
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
|
||||
if(time > 0){
|
||||
self.countDownView.hidden = NO;
|
||||
self.countDownTitleView.hidden = NO;
|
||||
[self.countDownHelper openCountdownWithTime:(int)time];
|
||||
|
||||
}else{
|
||||
self.robIcon.hidden = NO;
|
||||
}
|
||||
}else{
|
||||
self.robIcon.hidden = NO;
|
||||
}
|
||||
}else if(_receiveModel.kind == RedPacketConditionsType_Followd){
|
||||
|
||||
if(_receiveModel.finish == 1){
|
||||
self.sendWishLabel.text = YMLocalizedString(@"XPReceiveRedPacketView17");
|
||||
}else{
|
||||
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:YMLocalizedString(@"XPReceiveRedPacketView10") attributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
[textAtt addAttributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:UIColorFromRGB(0xFFF87A)} range:NSMakeRange(0, 4)];
|
||||
self.sendWishLabel.attributedText = textAtt;
|
||||
}
|
||||
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
|
||||
if(time > 0){
|
||||
if(_receiveModel.finish == 1){
|
||||
self.countDownView.hidden = NO;
|
||||
self.countDownTitleView.hidden = NO;
|
||||
[self.countDownHelper openCountdownWithTime:(int)time];
|
||||
}else{
|
||||
self.robView.hidden = NO;
|
||||
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView13");
|
||||
}
|
||||
}else{
|
||||
if(_receiveModel.finish == 1){
|
||||
self.robIcon.hidden = NO;
|
||||
}else{
|
||||
self.robView.hidden = NO;
|
||||
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView16");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}else if(_receiveModel.kind == RedPacketConditionsType_Share){
|
||||
if(_receiveModel.finish == 1){
|
||||
self.sendWishLabel.text = YMLocalizedString(@"XPReceiveRedPacketView17");
|
||||
|
||||
}else{
|
||||
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:YMLocalizedString(@"XPReceiveRedPacketView11") attributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
[textAtt addAttributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:UIColorFromRGB(0xFFF87A)} range:NSMakeRange(0, 6)];
|
||||
self.sendWishLabel.attributedText = textAtt;
|
||||
}
|
||||
|
||||
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
|
||||
if(time > 0){
|
||||
if(_receiveModel.finish == 1){
|
||||
self.countDownView.hidden = NO;
|
||||
self.countDownTitleView.hidden = NO;
|
||||
[self.countDownHelper openCountdownWithTime:(int)time];
|
||||
}else{
|
||||
self.robView.hidden = NO;
|
||||
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView14");
|
||||
}
|
||||
}else{
|
||||
if(_receiveModel.finish == 1){
|
||||
self.robIcon.hidden = NO;
|
||||
}else{
|
||||
self.robView.hidden = NO;
|
||||
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView16");
|
||||
}
|
||||
|
||||
}
|
||||
}else if(_receiveModel.kind == RedPacketConditionsType_Share){
|
||||
if(_receiveModel.finish == 1){
|
||||
self.sendWishLabel.text = YMLocalizedString(@"XPReceiveRedPacketView17");
|
||||
|
||||
}else{
|
||||
NSString *text = [NSString stringWithFormat:YMLocalizedString(@"XPReceiveRedPacketView12"),_receiveModel.message ?: @""];
|
||||
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:text attributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
[textAtt addAttributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:UIColorFromRGB(0xFFF87A)} range:[text rangeOfString:_receiveModel.message ?:@""]];
|
||||
self.sendWishLabel.attributedText = textAtt;
|
||||
}
|
||||
|
||||
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
|
||||
if(time > 0){
|
||||
if(_receiveModel.finish == 1){
|
||||
self.countDownView.hidden = NO;
|
||||
self.countDownTitleView.hidden = NO;
|
||||
[self.countDownHelper openCountdownWithTime:(int)time];
|
||||
}else{
|
||||
self.robView.hidden = NO;
|
||||
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView15");
|
||||
}
|
||||
}else{
|
||||
if(_receiveModel.finish == 1){
|
||||
self.robIcon.hidden = NO;
|
||||
}else{
|
||||
self.robView.hidden = NO;
|
||||
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView16");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
-(NSInteger)getTimeDifferenceWithTimestamp:(long)timestamp beginTime:(long)beginTime {
|
||||
NSString *time1 = [NSDate timestampSwitchTime:(NSInteger)timestamp formatter:@"YYYY-MM-dd hh:mm:ss"];
|
||||
NSString *time2 = [NSDate timestampSwitchTime:(NSInteger)beginTime formatter:@"YYYY-MM-dd hh:mm:ss"];
|
||||
NSInteger second = [NSDate pleaseInsertStarTimeo:time1 andInsertEndTime:time2];
|
||||
return second;
|
||||
}
|
||||
#pragma mark - action
|
||||
- (void)onOpenButtonClick:(UIButton *)sender {
|
||||
|
||||
if(self.receiveModel.kind == RedPacketConditionsType_NO){
|
||||
if(self.receiveModel.validityType == 1 && self.isCountDownEnd == NO){
|
||||
return;
|
||||
}
|
||||
}else if(self.receiveModel.kind == RedPacketConditionsType_Followd){
|
||||
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
|
||||
[self removeFromSuperview];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(openRedPacketWithType:uid:roomUid:)]){
|
||||
[self.delegate openRedPacketWithType:RedPacketConditionsType_Followd uid:self.receiveModel.userId roomUid:self.receiveModel.roomUId];
|
||||
}
|
||||
return;
|
||||
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
|
||||
[self removeFromSuperview];
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPReceiveRedPacketView18")];
|
||||
return;
|
||||
}else if(self.isCountDownEnd == NO && self.receiveModel.finish == 1){
|
||||
return;
|
||||
}
|
||||
|
||||
}else if(self.receiveModel.kind == RedPacketConditionsType_Share){
|
||||
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
|
||||
[self removeFromSuperview];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(openRedPacketWithType:uid:roomUid:)]){
|
||||
[self.delegate openRedPacketWithType:RedPacketConditionsType_Share uid:self.receiveModel.userId roomUid:self.receiveModel.roomUId];
|
||||
}
|
||||
return;
|
||||
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
|
||||
[self removeFromSuperview];
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPReceiveRedPacketView18")];
|
||||
return;
|
||||
}else if(self.isCountDownEnd == NO && self.receiveModel.finish == 1){
|
||||
return;
|
||||
}
|
||||
}else if(self.receiveModel.kind == RedPacketConditionsType_Share){
|
||||
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
|
||||
[self removeFromSuperview];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(openRedPacketWithType:uid:roomUid:)]){
|
||||
[self.delegate openRedPacketWithType:RedPacketConditionsType_Scrolling uid:self.receiveModel.userId roomUid:self.receiveModel.roomUId];
|
||||
}
|
||||
return;
|
||||
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
|
||||
[self removeFromSuperview];
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPReceiveRedPacketView18")];
|
||||
return;
|
||||
}else if(self.isCountDownEnd == NO && self.receiveModel.finish == 1){
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!self.redPacketModel) {
|
||||
[self openRoomRedPacket:sender redEnvelopeId:self.receiveModel.redEnvelopeId];
|
||||
} else {
|
||||
@@ -276,111 +439,31 @@
|
||||
|
||||
///显示红包结果
|
||||
- (void)showRedPacketResultViewWithResultData:(XPRedPacketResultModel *)resultData {
|
||||
self.openButton.hidden = YES;
|
||||
// [self addSubview:self.getLabel];
|
||||
// [self addSubview:self.openSituationLabel];
|
||||
// [self addSubview:self.tableView];
|
||||
// if (resultData.redEnvelopeState == RedPacketState_Success) {//抢到红包
|
||||
// [self addSubview:self.diamondContentView];
|
||||
// [self.diamondContentView addSubview:self.diamondImage];
|
||||
// [self.diamondContentView addSubview:self.diamondLabel];
|
||||
// [self.diamondContentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.mas_equalTo(self.bgImageView).mas_offset(30);
|
||||
// make.centerX.mas_equalTo(self);
|
||||
// make.height.mas_equalTo(27);
|
||||
// }];
|
||||
// [self.diamondImage mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.left.mas_equalTo(self.diamondContentView);
|
||||
// make.centerY.mas_equalTo(self.diamondContentView);
|
||||
// make.width.height.mas_equalTo(24);
|
||||
// }];
|
||||
// [self.diamondLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.left.mas_equalTo(self.diamondImage.mas_right).mas_offset(6);
|
||||
// make.centerY.mas_equalTo(self.diamondContentView);
|
||||
// make.right.top.mas_equalTo(self.diamondContentView);
|
||||
// }];
|
||||
// [self.getLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.centerX.mas_equalTo(self);
|
||||
// make.top.mas_equalTo(self.diamondContentView.mas_bottom).mas_offset(10);
|
||||
// make.height.mas_equalTo(12);
|
||||
// }];
|
||||
// self.diamondLabel.text = resultData.currentUserAmount;
|
||||
// self.getLabel.text = YMLocalizedString(@"XPReceiveRedPacketView1");
|
||||
// } else if (resultData.redEnvelopeState == RedPacketState_Remain_Zero) {//抢光了
|
||||
// self.getLabel.text = YMLocalizedString(@"XPReceiveRedPacketView2");
|
||||
// [self.getLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.centerX.mas_equalTo(self);
|
||||
// make.top.mas_equalTo(self.bgImageView).mas_offset(59);
|
||||
// make.height.mas_equalTo(12);
|
||||
// }];
|
||||
// }
|
||||
//
|
||||
// [self.sendAvatar mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.left.mas_equalTo(self.bgImageView).mas_offset(65);
|
||||
// make.top.mas_equalTo(self.bgImageView).mas_offset(128);
|
||||
// make.width.height.mas_equalTo(30);
|
||||
// }];
|
||||
// self.sendAvatar.layer.borderWidth = 1;
|
||||
// self.sendAvatar.layer.cornerRadius = 15;
|
||||
//
|
||||
// [self.sendNickLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.centerY.mas_equalTo(self.sendAvatar);
|
||||
// make.height.mas_equalTo(18);
|
||||
// make.left.mas_equalTo(self.sendAvatar.mas_right).mas_offset(7);
|
||||
// }];
|
||||
// [self.sendWishLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.centerX.mas_equalTo(self.bgImageView);
|
||||
// make.left.mas_equalTo(self.bgImageView).mas_offset(30);
|
||||
// make.top.mas_equalTo(self.sendNickLabel.mas_bottom).mas_offset(15);
|
||||
// }];
|
||||
// [self.openSituationLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.mas_equalTo(self.sendWishLabel.mas_bottom).mas_offset(19);
|
||||
// make.height.mas_equalTo(10);
|
||||
// make.right.mas_equalTo(self.bgImageView).mas_offset(-38);
|
||||
// }];
|
||||
// [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.mas_equalTo(self.openSituationLabel.mas_bottom).mas_offset(5);
|
||||
// make.left.right.mas_equalTo(self.bgImageView).inset(20);
|
||||
// make.height.mas_equalTo(205);
|
||||
// }];
|
||||
// self.bgImageView.image = [UIImage imageNamed:@"redPacket_result_bg"];
|
||||
// self.sendAvatar.imageUrl = resultData.redEnvelopeVO.userVO.avatar;
|
||||
// NSString *nick = resultData.redEnvelopeVO.userVO.nick;
|
||||
// if (resultData.redEnvelopeVO.userVO.nick.length > 6) {
|
||||
// nick = [NSString stringWithFormat:@"%@...", [resultData.redEnvelopeVO.userVO.nick substringToIndex:6]];
|
||||
// }
|
||||
// NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] init];
|
||||
// NSMutableAttributedString *nickAttr = [[NSMutableAttributedString alloc] initWithString:nick attributes:@{NSForegroundColorAttributeName : UIColorFromRGB(0xFDCD00)}];
|
||||
// NSMutableAttributedString *redPacketStr = [[NSMutableAttributedString alloc] initWithString:YMLocalizedString(@"XPReceiveRedPacketView3") attributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
|
||||
// [attribute appendAttributedString:nickAttr];
|
||||
// [attribute appendAttributedString:redPacketStr];
|
||||
// self.sendNickLabel.attributedText = attribute;
|
||||
// self.sendWishLabel.text = resultData.redEnvelopeVO.message;
|
||||
// self.openSituationLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPReceiveRedPacketView4"), resultData.redEnvelopeVO.pickNum, resultData.redEnvelopeVO.totalNum];
|
||||
// [self.tableView reloadData];
|
||||
self.bgImageView.hidden = YES;
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:@"kOpenRedPacketResult" object:nil];
|
||||
PIReceiveRedPacketSuccessView *successView = [[PIReceiveRedPacketSuccessView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
successView.resultModel = resultData;
|
||||
[self addSubview:successView];
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - tableviewDatasource
|
||||
//- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
// return self.resultData.redEnvelopeItemVOs.count;
|
||||
//}
|
||||
//
|
||||
//- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
// XPOpenRedPacketCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPOpenRedPacketCell class]) forIndexPath:indexPath];
|
||||
// cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
// XPRedPacketPersonReceiveModel *model = [self.resultData.redEnvelopeItemVOs safeObjectAtIndex1:indexPath.row];
|
||||
// cell.model = model;
|
||||
// cell.backgroundColor = [UIColor clearColor];
|
||||
// return cell;
|
||||
//}
|
||||
//
|
||||
//- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
// return 50;
|
||||
//}
|
||||
|
||||
#pragma mark- CountDownHelperDelegate
|
||||
///倒计时结束
|
||||
- (void)onCountdownFinish{
|
||||
|
||||
self.isCountDownEnd = YES;
|
||||
self.countDownView.hidden = YES;
|
||||
self.countDownTitleView.hidden = YES;
|
||||
if(self.receiveModel.kind == RedPacketConditionsType_NO){
|
||||
self.robIcon.hidden = NO;
|
||||
}else {
|
||||
if(_receiveModel.finish == 1){
|
||||
self.robIcon.hidden = NO;
|
||||
}else{
|
||||
self.robView.hidden = NO;
|
||||
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView16");
|
||||
}
|
||||
}
|
||||
}
|
||||
///倒计时进行
|
||||
- (void)onCountdownOpen:(int)time{
|
||||
@@ -388,7 +471,7 @@
|
||||
int minutes = (seconds)%3600/60;
|
||||
int second = (seconds)%60;
|
||||
self.countDownView.text = [NSString stringWithFormat:@"%02d:%02d",minutes,second];
|
||||
|
||||
self.isCountDownEnd = NO;
|
||||
}
|
||||
#pragma mark - action
|
||||
- (void)onCloseButtonClick:(UIButton *)sender {
|
||||
@@ -450,6 +533,7 @@
|
||||
UILabel *label = [[UILabel alloc] init];
|
||||
label.textAlignment = NSTextAlignmentCenter;
|
||||
_sendWishLabel = label;
|
||||
_sendWishLabel.textColor = [UIColor whiteColor];
|
||||
_sendWishLabel.font = kFontRegular(11);
|
||||
|
||||
}
|
||||
|
@@ -357,7 +357,7 @@
|
||||
NSString *roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
NSNumber *type = self.roomButton.isSelected ? @(1) : @(2);
|
||||
NSString *message = self.wishTextView.text.length ? self.wishTextView.text :YMLocalizedString(@"XPRoomSendRedPacketViewController4");
|
||||
[self.presenter sendRedPacketWithNum:self.packetTextField.text goldNum:self.diamondTextField.text roomUid:roomUid type:type password:pwd message:message kind:@""];
|
||||
[self.presenter sendRedPacketWithNum:self.packetTextField.text goldNum:self.diamondTextField.text roomUid:roomUid type:type password:pwd message:message kind:@"" validityType:@""];
|
||||
}
|
||||
|
||||
- (void)xPRoomRedPacketPwdViewPwdForgetBtnClick {
|
||||
|
@@ -322,6 +322,21 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
self.littleGameView.hidden = NO;
|
||||
self.activityContainerView.hidden = NO;
|
||||
}
|
||||
@kWeakify(self);
|
||||
self.activityContainerView.openRedPacketHandle = ^(XPRedPacketModel * _Nullable redModel) {
|
||||
@kStrongify(self);
|
||||
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
view.receiveModel = redModel;
|
||||
for (UIView *subView in self.view.subviews) {
|
||||
if([subView isKindOfClass:[XPReceiveRedPacketView class]]) {
|
||||
view.alphaView.backgroundColor = [UIColor clearColor];
|
||||
break;
|
||||
}
|
||||
}
|
||||
[self.view addSubview:view];
|
||||
[self.view bringSubviewToFront:view];
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
@@ -1203,6 +1218,10 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
[self.view addSubview:view];
|
||||
[self.view bringSubviewToFront:view];
|
||||
}
|
||||
if(list.count > 0){
|
||||
self.activityContainerView.redPacketModel = list.lastObject;
|
||||
self.activityContainerView.pi_redNum = @(list.count).stringValue;
|
||||
}
|
||||
}
|
||||
-(void)getFreeGiftDataSuccess:(XPFreeGiftModel *)freeModel{
|
||||
self.freeModel = freeModel;
|
||||
@@ -2003,6 +2022,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
- (XPRoomActivityContainerView *)activityContainerView {
|
||||
if (!_activityContainerView) {
|
||||
_activityContainerView = [[XPRoomActivityContainerView alloc] initWithdelegate:self];
|
||||
|
||||
}
|
||||
return _activityContainerView;
|
||||
}
|
||||
|
@@ -597,37 +597,8 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
|
||||
if (broadcastMessage.content) {
|
||||
NSDictionary *msgDictionary = [broadcastMessage.content toJSONObject];
|
||||
AttachmentModel *attachment = [AttachmentModel modelWithJSON:msgDictionary[@"body"]];
|
||||
if (attachment.first == CustomMessageType_RedPacket && attachment.second == Custom_Message_Sub_AllDiamandRedPacket) {
|
||||
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithDictionary:attachment.data];
|
||||
//判断是否在房间
|
||||
__block BOOL isInRoom;
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||||
if ([obj isKindOfClass:[XPRoomViewController class]]) {
|
||||
XPRoomViewController<RoomHostDelegate> * roomVC = obj;
|
||||
RoomInfoModel *roomInfo = [roomVC getRoomInfo];
|
||||
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
if (roomInfo.uid == data.roomUid.integerValue) {
|
||||
view.inAllPacketRoom = YES;
|
||||
} else {
|
||||
view.inAllPacketRoom = NO;
|
||||
}
|
||||
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithJSON:attachment.data];
|
||||
view.redPacketModel = data;
|
||||
[roomVC.view addSubview:view];
|
||||
[roomVC.view bringSubviewToFront:view];
|
||||
*stop = YES;
|
||||
isInRoom = YES;
|
||||
}
|
||||
}];
|
||||
if (!isInRoom) {
|
||||
UIViewController *currentVc = [[XCCurrentVCStackManager shareManager] getCurrentVC];
|
||||
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
view.inAllPacketRoom = NO;
|
||||
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithJSON:attachment.data];
|
||||
view.redPacketModel = data;
|
||||
[currentVc.view addSubview:view];
|
||||
[currentVc.view bringSubviewToFront:view];
|
||||
}
|
||||
if (attachment.first == CustomMessageType_RedPacket) {
|
||||
[self receiveRedPacketDealWithData:attachment];
|
||||
} else if (attachment.first == CustomMessageType_Gift && attachment.second == Custom_Message_Sub_Gift_ChannelNotify){///广播 年度飘屏
|
||||
[self receiveBroadcastGift:attachment];
|
||||
}else if(attachment.first == CustomMessageType_Version_Update && attachment.second == Custom_Message_Version_Update_Value){
|
||||
@@ -664,7 +635,44 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
///收到红包,处理数据
|
||||
-(void)receiveRedPacketDealWithData:(AttachmentModel *)attachment{
|
||||
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithDictionary:attachment.data];
|
||||
if(attachment.second == Custom_Message_Sub_AllDiamandRedPacket ){
|
||||
data.validityType = 0;
|
||||
data.kind = 1;
|
||||
}
|
||||
|
||||
//判断是否在房间
|
||||
__block BOOL isInRoom;
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||||
if ([obj isKindOfClass:[XPRoomViewController class]]) {
|
||||
XPRoomViewController<RoomHostDelegate> * roomVC = obj;
|
||||
RoomInfoModel *roomInfo = [roomVC getRoomInfo];
|
||||
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
if (roomInfo.uid == data.roomUid.integerValue) {
|
||||
view.inAllPacketRoom = YES;
|
||||
} else {
|
||||
view.inAllPacketRoom = NO;
|
||||
}
|
||||
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithJSON:attachment.data];
|
||||
view.redPacketModel = data;
|
||||
[roomVC.view addSubview:view];
|
||||
[roomVC.view bringSubviewToFront:view];
|
||||
*stop = YES;
|
||||
isInRoom = YES;
|
||||
}
|
||||
}];
|
||||
if (!isInRoom) {
|
||||
UIViewController *currentVc = [[XCCurrentVCStackManager shareManager] getCurrentVC];
|
||||
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
view.inAllPacketRoom = NO;
|
||||
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithJSON:attachment.data];
|
||||
view.redPacketModel = data;
|
||||
[currentVc.view addSubview:view];
|
||||
[currentVc.view bringSubviewToFront:view];
|
||||
}
|
||||
}
|
||||
///判断是否在房间
|
||||
-(BOOL)isInRoomWithData{
|
||||
//判断是否在房间
|
||||
|
@@ -10,7 +10,7 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface BaseModel : NSObject
|
||||
|
||||
@property(nonatomic,assign) long timestamp;
|
||||
@property (nonatomic , strong) id data;
|
||||
@property (nonatomic , assign) NSInteger code;
|
||||
@property (nonatomic , copy) NSString *message;
|
||||
|
@@ -23,6 +23,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
+(NSString *)getNowTimeTimestamp;
|
||||
|
||||
+(NSString *)timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format;
|
||||
#pragma mark - 将某个时间戳转化成 时间
|
||||
+ (NSString *)timestampSwitchTime:(NSInteger)timestamp formatter:(NSString *)format;
|
||||
+ (NSInteger)pleaseInsertStarTimeo:(NSString *)time1 andInsertEndTime:(NSString *)time2;
|
||||
@end
|
||||
|
||||
@interface NSCalendar (Pick)
|
||||
|
@@ -133,6 +133,37 @@ NSString * const kDateFormatYYMMDDTHHmmss = @"yyyy-MM-dd'T'HH:mm:ss";
|
||||
NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
|
||||
return confromTimespStr;
|
||||
}
|
||||
#pragma mark - 将某个时间戳转化成 时间
|
||||
+ (NSString *)timestampSwitchTime:(NSInteger)timestamp formatter:(NSString *)format{
|
||||
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
|
||||
[formatter setDateStyle:NSDateFormatterMediumStyle];
|
||||
[formatter setTimeStyle:NSDateFormatterShortStyle];
|
||||
[formatter setDateFormat:format]; // (@"YYYY-MM-dd hh:mm:ss")----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
|
||||
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
|
||||
[formatter setTimeZone:timeZone];
|
||||
NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:timestamp];
|
||||
/// 在当前时间,后退30分钟 = 1800
|
||||
// confromTimesp = [confromTimesp dateByAddingTimeInterval:-1800];
|
||||
NSLog(@"1296035591 = %@",confromTimesp);
|
||||
NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
|
||||
return confromTimespStr;
|
||||
}
|
||||
+ (NSInteger)pleaseInsertStarTimeo:(NSString *)time1 andInsertEndTime:(NSString *)time2{
|
||||
// 1.将时间转换为date
|
||||
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
|
||||
formatter.dateFormat = @"YYYY-MM-dd hh:mm:ss";
|
||||
NSDate *date1 = [formatter dateFromString:time1];
|
||||
NSDate *date2 = [formatter dateFromString:time2];
|
||||
// 2.创建日历
|
||||
NSCalendar *calendar = [NSCalendar currentCalendar];
|
||||
// NSCalendarUnit type = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
|
||||
NSCalendarUnit type = NSCalendarUnitSecond;
|
||||
// 3.利用日历对象比较两个时间的差值
|
||||
NSDateComponents *cmps = [calendar components:type fromDate:date1 toDate:date2 options:0];
|
||||
// 4.输出结果
|
||||
NSLog(@"两个时间相差%ld年%ld月%ld日%ld小时%ld分钟%ld秒", cmps.year, cmps.month, cmps.day, cmps.hour, cmps.minute, cmps.second);
|
||||
return cmps.second;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
@@ -40,6 +40,7 @@
|
||||
"XPRoomActivityContainerView0" = "首充有礼";
|
||||
"XPRoomActivityContainerView1" = "信物";
|
||||
"XPRoomActivityContainerView2" = "PK已开始暂时无法排麦";
|
||||
"XPRoomActivityContainerView3" = "该红包已失效";
|
||||
///XPWebViewNavView
|
||||
"XPWebViewNavView0"="充值";
|
||||
"XPWebViewNavView1" = "複制链接";
|
||||
@@ -1666,6 +1667,20 @@
|
||||
"XPReceiveRedPacketView5" = "抢完了,下次早点来哦";
|
||||
"XPReceiveRedPacketView6" = "后开抢";
|
||||
"XPReceiveRedPacketView7" = "发弹幕\n抢红包";
|
||||
"XPReceiveRedPacketView8" = "的红包";
|
||||
"XPReceiveRedPacketView9" = "快来抢红包,手慢无哦!";
|
||||
"XPReceiveRedPacketView10" = "关注主播可抢红包!";
|
||||
"XPReceiveRedPacketView11" = "对外分享房间可抢红包!";
|
||||
"XPReceiveRedPacketView12" = "发送弹幕%@可抢红包!";
|
||||
"XPReceiveRedPacketView13" = "关注主播\n抢红包";
|
||||
"XPReceiveRedPacketView14" = "分享房间\n抢红包";
|
||||
"XPReceiveRedPacketView15" = "发弹幕\n抢红包";
|
||||
"XPReceiveRedPacketView16" = "未参与\n活动";
|
||||
"XPReceiveRedPacketView17" = "已完成条件,可抢红包";
|
||||
"XPReceiveRedPacketView18" = "未参与活动,无法抢该红包";
|
||||
|
||||
|
||||
|
||||
|
||||
"XPRoomViewController0" = "抱歉,您暂时无法进入该房间";
|
||||
"XPRoomViewController1" = "%@的房间";
|
||||
|
@@ -40,6 +40,7 @@
|
||||
"XPRoomActivityContainerView0" = "首充有禮";
|
||||
"XPRoomActivityContainerView1" = "信物";
|
||||
"XPRoomActivityContainerView2" = "PK已開始暫時無法排麥";
|
||||
"XPRoomActivityContainerView3" = "該紅包已失效";
|
||||
///XPWebViewNavView
|
||||
"XPWebViewNavView0"="充值";
|
||||
"XPWebViewNavView1" = "複製鏈接";
|
||||
@@ -1667,6 +1668,17 @@
|
||||
"XPReceiveRedPacketView5" = "搶完了,下次早點來哦";
|
||||
"XPReceiveRedPacketView6" = "後開搶";
|
||||
"XPReceiveRedPacketView7" = "發彈幕\n搶紅包";
|
||||
"XPReceiveRedPacketView8" = "的紅包";
|
||||
"XPReceiveRedPacketView9" = "快來搶紅包,手慢無哦!";
|
||||
"XPReceiveRedPacketView10" = "關註主播可搶紅包!";
|
||||
"XPReceiveRedPacketView11" = "對外分享房間可搶紅包!";
|
||||
"XPReceiveRedPacketView12" = "發送彈幕%@可搶紅包!";
|
||||
"XPReceiveRedPacketView13" = "關註主播\n搶紅包";
|
||||
"XPReceiveRedPacketView14" = "分享房間\n搶紅包";
|
||||
"XPReceiveRedPacketView15" = "發彈幕\n搶紅包";
|
||||
"XPReceiveRedPacketView16" = "未參與\n活動";
|
||||
"XPReceiveRedPacketView17" = "已完成條件,可搶紅包";
|
||||
"XPReceiveRedPacketView18" = "未參與活動,無法搶該紅包";
|
||||
|
||||
"XPRoomViewController0" = "抱歉,您暫時無法進入該房間";
|
||||
"XPRoomViewController1" = "%@的房間";
|
||||
|
Reference in New Issue
Block a user