123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487 |
- //
- // JXBigReelVc.m
- // shiku_im
- //
- // Created by 123 on 2020/5/25.
- // Copyright © 2020 Reese. All rights reserved.
- //
- #import "JXBigReelVc.h"
- #import "LuckyDrawView.h"
- #import "UIView+LK.h"
- #import "UIViewExt.h"
- #import "UIView+Frame.h"
- #import "UUMarqueeView.h"
- #import "packageRoolModel.h"
- #import "JXWheelView.h"
- #import "LNNumberScrollAnimatedView.h"
- #import <AVFoundation/AVFoundation.h>
- #import "JXRelayVC.h"
- #import "JXBigReelView.h"
- #import "JXALLShowView.h"
-
- @interface JXBigReelVc ()<UUMarqueeViewDelegate,LuckyDrawViewDelegate,AVAudioPlayerDelegate>
- @property (nonatomic,strong) NSMutableArray *dataArr;
- @property (nonatomic,strong) UUMarqueeView * upwardMultiMarqueeView;
- @property (nonatomic,weak) UILabel *cjNums;
- @property (nonatomic,strong) UIImageView *bgImageView;
- @property (nonatomic,strong) NSMutableArray *jpDataArr;
- @property (nonatomic,weak) LNNumberScrollAnimatedView *socreTensDigitAnimation;
-
- @property (nonatomic ,strong) LNNumberScrollAnimatedView *socreDigitAnimation;
- @property (nonatomic ,strong) LNNumberScrollAnimatedView *socreAnimation;
- @property (nonatomic, strong) NSMutableArray *playerArr;
- @property (nonatomic, strong) AVAudioPlayer *numberPlayer;
- @property (nonatomic,strong) UIButton *righTopIMG;
- @property (nonatomic,strong) UIButton *righBtpIMG;
- @property (nonatomic,strong) UIButton *topBombImageView1;
- @property (nonatomic,strong) UIButton *topBombImageView2;
- @end
- @implementation JXBigReelVc
- -(void)viewWillAppear:(BOOL)animated
- {
-
- if (_upwardMultiMarqueeView) {
-
- [_upwardMultiMarqueeView start];
-
- }
- [self loadData];
-
- [g_notify addObserver:self selector:@selector(tongyong) name:@"tongyong" object:nil];
- }
- - (void)gobackBt{
-
- [g_navigation dismissViewController:self animated:YES];
- }
-
-
- - (void)viewDidLoad {
- [super viewDidLoad];
- _dataArr=[NSMutableArray array];
- _jpDataArr=[NSMutableArray array];
- [self defineNavBarXXX:@"幸运老虎机" andRinghtBtnImg:@"zhuanpan"];
-
- _dictMoney=[NSDictionary dictionary];
- UIScrollView *imageScrollView =[[UIScrollView alloc]init];
- imageScrollView.userInteractionEnabled=YES;
- imageScrollView.backgroundColor=kRGBColor(134, 29, 19);
- [self.view addSubview:imageScrollView];
- [imageScrollView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(JX_SCREEN_TOP);
- make.left.mas_equalTo(0);
- make.right.mas_equalTo(0);
- make.bottom.mas_equalTo(0);
- }];
-
- UIImageView *imageBackV=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"背景+装饰2"]];
- imageBackV.userInteractionEnabled=YES;
- imageBackV.contentMode=UIViewContentModeScaleAspectFill;
- [imageScrollView addSubview:imageBackV];
- CGFloat imageYW = CGImageGetWidth(imageBackV.image.CGImage);
- // iamgeView的H = imageView的宽 / (原始图片的宽 / 原始图片的高)---根据宽高比得出imageView的宽
- CGFloat imageH = JX_SCREEN_WIDTH / (imageYW / CGImageGetHeight(imageBackV.image.CGImage));
- imageBackV.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, imageH);
-
-
-
-
- UIImageView *luckWheelView = [[UIImageView alloc]initWithFrame:CGRectMake(0, JX_SCREEN_TOP-44,JX_SCREEN_WIDTH-0, JX_SCREEN_WIDTH-0)];
- luckWheelView.userInteractionEnabled=YES;
- luckWheelView.image=[UIImage imageNamed:@"mm_Lh"];
- [imageBackV addSubview:luckWheelView];
- //个位十位单独设置,可分别设定各自速度 //WithFrame:CGRectMake(100, 100, 152 , 172)
- LNNumberScrollAnimatedView *socreTensDigitAnimation = [[LNNumberScrollAnimatedView alloc] initWithFrame:CGRectMake((JX_SCREEN_WIDTH)/2-152/4, (JX_SCREEN_WIDTH)/2-172/4 , 152/2 , 172/2)];
- [luckWheelView addSubview:socreTensDigitAnimation];
- socreTensDigitAnimation.userInteractionEnabled=YES;
- socreTensDigitAnimation.density = 7;
- socreTensDigitAnimation.duration = 1.9;
- socreTensDigitAnimation.minLength = 1;
- [socreTensDigitAnimation setValue:@9];
- [socreTensDigitAnimation sizeToFit];
- socreTensDigitAnimation.isAscending = YES;
- socreTensDigitAnimation.durationOffset = 0.1;
- self.socreTensDigitAnimation = socreTensDigitAnimation;
-
- _righTopIMG=[[UIButton alloc]init];
- [_righTopIMG setImage:[UIImage imageNamed:@"拉杆"] forState:UIControlStateNormal];
- [imageBackV addSubview:_righTopIMG];
- [_righTopIMG mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.mas_equalTo(socreTensDigitAnimation.mas_centerY).mas_equalTo(-30);
- make.left.mas_equalTo(JX_SCREEN_WIDTH/2+113);
- make.width.mas_equalTo(60);
- }];
- [_righTopIMG addTarget:self action:@selector(rightBTClick:) forControlEvents:UIControlEventTouchUpInside];
-
-
- _righBtpIMG=[[UIButton alloc]init];
- [_righBtpIMG setImage:[UIImage imageNamed:@"拉杆下"] forState:UIControlStateNormal];
- [imageBackV addSubview:_righBtpIMG];
- _righBtpIMG.hidden=YES;
- [_righBtpIMG mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.mas_equalTo(socreTensDigitAnimation.mas_centerY).mas_equalTo(40);
- //make.right.mas_equalTo(-20);
- make.left.mas_equalTo(JX_SCREEN_WIDTH/2+113);
- make.width.mas_equalTo(60);
- }];
-
- _topBombImageView1=[[UIButton alloc]init];
- [_topBombImageView1 setImage:[UIImage imageNamed:@"shou"] forState:UIControlStateNormal];
- [imageBackV addSubview:_topBombImageView1];
- [_topBombImageView1 mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(20);
- make.right.mas_equalTo(-20);
- }];
- //CGAffineTransform transForm=_topBombImageView1.transform;
- [self ImageSpring];
-
-
-
- //抽奖次数
- UILabel *cjNums =[[UILabel alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(luckWheelView.frame)+40, JX_SCREEN_WIDTH, 12)];
- cjNums.text=[NSString stringWithFormat:@"今日剩余抽奖次数:%@",@"0次"];
- cjNums.textColor=[UIColor whiteColor];
- cjNums.textAlignment=NSTextAlignmentCenter;
- cjNums.font=[UIFont systemFontOfSize:20 weight:UIFontWeightMedium];
- [imageBackV addSubview:cjNums];
- self.cjNums=cjNums;
-
-
- //抽奖次数
- UIImageView *centerZJIMG=[[UIImageView alloc]init];
- centerZJIMG.image=[UIImage imageNamed:@"中奖装饰"];
- [imageBackV addSubview:centerZJIMG];
- [centerZJIMG mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(CGRectGetMaxY(cjNums.frame)+70);
- make.centerX.mas_equalTo(imageBackV.mas_centerX);
- }];
- UILabel *zjOrderL =[[UILabel alloc]init];
- zjOrderL.text=[NSString stringWithFormat:@"中奖名单"];
- zjOrderL.textAlignment=NSTextAlignmentCenter;
- zjOrderL.font=[UIFont systemFontOfSize:13 weight:UIFontWeightMedium];
- zjOrderL.textColor=[UIColor whiteColor];
- [imageBackV addSubview:zjOrderL];
- [zjOrderL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.mas_equalTo(centerZJIMG.mas_centerY);
- make.centerX.mas_equalTo(imageBackV.mas_centerX);
- }];
-
-
- // 滚动字幕
- UIImageView *zhongjiangKIMG=[[UIImageView alloc]initWithFrame:CGRectMake(20, CGRectGetMaxY(cjNums.frame)+100, JX_SCREEN_WIDTH-40, 200)];
- zhongjiangKIMG.contentMode=UIViewContentModeScaleToFill;
- zhongjiangKIMG.image=[UIImage imageNamed:@"wheelYellow"];
- [imageBackV addSubview:zhongjiangKIMG];
-
- _upwardMultiMarqueeView = [[UUMarqueeView alloc]initWithFrame:CGRectMake(0, 15, JX_SCREEN_WIDTH-50, 200-30)];
- //_upwardMultiMarqueeView.backgroundColor=[UIColor colorWithWhite:0.0 alpha:0.2];
- _upwardMultiMarqueeView.delegate = self;
- _upwardMultiMarqueeView.timeIntervalPerScroll = 1.0f;
- _upwardMultiMarqueeView.timeDurationPerScroll = 0.5f;
- _upwardMultiMarqueeView.touchEnabled = YES;
- //_upwardMultiMarqueeView.useDynamicHeight=YES;
- //_upwardMultiMarqueeView.itemSpacing=3;
- _upwardMultiMarqueeView.layer.cornerRadius=5;
- _upwardMultiMarqueeView.layer.masksToBounds=YES;
- _upwardMultiMarqueeView.userInteractionEnabled=NO;
- [zhongjiangKIMG addSubview:_upwardMultiMarqueeView];
- [_upwardMultiMarqueeView reloadData];
- //_upwardMultiMarqueeView.frame=zhongjiangKIMG.bounds;
-
- imageScrollView.contentSize=CGSizeMake(0, CGRectGetMaxY(zhongjiangKIMG.frame)+50);
-
- [g_notify addObserver:self selector:@selector(comeBack) name:@"comeBackxxx" object:nil];
-
- }
-
- // 分享以后返回来的弹框
- - (void)tongyong{
-
- JXALLShowView *show=[[JXALLShowView alloc]init];
- show.backgroundColor=[UIColor colorWithWhite:0.0 alpha:0.2];
- show.frame=[UIScreen mainScreen].bounds;
- show.nameStr=@" 恭喜您,您已经成功领取奖金,请前往账户中心查看余额,如果长时间未到账请联系在线客服! ";
- [[UIApplication sharedApplication].keyWindow addSubview:show];
- }
- - (void)comeBack{
-
-
- JXMessageObject *msg=[[JXMessageObject alloc] init];
- msg.type = [NSNumber numberWithInt:kWCMessageTypeText];
- // msg.toUserId =@"9100";
- msg.shareType=@"9100";
- msg.fromUserId =MY_USER_ID;
- msg.fromUserName = g_server.myself.userNickname;
- msg.content = [NSString stringWithFormat:@"\n\n恭喜您 获得了%@等奖 %@元,礼金将自动派发到您的会员账户里,如长时间未收到请及时联系客服进行咨询===jixin%@", _dictMoney[@"rewardCode"],_dictMoney[@"money"],@"JXBigRellVc"];
- msg.timeSend = [NSDate date];
-
- JXRelayVC * relay = [[JXRelayVC alloc] init];
- NSMutableArray *array = [NSMutableArray arrayWithObject:msg];
- relay.relayMsgArray = array;
- relay.isUrl = NO;
- relay.yunMoney=@"40";
- relay.shareType=@"9100";
- relay.pushType = @"messageContent";
- [g_navigation pushViewController:relay animated:YES];
-
-
- }
- - (void)ImageSpring {
-
-
- [UIView animateWithDuration:0.5 animations:^{
-
- _topBombImageView1.transform=CGAffineTransformMake(1, 0, 0, 1, 0, 62);
- }];
-
- [UIView animateWithDuration:0.8 delay:1.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
-
- _topBombImageView1.transform=CGAffineTransformMake(1, 0, 0, 1, 0, 0);
-
-
- } completion:^(BOOL finished) {
- [self ImageSpring];
- }];
- }
- - (void)rightBTClick:(UIButton *)sender{
-
-
- if (_numberStr<=0) {
-
- UIAlertView *alertShow=[[UIAlertView alloc]initWithTitle:nil message:[NSString stringWithFormat:@"%@",@"抽奖次数已用完!"] delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];
- [alertShow show];
-
- return;
- }
- sender.hidden=YES;
- _righBtpIMG.hidden=NO;
-
- for (int i = 0; i<19; i++) {
- [self performSelector:@selector(playSound) withObject:nil afterDelay:0.1];
- }
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- sender.hidden=NO;
- _righBtpIMG.hidden=YES;
- });
-
- long time = (long)[[NSDate date] timeIntervalSince1970];
- time = (time *1000 + g_server.timeDifference);
- NSString *salt = [NSString stringWithFormat:@"%ld", time];
- [g_server getUseract_turntableDo:salt andToView:self];
- [g_server getUserturntableSurplusCountl:salt andToView:self];
-
- }
- #pragma mark - 播放音效
- - (void)playSound
- {
- NSURL *url = [[NSBundle mainBundle] URLForResource:@"number.wav" withExtension:nil];
- SystemSoundID soundID = 0;
- AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url)
- , &soundID);
- AudioServicesPlayAlertSound (soundID);
- }
-
- /**记载数据*/
- -(void)loadData{
-
- [SVProgressHUD show];
- long time = (long)[[NSDate date] timeIntervalSince1970];
- time = (time *1000 + g_server.timeDifference);
- NSString *salt = [NSString stringWithFormat:@"%ld", time];
-
- //获取转盘抽奖用户剩余抽奖次
- [g_server getUserturntableSurplusCountl:salt andToView:self];
-
- //[g_server getUseract_act_getTurntable:salt andToView:self];
-
-
- //获取 转盘最近10条抽奖记录
- [g_server getUseact_firstNearTurntableHistory:salt andToView:self];
-
-
-
- }
-
- /**
- * 滚动字幕代理
- */
- - (NSUInteger)numberOfVisibleItemsForMarqueeView:(UUMarqueeView*)marqueeView {
-
- return 6;//_dataArr.count;
- }
- - (NSUInteger)numberOfDataForMarqueeView:(UUMarqueeView*)marqueeView {
-
- return _dataArr ? _dataArr.count : 0;
- }
- - (void)createItemView:(UIView*)itemView forMarqueeView:(UUMarqueeView*)marqueeView {
-
- // for upwardMultiMarqueeView
- //WithFrame:CGRectMake(15, 5.0f,(JX_SCREEN_WIDTH-30)/2 , 16.0f)
- UILabel *content = [[UILabel alloc] init];
- content.font = [UIFont systemFontOfSize:14 weight:UIFontWeightRegular];
- content.textColor=[UIColor whiteColor];
- content.tag = 1001;
- [itemView addSubview:content];
- [content mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(5);
- make.left.mas_equalTo(30);
- }];
-
- UILabel *priceL = [[UILabel alloc] init];
- priceL.font = [UIFont systemFontOfSize:14 weight:UIFontWeightRegular];
- priceL.textAlignment=NSTextAlignmentRight;
- priceL.textColor=[UIColor whiteColor];
- priceL.tag = 1002;
- [itemView addSubview:priceL];
- [priceL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(5);
- make.right.mas_equalTo(-10);
- }];
-
-
-
- }
- - (void)updateItemView:(UIView*)itemView atIndex:(NSUInteger)index forMarqueeView:(UUMarqueeView*)marqueeView {
-
- packageRoolModel *model=_dataArr[index];
-
- UILabel *content = [itemView viewWithTag:1001];
- NSMutableAttributedString *hintString2=[[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"恭喜即信用户%@获得 %@",model.userName,model.money]];
- NSRange range2=[[hintString2 string]rangeOfString:model.money];
- [hintString2 addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:range2];
- content.attributedText=hintString2;
-
-
- UILabel *time = [itemView viewWithTag:1002];
- NSString *stringTime=[self getTimeFromTimestamp:model.gmtCreate];
- time.text = [NSString stringWithFormat:@"%@",stringTime];
-
- }
-
- #pragma mark ---- 将时间戳转换成时间
- - (NSString *)getTimeFromTimestamp:(NSString *)timeL{
- //将对象类型的时间转换为NSDate类型
-
- NSDate * myDate=[NSDate dateWithTimeIntervalSince1970:[timeL doubleValue]/1000];
- //设置时间格式
- NSDateFormatter * formatter=[[NSDateFormatter alloc]init];
- [formatter setDateFormat:@"YYYY-MM-dd"];
- //将时间转换为字符串
- NSString *timeStr=[formatter stringFromDate:myDate];
- return timeStr;
- }
- /**
- * 返回数据结果
- */
- -(void) didServerResultSucces:(JXConnection*)aDownload dict:(NSDictionary*)dict array:(NSArray*)array1{
-
- [SVProgressHUD dismiss];
- if([aDownload.action isEqualToString:act_getTurntable])//获取展示奖品
- {
- _jpDataArr=[awarJpModel mj_objectArrayWithKeyValuesArray:array1];
-
- }
- if([aDownload.action isEqualToString:act_turntableDo])//卷盘抽奖
- {
-
- NSString *rewardCode=dict[@"rewardCode"];
- [self.socreTensDigitAnimation setValue:[NSNumber numberWithInt:[rewardCode intValue]]];
- [self.socreTensDigitAnimation startAnimation];
- [self.socreAnimation startAnimation];
-
- _dictMoney=dict;
- JXBigReelView *show=[[JXBigReelView alloc]init];
- show.backgroundColor=[UIColor colorWithWhite:0.0 alpha:0.7];
- show.frame=[UIScreen mainScreen].bounds;
- show.strURL=dict;
- [[UIApplication sharedApplication].keyWindow addSubview:show];
-
-
-
- } if([aDownload.action isEqualToString:act_turntableSurplusCountl])//获取转盘抽奖用户剩余抽奖次
- {
-
- _cjNums.text=[NSString stringWithFormat:@"今日剩余抽奖次数:%@次",dict[@"surplusCount"]];
- _numberStr=[dict[@"surplusCount"] intValue];
-
-
-
- } if([aDownload.action isEqualToString:act_firstNearTurntableHistory])
- {
-
- dispatch_async(dispatch_get_main_queue(), ^{
-
-
- _dataArr=[packageRoolModel mj_objectArrayWithKeyValuesArray:array1];
- [_upwardMultiMarqueeView reloadData];
-
- });
- }
-
-
- }
- -(int) didServerResultFailed:(JXConnection*)aDownload dict:(NSDictionary*)dict{
-
- [SVProgressHUD dismiss];
- NSString * errorCode = [NSString stringWithFormat:@"%@",[dict objectForKey:@"resultMsg"]];
- if([errorCode isEqualToString:@"权限验证失败"])
- {
-
-
- }
- if([aDownload.action isEqualToString:act_turntableSurplusCountl])//获取转盘抽奖用户剩余抽奖次
- {
- // UIAlertView *alertShow=[[UIAlertView alloc]initWithTitle:nil message:[NSString stringWithFormat:@"%@",@"今日抽奖次数已用完"] delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];
- // [alertShow show];
- // _cjNums.text=[NSString stringWithFormat:@"今日剩余抽奖次数:%@次",dict[@"surplusCount"]];
-
- }
-
-
-
-
- return 1;
- }
- @end
|