补充提交

This commit is contained in:
启星
2025-09-23 09:15:02 +08:00
parent ae9be0b58e
commit 33522540a9
18 changed files with 190 additions and 27 deletions

View File

@@ -224,22 +224,6 @@
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "9D956DDD-23DD-4EA6-915E-B80EBA7A5B63"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "QXLive/Config/QXRoomMessageManager.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "36"
endingLineNumber = "36"
landmarkName = "-joinGroupWithRoomId:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
@@ -256,5 +240,37 @@
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "1884A8C2-7B10-4AB0-B818-07A1622F2E86"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "QXLive/Login(&#x767b;&#x5f55;)/Controlller/QXLoginViewController.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "503"
endingLineNumber = "503"
landmarkName = "-accountLoginWithUser_login:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "632D2182-073F-483E-8D91-60468E8FFABB"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "QXLive/Mine(&#x97f3;&#x57df;)/Controller/&#x4e2a;&#x6027;&#x88c5;&#x626e;/QXDressSubViewController.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "92"
endingLineNumber = "92"
landmarkName = "-collectionView:didSelectItemAtIndexPath:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints> </Breakpoints>
</Bucket> </Bucket>

View File

@@ -40,12 +40,14 @@ NS_ASSUME_NONNULL_BEGIN
@interface QXEffectContentView : UIView @interface QXEffectContentView : UIView
@property (nonatomic,assign) BOOL isShow;
@property (nonatomic,assign) BOOL isOnece;
@property (nonatomic,strong) VAPView *playerMp4View; @property (nonatomic,strong) VAPView *playerMp4View;
@property (nonatomic, strong) dispatch_queue_t queue; @property (nonatomic, strong) dispatch_queue_t queue;
-(void)previewEffectWith:(NSString *)play_image;
- (void)displayEffectView:(NSString *)play_image; - (void)displayEffectView:(NSString *)play_image;
- (void)displayEffectViewWithMorePlayImages:(NSArray *)playImages; - (void)displayEffectViewWithMorePlayImages:(NSArray *)playImages;
- (void)openOrCloseEffectViewWith:(BOOL)isShow; - (void)openOrCloseEffectViewWith:(BOOL)isShow;
@property (nonatomic,assign) BOOL isShow;
- (void)destroyEffectView; - (void)destroyEffectView;
-(void)stopPlay; -(void)stopPlay;
-(void)startPlay; -(void)startPlay;

View File

@@ -280,6 +280,35 @@ static NSString *PLAY_IMAGE = @"play_image";
} }
}); });
} }
-(void)previewEffectWith:(NSString *)play_image{
self.isOnece = YES;
dispatch_async(dispatch_get_main_queue(), ^{
if ([play_image hasSuffix:@"mp4"]) {
__weak typeof(self)weakSelf = self;
/// mp4
[[QXRequset shareInstance] downloadVideoPlayerWithUrl:play_image completion:^(BOOL result, NSString * _Nonnull fileName) {
NSString *videoPath = [QXFileManager getGiftVideoPath:fileName];
dispatch_async(dispatch_get_main_queue(), ^{
weakSelf.playerMp4View.hidden = NO;
weakSelf.svagView.hidden = YES;
});
[weakSelf.playerMp4View stopHWDMP4];
[weakSelf.playerMp4View playHWDMP4:videoPath delegate:self];
}];
}else if ([play_image hasSuffix:@"svg"] || [play_image hasSuffix:@"svga"]) {
__weak typeof(self)weakSelf = self;
/// svga
[[QXRequset shareInstance] downloadVideoPlayerWithUrl:play_image completion:^(BOOL result, NSString * _Nonnull fileName) {
dispatch_async(dispatch_get_main_queue(), ^{
weakSelf.playerMp4View.hidden = YES;
weakSelf.svagView.hidden = NO;
});
NSString *filePath = [QXFileManager getGiftVideoPath:fileName];
[weakSelf.svagView loadSVGAPlayerWith:filePath];
}];
}
});
}
- (void)openOrCloseEffectViewWith:(BOOL)isShow { - (void)openOrCloseEffectViewWith:(BOOL)isShow {
_isShow = isShow; _isShow = isShow;
@@ -307,9 +336,13 @@ static NSString *PLAY_IMAGE = @"play_image";
[self loadStartSVGAPlayer]; [self loadStartSVGAPlayer];
} }
-(void)viewDidFinishPlayMP4:(NSInteger)totalFrameCount view:(VAPView *)container{ -(void)viewDidFinishPlayMP4:(NSInteger)totalFrameCount view:(VAPView *)container{
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
self.playerMp4View.hidden = YES; self.playerMp4View.hidden = YES;
}); });
if (self.isOnece) {
return;
}
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
[self loadStartSVGAPlayer]; [self loadStartSVGAPlayer];
}); });
@@ -318,6 +351,9 @@ static NSString *PLAY_IMAGE = @"play_image";
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
self.playerMp4View.hidden = YES; self.playerMp4View.hidden = YES;
}); });
if (self.isOnece) {
return;
}
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
[self loadStartSVGAPlayer]; [self loadStartSVGAPlayer];
}); });
@@ -417,6 +453,9 @@ static NSString *PLAY_IMAGE = @"play_image";
__weak typeof(self)weakSelf = self; __weak typeof(self)weakSelf = self;
_svagView.didFinishedDisplay = ^(QXEffectSvgaView * _Nonnull svgaView) { _svagView.didFinishedDisplay = ^(QXEffectSvgaView * _Nonnull svgaView) {
[svgaView destroySvga]; [svgaView destroySvga];
if (weakSelf.isOnece) {
return;
}
[weakSelf loadEndSvgaPlayer]; [weakSelf loadEndSvgaPlayer];
}; };
} }

View File

@@ -497,6 +497,9 @@
MJWeakSelf MJWeakSelf
[QXLoginNetwork loginAccountWithUser_login:user_login successBlock:^(QXLoginModel * _Nonnull loginModel) { [QXLoginNetwork loginAccountWithUser_login:user_login successBlock:^(QXLoginModel * _Nonnull loginModel) {
hideLoadingInView(self.view); hideLoadingInView(self.view);
[[NSUserDefaults standardUserDefaults] setInteger:loginModel.is_can_chat forKey:kIsCanChat];
[[NSUserDefaults standardUserDefaults] setObject:loginModel.can_chat_money forKey:kIsCanChatMoney];
[[NSUserDefaults standardUserDefaults] synchronize];
[[QXGlobal shareGlobal] saveLoginData:[loginModel yy_modelToJSONString]]; [[QXGlobal shareGlobal] saveLoginData:[loginModel yy_modelToJSONString]];
AppDelegate *delegate = (AppDelegate*)[UIApplication sharedApplication].delegate; AppDelegate *delegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
[delegate tencentLogin]; [delegate tencentLogin];

View File

@@ -36,6 +36,10 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong)NSString *dress; @property (nonatomic,strong)NSString *dress;
/// 各种卡片 /// 各种卡片
@property (nonatomic,strong)NSArray *icon; @property (nonatomic,strong)NSArray *icon;
/// 1 能聊天 0不能聊天
@property (nonatomic,assign)NSInteger is_can_chat;
/// 需要充值金额
@property (nonatomic,strong)NSString* can_chat_money;
@end @end

View File

@@ -9,12 +9,14 @@
#import "QXDressCell.h" #import "QXDressCell.h"
#import "QXMineNetwork.h" #import "QXMineNetwork.h"
#import "QXSeatHeaderView.h" #import "QXSeatHeaderView.h"
#import "QXGiftPlayerManager.h"
@interface QXDressSubViewController ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout> @interface QXDressSubViewController ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
@property (nonatomic,strong)QXSeatHeaderView *headerImageView; @property (nonatomic,strong)QXSeatHeaderView *headerImageView;
@property (nonatomic,strong)UICollectionView *collectionView; @property (nonatomic,strong)UICollectionView *collectionView;
@property (nonatomic,strong)UIButton *commitBtn; @property (nonatomic,strong)UIButton *commitBtn;
@property (nonatomic,assign)NSInteger selectedIndex; @property (nonatomic,assign)NSInteger selectedIndex;
@property (nonatomic,strong)QXEffectContentView *fullEffectView;
@end @end
@implementation QXDressSubViewController @implementation QXDressSubViewController
@@ -40,6 +42,7 @@
} }
[self.view addSubview:self.collectionView]; [self.view addSubview:self.collectionView];
[self.view addSubview:self.commitBtn]; [self.view addSubview:self.commitBtn];
[self.view addSubview:self.fullEffectView];
} }
-(void)getData{ -(void)getData{
@@ -84,7 +87,10 @@
self.selectedIndex = indexPath.row; self.selectedIndex = indexPath.row;
[collectionView reloadData]; [collectionView reloadData];
// MJWeakSelf // MJWeakSelf
if ([self.model.id isEqualToString:@"2"]) {
self.fullEffectView.hidden = NO;
[self.fullEffectView previewEffectWith:model.play_image];
}
[self.headerImageView setHeadIcon:[QXGlobal shareGlobal].loginModel.avatar dress:model.play_image]; [self.headerImageView setHeadIcon:[QXGlobal shareGlobal].loginModel.avatar dress:model.play_image];
} }
@@ -144,4 +150,12 @@
} }
return _headerImageView; return _headerImageView;
} }
- (QXEffectContentView *)fullEffectView {
if (!_fullEffectView) {
_fullEffectView = [[QXEffectContentView alloc] initWithFrame:[UIScreen mainScreen].bounds];
_fullEffectView.queue = dispatch_queue_create("qx_room_full_preview_message.com", NULL);
_fullEffectView.hidden = YES;
}
return _fullEffectView;
}
@end @end

View File

@@ -39,6 +39,10 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong)NSString *is_use_code; @property (nonatomic,strong)NSString *is_use_code;
/// 在线状态 /// 在线状态
@property (nonatomic,assign)BOOL is_online; @property (nonatomic,assign)BOOL is_online;
/// 1 能聊天 0不能聊天
@property (nonatomic,assign)NSInteger is_can_chat;
/// 需要充值金额
@property (nonatomic,strong)NSString* can_chat_money;
@end @end

View File

@@ -1040,6 +1040,13 @@ NS_ASSUME_NONNULL_BEGIN
+(void)roomGiftBagPricesuccessBlock:(void (^)(NSString* price))successBlock +(void)roomGiftBagPricesuccessBlock:(void (^)(NSString* price))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock; failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
用户重连
*/
+(void)roomUserReconnectWithRoomId:(NSString*)roomId
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
@end @end

View File

@@ -18,6 +18,9 @@
[QXGlobal shareGlobal].loginModel.dress = userModel.dress; [QXGlobal shareGlobal].loginModel.dress = userModel.dress;
[QXGlobal shareGlobal].loginModel.auth = userModel.auth.intValue; [QXGlobal shareGlobal].loginModel.auth = userModel.auth.intValue;
[[QXGlobal shareGlobal] updateUserInfoWithMolde:[QXGlobal shareGlobal].loginModel]; [[QXGlobal shareGlobal] updateUserInfoWithMolde:[QXGlobal shareGlobal].loginModel];
[[NSUserDefaults standardUserDefaults] setInteger:userModel.is_can_chat forKey:kIsCanChat];
[[NSUserDefaults standardUserDefaults] setObject:userModel.can_chat_money forKey:kIsCanChatMoney];
[[NSUserDefaults standardUserDefaults] synchronize];
if (successBlock) { if (successBlock) {
successBlock(userModel); successBlock(userModel);
} }
@@ -2045,4 +2048,19 @@
failBlock(error,msg); failBlock(error,msg);
}]; }];
} }
+(void)roomUserReconnectWithRoomId:(NSString*)roomId
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
NSDictionary *parameters =@{
@"room_id":roomId?roomId:@"",
};
[[QXRequset shareInstance] postWithUrl:QXRoomUserReconnect parameters:parameters needCache:NO success:^(id responseObject) {
if (successBlock) {
successBlock(responseObject[@"data"]);
}
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
failBlock(error,msg);
}];
}
@end @end

View File

@@ -74,6 +74,14 @@
-(void)onConnectSuccess{ -(void)onConnectSuccess{
// showToast(@"腾讯重连服务器成功"); // showToast(@"腾讯重连服务器成功");
// NSLog(@"腾讯重连服务器成功"); // NSLog(@"腾讯重连服务器成功");
if ([QXGlobal.shareGlobal.roomId isExist]) {
return;
}
[QXMineNetwork roomUserReconnectWithRoomId:QXGlobal.shareGlobal.roomId successBlock:^(NSDictionary * _Nonnull dict) {
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
}];
} }
-(void)onConnecting{ -(void)onConnecting{
// NSLog(@"腾讯重连服务器中"); // NSLog(@"腾讯重连服务器中");

View File

@@ -104,6 +104,10 @@ static NSString *const kIsOpenRecharge = @"kIsOpenRecharge";
static NSString *const kChirldLocalPassword = @"kChirldLocalPassword"; static NSString *const kChirldLocalPassword = @"kChirldLocalPassword";
/// 是否开启飘屏 /// 是否开启飘屏
static NSString *const kIsCloseDrifPop = @"kIsCloseDrifPop"; static NSString *const kIsCloseDrifPop = @"kIsCloseDrifPop";
/// 是否可以聊天
static NSString *const kIsCanChat = @"kIsCanChat";
/// 充值多少钱可以聊天
static NSString *const kIsCanChatMoney = @"kIsCanChatMoney";
// 微信登录 // 微信登录

View File

@@ -437,4 +437,8 @@ static NSString * QXRoomGiftBagClear = @"api/Room/room_gift_all_clear";
/// 背包礼物价值 /// 背包礼物价值
static NSString * QXRoomGiftBagPrice = @"api/UserGiftPack/get_gift_pack_list_count"; static NSString * QXRoomGiftBagPrice = @"api/UserGiftPack/get_gift_pack_list_count";
/// 腾讯重连成功后更新在线列表
static NSString * QXRoomUserReconnect = @"api/Room/user_reconnect";
#endif /* Api_h */ #endif /* Api_h */

View File

@@ -10,8 +10,8 @@
</array> </array>
<key>com.apple.developer.associated-domains</key> <key>com.apple.developer.associated-domains</key>
<array> <array>
<string>webcredentials:mdh.xscmmidi.site</string> <string>webcredentials:my.qxhs.xyz</string>
<string>applinks:mdh.xscmmidi.site</string> <string>applinks:my.qxhs.xyz</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View File

@@ -17,6 +17,13 @@ typedef NS_ENUM(NSInteger) {
/// 抽100次 /// 抽100次
QXMeetDrawBtnTypeHundred = 100, QXMeetDrawBtnTypeHundred = 100,
}QXMeetDrawBtnType; }QXMeetDrawBtnType;
@protocol QXMeetActivityViewDelegate <NSObject>
@optional
-(void)timeDownDidFinished;
@end
@interface QXMeetActivityView : UIView @interface QXMeetActivityView : UIView
-(void)showInView:(UIView *)view; -(void)showInView:(UIView *)view;
@property (nonatomic,strong)NSString *roomId; @property (nonatomic,strong)NSString *roomId;
@@ -42,6 +49,8 @@ typedef NS_ENUM(NSInteger) {
@property (nonatomic,assign)long long startTime; @property (nonatomic,assign)long long startTime;
@property (nonatomic,strong)QXTimer *timer; @property (nonatomic,strong)QXTimer *timer;
@property (nonatomic,weak)id<QXMeetActivityViewDelegate>delegate;
@end @end

View File

@@ -14,7 +14,7 @@
#import "QXMeetLotteryView.h" #import "QXMeetLotteryView.h"
#import "QXDiamondViewController.h" #import "QXDiamondViewController.h"
@interface QXMeetActivityView()<UIGestureRecognizerDelegate,QXMeetLotteryViewDelegate> @interface QXMeetActivityView()<UIGestureRecognizerDelegate,QXMeetLotteryViewDelegate,QXMeetActivityViewDelegate>
@property (nonatomic,strong)UIView *bgView; @property (nonatomic,strong)UIView *bgView;
@property (nonatomic,strong)UIImageView *bgImageView; @property (nonatomic,strong)UIImageView *bgImageView;
/// ///
@@ -146,6 +146,7 @@
[self.bgView addSubview:self.recordBtn]; [self.bgView addSubview:self.recordBtn];
self.timeDownView = [[QXMeetTimeDownView alloc] initWithFrame:CGRectMake((self.bgView.width-ScaleWidth(122))/2, self.rankBtn.top-4, ScaleWidth(122), ScaleWidth(29))]; self.timeDownView = [[QXMeetTimeDownView alloc] initWithFrame:CGRectMake((self.bgView.width-ScaleWidth(122))/2, self.rankBtn.top-4, ScaleWidth(122), ScaleWidth(29))];
self.timeDownView.delegate = self;
[self.bgView addSubview:self.timeDownView]; [self.bgView addSubview:self.timeDownView];
self.giftImageView = [[UIImageView alloc] initWithFrame:CGRectMake((self.bgView.width-ScaleWidth(118))/2, self.timeDownView.bottom+11, ScaleWidth(118), ScaleWidth(118))]; self.giftImageView = [[UIImageView alloc] initWithFrame:CGRectMake((self.bgView.width-ScaleWidth(118))/2, self.timeDownView.bottom+11, ScaleWidth(118), ScaleWidth(118))];
@@ -325,6 +326,9 @@
} }
} }
} }
-(void)timeDownDidFinished{
[self hide];
}
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
return touch.view == self; return touch.view == self;
} }
@@ -624,10 +628,10 @@
NSString *time = [NSString stringWithFormat:@"%02ld%02ld",min,second]; NSString *time = [NSString stringWithFormat:@"%02ld%02ld",min,second];
if (time.length == 4) { if (time.length == 4) {
self.timeLabel1.text = [time substringWithRange:NSMakeRange(0, 1)]; weakSelf.timeLabel1.text = [time substringWithRange:NSMakeRange(0, 1)];
self.timeLabel2.text = [time substringWithRange:NSMakeRange(1, 1)]; weakSelf.timeLabel2.text = [time substringWithRange:NSMakeRange(1, 1)];
self.timeLabel3.text = [time substringWithRange:NSMakeRange(2, 1)]; weakSelf.timeLabel3.text = [time substringWithRange:NSMakeRange(2, 1)];
self.timeLabel4.text = [time substringWithRange:NSMakeRange(3, 1)]; weakSelf.timeLabel4.text = [time substringWithRange:NSMakeRange(3, 1)];
} }
if (weakSelf.startTime<=0) { if (weakSelf.startTime<=0) {
[weakSelf stopTimer]; [weakSelf stopTimer];
@@ -635,6 +639,9 @@
weakSelf.timeLabel2.text = @"0"; weakSelf.timeLabel2.text = @"0";
weakSelf.timeLabel3.text = @"0"; weakSelf.timeLabel3.text = @"0";
weakSelf.timeLabel4.text = @"0"; weakSelf.timeLabel4.text = @"0";
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(timeDownDidFinished)]) {
[weakSelf.delegate timeDownDidFinished];
}
} }
}); });
}]; }];

View File

@@ -36,7 +36,7 @@
self.scrollView.showsHorizontalScrollIndicator = NO; self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.showsVerticalScrollIndicator = NO; self.scrollView.showsVerticalScrollIndicator = NO;
self.scrollView.scrollEnabled = YES; self.scrollView.scrollEnabled = YES;
self.scrollView.hidden = YES; // self.scrollView.hidden = YES;
self.scrollView.decelerationRate = UIScrollViewDecelerationRateFast; self.scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
[self addSubview:self.scrollView]; [self addSubview:self.scrollView];
_itemSpace = 25; _itemSpace = 25;
@@ -76,7 +76,7 @@
} }
-(void)startLotteryAnimation{ -(void)startLotteryAnimation{
self.scrollView.hidden = NO; // self.scrollView.hidden = NO;
[self.scrollView setContentOffset:CGPointZero animated:NO]; [self.scrollView setContentOffset:CGPointZero animated:NO];
MJWeakSelf MJWeakSelf
[UIView animateWithDuration:6 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ [UIView animateWithDuration:6 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{

View File

@@ -342,6 +342,30 @@
#pragma mark - Text input #pragma mark - Text input
#pragma mark-- UITextViewDelegate #pragma mark-- UITextViewDelegate
- (void)textViewDidBeginEditing:(UITextView *)textView { - (void)textViewDidBeginEditing:(UITextView *)textView {
NSInteger isCanChat = [[NSUserDefaults standardUserDefaults] integerForKey:@"kIsCanChat"];
NSString* canChatMoney = [[NSUserDefaults standardUserDefaults] objectForKey:@"kIsCanChatMoney"];
if (isCanChat != 1) {
[self.inputTextView resignFirstResponder];
UIWindow*keyWindow = nil;
NSArray *windows = [UIApplication sharedApplication].windows;
for (UIWindow *window in windows){
if(window.isKeyWindow){
keyWindow = window;
break;
}
}
UINavigationController*na = (UINavigationController*)keyWindow.rootViewController;
NSString *title = [NSString stringWithFormat:@"充值不足%@元,您无法发送消息",canChatMoney];
UIAlertController *al = [UIAlertController alertControllerWithTitle:title message:@"" preferredStyle:(UIAlertControllerStyleAlert)];
[al addAction:[UIAlertAction actionWithTitle:@"去充值" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) {
[na pushViewController:[[NSClassFromString(@"QXRechargeViewcController") alloc] init] animated:YES];
}]];
[al addAction:[UIAlertAction actionWithTitle:@"取消" style:(UIAlertActionStyleCancel) handler:^(UIAlertAction * _Nonnull action) {
}]];
[na presentViewController:al animated:YES completion:nil];
return;
}
self.keyboardButton.hidden = YES; self.keyboardButton.hidden = YES;
self.micButton.hidden = NO; self.micButton.hidden = NO;
self.faceButton.hidden = NO; self.faceButton.hidden = NO;