Commit 7a421df265a5357f1192390de34aef3a97648466
1 parent
6fabb5dc
no message
Showing
13 changed files
with
238 additions
and
89 deletions
CNLiveLoginModule.podspec
| @@ -71,6 +71,7 @@ TODO: 网家家-登录模块. | @@ -71,6 +71,7 @@ TODO: 网家家-登录模块. | ||
| 71 | s.dependency 'CNLiveServices' | 71 | s.dependency 'CNLiveServices' |
| 72 | 72 | ||
| 73 | # pod | 73 | # pod |
| 74 | + s.dependency 'CNLiveSDKs/CNLiveUserSystemSDK', '~> 0.3.1.3' #GitHub所以指定版本号 | ||
| 74 | s.dependency 'CNLiveTripartiteManagement/QMUIKit' | 75 | s.dependency 'CNLiveTripartiteManagement/QMUIKit' |
| 75 | s.dependency 'CNLiveTripartiteManagement/YYKit' | 76 | s.dependency 'CNLiveTripartiteManagement/YYKit' |
| 76 | s.dependency 'CNLiveTripartiteManagement/SDWebImage' | 77 | s.dependency 'CNLiveTripartiteManagement/SDWebImage' |
| @@ -86,4 +87,18 @@ TODO: 网家家-登录模块. | @@ -86,4 +87,18 @@ TODO: 网家家-登录模块. | ||
| 86 | # 用户信息本地化 | 87 | # 用户信息本地化 |
| 87 | s.dependency 'CNLiveUserManagement' | 88 | s.dependency 'CNLiveUserManagement' |
| 88 | 89 | ||
| 90 | + # 环境库 | ||
| 91 | + s.dependency 'CNLiveEnvironment' | ||
| 92 | + | ||
| 93 | + # 数据请求 | ||
| 94 | + s.dependency 'CNLiveRequestBastKit' | ||
| 95 | + | ||
| 96 | + # 用户协议 | ||
| 97 | + s.dependency 'CNLiveUserAgreementManager' | ||
| 98 | + | ||
| 99 | + # 管理类 | ||
| 100 | + s.dependency 'CNLiveManager' | ||
| 101 | + | ||
| 102 | + s.static_framework = true | ||
| 103 | + | ||
| 89 | end | 104 | end |
CNLiveLoginModule/Assets/CNLiveLoginModule.xcassets/select_country_close.imageset/Contents.json renamed to CNLiveLoginModule/Assets/CNLiveLoginModule.xcassets/login_close.imageset/Contents.json
| @@ -6,12 +6,12 @@ | @@ -6,12 +6,12 @@ | ||
| 6 | }, | 6 | }, |
| 7 | { | 7 | { |
| 8 | "idiom" : "universal", | 8 | "idiom" : "universal", |
| 9 | - "filename" : "select_country_close@2x.png", | 9 | + "filename" : "login_close@2x.png", |
| 10 | "scale" : "2x" | 10 | "scale" : "2x" |
| 11 | }, | 11 | }, |
| 12 | { | 12 | { |
| 13 | "idiom" : "universal", | 13 | "idiom" : "universal", |
| 14 | - "filename" : "select_country_close@3x.png", | 14 | + "filename" : "login_close@3x.png", |
| 15 | "scale" : "3x" | 15 | "scale" : "3x" |
| 16 | } | 16 | } |
| 17 | ], | 17 | ], |
CNLiveLoginModule/Assets/CNLiveLoginModule.xcassets/select_country_close.imageset/select_country_close@2x.png renamed to CNLiveLoginModule/Assets/CNLiveLoginModule.xcassets/login_close.imageset/login_close@2x.png
2.92 KB
CNLiveLoginModule/Assets/CNLiveLoginModule.xcassets/select_country_close.imageset/select_country_close@3x.png renamed to CNLiveLoginModule/Assets/CNLiveLoginModule.xcassets/login_close.imageset/login_close@3x.png
4.14 KB
CNLiveLoginModule/Classes/Controller/CNLiveLoginController.h
| @@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
| 11 | NS_ASSUME_NONNULL_BEGIN | 11 | NS_ASSUME_NONNULL_BEGIN |
| 12 | 12 | ||
| 13 | @interface CNLiveLoginController : UIViewController | 13 | @interface CNLiveLoginController : UIViewController |
| 14 | -@property (nonatomic, assign) BOOL isShow; | 14 | +@property (nonatomic, assign) BOOL isShowClose; |
| 15 | 15 | ||
| 16 | @end | 16 | @end |
| 17 | 17 |
CNLiveLoginModule/Classes/Controller/CNLiveLoginController.m
| @@ -12,10 +12,11 @@ | @@ -12,10 +12,11 @@ | ||
| 12 | #import "QMUIKit.h" | 12 | #import "QMUIKit.h" |
| 13 | #import "YYKit.h" | 13 | #import "YYKit.h" |
| 14 | 14 | ||
| 15 | +#import "CNLiveUserAgreementManager.h" | ||
| 16 | + | ||
| 15 | #import "CNLiveLoginView.h" | 17 | #import "CNLiveLoginView.h" |
| 16 | #import "CNLiveThreeLoginView.h" | 18 | #import "CNLiveThreeLoginView.h" |
| 17 | #import "CNLiveBindingTelController.h"//绑定手机号 | 19 | #import "CNLiveBindingTelController.h"//绑定手机号 |
| 18 | -//#import "XWAgreementManager.h"//协议 | ||
| 19 | #import "CNLiveCompleteInfoController.h"//修改昵称 | 20 | #import "CNLiveCompleteInfoController.h"//修改昵称 |
| 20 | 21 | ||
| 21 | #define HexColor(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] | 22 | #define HexColor(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] |
| @@ -24,6 +25,7 @@ | @@ -24,6 +25,7 @@ | ||
| 24 | @property (nonatomic, weak) CNLiveLoginView *loginView; | 25 | @property (nonatomic, weak) CNLiveLoginView *loginView; |
| 25 | @property (nonatomic, weak) CNLiveThreeLoginView *threeLoginView; | 26 | @property (nonatomic, weak) CNLiveThreeLoginView *threeLoginView; |
| 26 | @property (nonatomic, weak) YYLabel *protocol; | 27 | @property (nonatomic, weak) YYLabel *protocol; |
| 28 | +@property (nonatomic, strong) UIButton *close; | ||
| 27 | 29 | ||
| 28 | @end | 30 | @end |
| 29 | 31 | ||
| @@ -43,17 +45,16 @@ | @@ -43,17 +45,16 @@ | ||
| 43 | } | 45 | } |
| 44 | 46 | ||
| 45 | - (void)createUI{ | 47 | - (void)createUI{ |
| 46 | - CNLiveLoginView *loginView = [[CNLiveLoginView alloc] initWithFrame:CGRectMake(self.view.frame.size.width/8.0, NavigationContentTop+20, self.view.frame.size.width*3/4.0, 400)]; | 48 | + |
| 49 | + [self.view addSubview:self.close]; | ||
| 50 | + | ||
| 51 | + | ||
| 52 | + CNLiveLoginView *loginView = [[CNLiveLoginView alloc] initWithFrame:CGRectMake(SCREEN_WIDTH/8.0, NavigationContentTop+20, SCREEN_WIDTH*3/4.0, 400)]; | ||
| 47 | loginView.delegate = self; | 53 | loginView.delegate = self; |
| 48 | [self.view addSubview:loginView]; | 54 | [self.view addSubview:loginView]; |
| 49 | self.loginView = loginView; | 55 | self.loginView = loginView; |
| 50 | 56 | ||
| 51 | - CNLiveThreeLoginView *threeLoginView = [[CNLiveThreeLoginView alloc] initWithFrame:CGRectMake(loginView.left, loginView.bottom+20, loginView.width, 100)]; | ||
| 52 | - threeLoginView.delegate = self; | ||
| 53 | - [self.view addSubview:threeLoginView]; | ||
| 54 | - self.threeLoginView = threeLoginView; | ||
| 55 | - | ||
| 56 | - YYLabel *protocol = [[YYLabel alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-30-SafeAreaInsetsConstantForDeviceWithNotch.bottom, self.view.frame.size.width, 30)]; | 57 | + YYLabel *protocol = [[YYLabel alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT-30-SafeAreaInsetsConstantForDeviceWithNotch.bottom, SCREEN_WIDTH, 30)]; |
| 57 | protocol.textAlignment = NSTextAlignmentCenter; | 58 | protocol.textAlignment = NSTextAlignmentCenter; |
| 58 | protocol.textColor = [UIColor colorWithRed:173/255.0 green:173/255.0 blue:173/255.0 alpha:1.0]; | 59 | protocol.textColor = [UIColor colorWithRed:173/255.0 green:173/255.0 blue:173/255.0 alpha:1.0]; |
| 59 | protocol.font = [UIFont systemFontOfSize:14.0]; | 60 | protocol.font = [UIFont systemFontOfSize:14.0]; |
| @@ -66,17 +67,21 @@ | @@ -66,17 +67,21 @@ | ||
| 66 | __weak typeof(self) weakSelf = self; | 67 | __weak typeof(self) weakSelf = self; |
| 67 | [text setTextHighlightRange:NSMakeRange(11, 4) color:[UIColor colorWithRed:35/255.0 green:212/255.0 blue:30/255.0 alpha:1.0] backgroundColor:[UIColor clearColor] tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) { | 68 | [text setTextHighlightRange:NSMakeRange(11, 4) color:[UIColor colorWithRed:35/255.0 green:212/255.0 blue:30/255.0 alpha:1.0] backgroundColor:[UIColor clearColor] tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) { |
| 68 | [weakSelf.view endEditing:YES]; | 69 | [weakSelf.view endEditing:YES]; |
| 69 | -// [XWAgreementManager jumpToAgreementH5WithType:XWAgreementTypeUser]; | 70 | + [CNLiveUserAgreementManager jumpToAgreementH5WithType:CNLiveUserAgreementUser]; |
| 70 | }]; | 71 | }]; |
| 71 | [text setTextHighlightRange:NSMakeRange(text.length-5, 4) color:[UIColor colorWithRed:35/255.0 green:212/255.0 blue:30/255.0 alpha:1.0] backgroundColor:[UIColor clearColor] tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) { | 72 | [text setTextHighlightRange:NSMakeRange(text.length-5, 4) color:[UIColor colorWithRed:35/255.0 green:212/255.0 blue:30/255.0 alpha:1.0] backgroundColor:[UIColor clearColor] tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) { |
| 72 | [weakSelf.view endEditing:YES]; | 73 | [weakSelf.view endEditing:YES]; |
| 73 | -// [XWAgreementManager jumpToAgreementH5WithType:XWAgreementTypePrivacy]; | ||
| 74 | - | 74 | + [CNLiveUserAgreementManager jumpToAgreementH5WithType:CNLiveUserAgreementPrivacy]; |
| 75 | }]; | 75 | }]; |
| 76 | protocol.attributedText = text; | 76 | protocol.attributedText = text; |
| 77 | [self.view addSubview:protocol]; | 77 | [self.view addSubview:protocol]; |
| 78 | self.protocol = protocol; | 78 | self.protocol = protocol; |
| 79 | 79 | ||
| 80 | + CNLiveThreeLoginView *threeLoginView = [[CNLiveThreeLoginView alloc] initWithFrame:CGRectMake(loginView.left, SCREEN_HEIGHT-30-SafeAreaInsetsConstantForDeviceWithNotch.bottom-100-10, loginView.width, 100)]; | ||
| 81 | + threeLoginView.delegate = self; | ||
| 82 | + [self.view addSubview:threeLoginView]; | ||
| 83 | + self.threeLoginView = threeLoginView; | ||
| 84 | + | ||
| 80 | } | 85 | } |
| 81 | 86 | ||
| 82 | - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { | 87 | - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { |
| @@ -126,7 +131,25 @@ | @@ -126,7 +131,25 @@ | ||
| 126 | // Pass the selected object to the new view controller. | 131 | // Pass the selected object to the new view controller. |
| 127 | } | 132 | } |
| 128 | */ | 133 | */ |
| 134 | +#pragma mark - 响应事件 | ||
| 135 | +- (void)closeDidSelected:(UIButton *)btn{ | ||
| 136 | + [self dismissViewControllerAnimated:YES completion:nil]; | ||
| 137 | +} | ||
| 138 | + | ||
| 129 | #pragma mark - 懒加载 | 139 | #pragma mark - 懒加载 |
| 140 | +- (UIButton *)close{ | ||
| 141 | + if (!_close) { | ||
| 142 | + _close = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 143 | + _close.frame = CGRectMake(SCREEN_WIDTH-44-10, StatusBarHeight, 44, 44); | ||
| 144 | + _close.hidden = !self.isShowClose; | ||
| 145 | + UIImage *image = [self xw_getImageName:@"login_close" bundleName:@"CNLiveLoginModule" targetClass:[self class]]; | ||
| 146 | + [_close setImage:image forState:UIControlStateNormal]; | ||
| 147 | + [_close addTarget:self action:@selector(closeDidSelected:) forControlEvents:UIControlEventTouchUpInside]; | ||
| 148 | + _close.adjustsImageWhenHighlighted = NO; | ||
| 149 | + } | ||
| 150 | + return _close; | ||
| 151 | + | ||
| 152 | +} | ||
| 130 | 153 | ||
| 131 | /** | 154 | /** |
| 132 | * 创建图片 | 155 | * 创建图片 |
CNLiveLoginModule/Classes/Module/CNLiveLoginService.m
| @@ -8,9 +8,11 @@ | @@ -8,9 +8,11 @@ | ||
| 8 | 8 | ||
| 9 | #import "CNLiveLoginService.h" | 9 | #import "CNLiveLoginService.h" |
| 10 | #import "CNLiveServices.h" | 10 | #import "CNLiveServices.h" |
| 11 | -#import "CNLiveLoginController.h" | 11 | +#import "CNLiveManager.h" |
| 12 | #import "CNUserInfoManager.h" | 12 | #import "CNUserInfoManager.h" |
| 13 | 13 | ||
| 14 | +#import "CNLiveLoginController.h" | ||
| 15 | + | ||
| 14 | @BeeHiveService(CNLiveLoginServiceProtocol,CNLiveLoginService) | 16 | @BeeHiveService(CNLiveLoginServiceProtocol,CNLiveLoginService) |
| 15 | @interface CNLiveLoginService ()<CNLiveLoginServiceProtocol> | 17 | @interface CNLiveLoginService ()<CNLiveLoginServiceProtocol> |
| 16 | 18 | ||
| @@ -26,24 +28,24 @@ | @@ -26,24 +28,24 @@ | ||
| 26 | [self pushToLoginViewController:NO]; | 28 | [self pushToLoginViewController:NO]; |
| 27 | } | 29 | } |
| 28 | 30 | ||
| 29 | -- (void)pushToLoginViewController:(BOOL)isShow{ | 31 | +- (void)pushToLoginViewController:(BOOL)isShowClose{ |
| 30 | CNLiveLoginController *vc = [[CNLiveLoginController alloc]init]; | 32 | CNLiveLoginController *vc = [[CNLiveLoginController alloc]init]; |
| 31 | - vc.isShow = isShow; | 33 | + vc.isShowClose = isShowClose; |
| 32 | vc.modalPresentationStyle = UIModalPresentationOverFullScreen; | 34 | vc.modalPresentationStyle = UIModalPresentationOverFullScreen; |
| 33 | vc.hidesBottomBarWhenPushed = YES; | 35 | vc.hidesBottomBarWhenPushed = YES; |
| 34 | -// [CNLivePageJumpManager pushViewController:vc]; | 36 | + [CNLivePageJumpManager pushViewController:vc]; |
| 35 | } | 37 | } |
| 36 | 38 | ||
| 37 | - (void)presentToLoginViewController{ | 39 | - (void)presentToLoginViewController{ |
| 38 | [self presentToLoginViewController:NO]; | 40 | [self presentToLoginViewController:NO]; |
| 39 | } | 41 | } |
| 40 | 42 | ||
| 41 | -- (void)presentToLoginViewController:(BOOL)isShow{ | 43 | +- (void)presentToLoginViewController:(BOOL)isShowClose{ |
| 42 | CNLiveLoginController *vc = [[CNLiveLoginController alloc]init]; | 44 | CNLiveLoginController *vc = [[CNLiveLoginController alloc]init]; |
| 43 | - vc.isShow = isShow; | 45 | + vc.isShowClose = isShowClose; |
| 44 | vc.modalPresentationStyle = UIModalPresentationOverFullScreen; | 46 | vc.modalPresentationStyle = UIModalPresentationOverFullScreen; |
| 45 | vc.hidesBottomBarWhenPushed = YES; | 47 | vc.hidesBottomBarWhenPushed = YES; |
| 46 | -// [CNLivePageJumpManager presentViewController:vc]; | 48 | + [CNLivePageJumpManager presentViewController:vc]; |
| 47 | } | 49 | } |
| 48 | 50 | ||
| 49 | - (void)loginIfNeedWithCompleteBlock:(void (^)(BOOL))completeBlock{ | 51 | - (void)loginIfNeedWithCompleteBlock:(void (^)(BOOL))completeBlock{ |
CNLiveLoginModule/Classes/ThreeLogin/CNLiveBindingTelView.m
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | 8 | ||
| 9 | #import "CNLiveBindingTelView.h" | 9 | #import "CNLiveBindingTelView.h" |
| 10 | #import "YYKit.h" | 10 | #import "YYKit.h" |
| 11 | -#import "CNLiveLoginCountryView.h" | 11 | +#import "QMUIKit.h" |
| 12 | 12 | ||
| 13 | #import "CNLiveLoginCountryView.h" | 13 | #import "CNLiveLoginCountryView.h" |
| 14 | #import "CNLiveLoginTextField.h" | 14 | #import "CNLiveLoginTextField.h" |
| @@ -31,6 +31,7 @@ | @@ -31,6 +31,7 @@ | ||
| 31 | @implementation CNLiveBindingTelView | 31 | @implementation CNLiveBindingTelView |
| 32 | static NSInteger const rowHeight = 40; | 32 | static NSInteger const rowHeight = 40; |
| 33 | static NSInteger const space = 40; | 33 | static NSInteger const space = 40; |
| 34 | +static const NSInteger timeValue = 1.5; | ||
| 34 | 35 | ||
| 35 | - (instancetype)initWithFrame:(CGRect)frame type:(CNLiveThreeLoginType)type{ | 36 | - (instancetype)initWithFrame:(CGRect)frame type:(CNLiveThreeLoginType)type{ |
| 36 | 37 | ||
| @@ -206,7 +207,7 @@ static NSInteger const space = 40; | @@ -206,7 +207,7 @@ static NSInteger const space = 40; | ||
| 206 | - (void)countDownButtonDidClick:(CNLiveCountDownButton *)button { | 207 | - (void)countDownButtonDidClick:(CNLiveCountDownButton *)button { |
| 207 | //获取验证码 | 208 | //获取验证码 |
| 208 | if ([_account.text isEqualToString:@""]) { | 209 | if ([_account.text isEqualToString:@""]) { |
| 209 | -// [XWAlertView alertViewWithFlexTextMessage:@"请输入手机号" view:self.superview]; | 210 | + [QMUITips showError:@"请输入手机号" inView:self.superview hideAfterDelay:timeValue]; |
| 210 | return; | 211 | return; |
| 211 | } | 212 | } |
| 212 | // 按钮点击后将enabled设置为NO | 213 | // 按钮点击后将enabled设置为NO |
| @@ -260,7 +261,7 @@ static NSInteger const space = 40; | @@ -260,7 +261,7 @@ static NSInteger const space = 40; | ||
| 260 | - (void)codeDidClicked:(UIButton *)btn{ | 261 | - (void)codeDidClicked:(UIButton *)btn{ |
| 261 | //获取验证码 | 262 | //获取验证码 |
| 262 | if ([_account.text isEqualToString:@""]) { | 263 | if ([_account.text isEqualToString:@""]) { |
| 263 | -// [XWAlertView alertViewWithFlexTextMessage:@"请输入手机号" view:self.superview]; | 264 | + [QMUITips showError:@"请输入手机号" inView:self.superview hideAfterDelay:timeValue]; |
| 264 | return; | 265 | return; |
| 265 | } | 266 | } |
| 266 | __weak typeof(self) weakSelf = self; | 267 | __weak typeof(self) weakSelf = self; |
CNLiveLoginModule/Classes/View/CNLiveCompleteInfoView.m
| @@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
| 9 | #import "CNLiveCompleteInfoView.h" | 9 | #import "CNLiveCompleteInfoView.h" |
| 10 | #import "CNLiveLoginTextField.h" | 10 | #import "CNLiveLoginTextField.h" |
| 11 | #import "YYKit.h" | 11 | #import "YYKit.h" |
| 12 | - | 12 | +#import "QMUIKit.h" |
| 13 | //#import "UIView+Layout.h" | 13 | //#import "UIView+Layout.h" |
| 14 | //#import "UIImage+Bundle.h" | 14 | //#import "UIImage+Bundle.h" |
| 15 | //#import "XWColorHeader.h" | 15 | //#import "XWColorHeader.h" |
| @@ -34,6 +34,7 @@ | @@ -34,6 +34,7 @@ | ||
| 34 | @implementation CNLiveCompleteInfoView | 34 | @implementation CNLiveCompleteInfoView |
| 35 | static NSInteger const rowHeight = 40; | 35 | static NSInteger const rowHeight = 40; |
| 36 | static NSInteger const space = 40; | 36 | static NSInteger const space = 40; |
| 37 | +static const NSInteger timeValue = 1.5; | ||
| 37 | 38 | ||
| 38 | - (instancetype)initWithFrame:(CGRect)frame{ | 39 | - (instancetype)initWithFrame:(CGRect)frame{ |
| 39 | self = [super initWithFrame:frame]; | 40 | self = [super initWithFrame:frame]; |
| @@ -236,7 +237,7 @@ static NSInteger const space = 40; | @@ -236,7 +237,7 @@ static NSInteger const space = 40; | ||
| 236 | - (void)nextDidClicked:(UIButton *)btn{ | 237 | - (void)nextDidClicked:(UIButton *)btn{ |
| 237 | [_nickname resignFirstResponder]; | 238 | [_nickname resignFirstResponder]; |
| 238 | if ([_nickname.text isEqualToString:@""]) { | 239 | if ([_nickname.text isEqualToString:@""]) { |
| 239 | -// [XWAlertView alertViewWithFlexTextMessage:@"请输入昵称" view:self.superview]; | 240 | + [QMUITips showError:@"请输入昵称" inView:self.superview hideAfterDelay:timeValue]; |
| 240 | return; | 241 | return; |
| 241 | } | 242 | } |
| 242 | btn.userInteractionEnabled = NO; | 243 | btn.userInteractionEnabled = NO; |
CNLiveLoginModule/Classes/View/CNLiveLoginCountryView.m
| @@ -9,10 +9,6 @@ | @@ -9,10 +9,6 @@ | ||
| 9 | #import "CNLiveLoginCountryView.h" | 9 | #import "CNLiveLoginCountryView.h" |
| 10 | #import "YYKit.h" | 10 | #import "YYKit.h" |
| 11 | 11 | ||
| 12 | -//#import "UIImage+Bundle.h" | ||
| 13 | -//#import "UIView+Layout.h" | ||
| 14 | -//#import "XWColorHeader.h" | ||
| 15 | -//#import "XWSelectCountryViewController.h" | ||
| 16 | #import "CNLiveChooseCountryController.h" | 12 | #import "CNLiveChooseCountryController.h" |
| 17 | 13 | ||
| 18 | @interface CNLiveLoginCountryView()<ChooseCountriesDelegate> | 14 | @interface CNLiveLoginCountryView()<ChooseCountriesDelegate> |
CNLiveLoginModule/Classes/View/CNLiveLoginView.m
| @@ -9,10 +9,15 @@ | @@ -9,10 +9,15 @@ | ||
| 9 | #import "CNLiveLoginView.h" | 9 | #import "CNLiveLoginView.h" |
| 10 | 10 | ||
| 11 | #import "YYKit.h" | 11 | #import "YYKit.h" |
| 12 | +#import "QMUIKit.h" | ||
| 13 | + | ||
| 14 | +#import <CNLiveUserSystemSDK/CNLiveUserSystemCenter.h> | ||
| 15 | +#import <CNLiveUserSystemSDK/CNLiveUserSystemTypeDef.h> | ||
| 16 | +#import "CNUserInfoManager.h" | ||
| 17 | +#import "CNLiveEnvironment.h" | ||
| 12 | 18 | ||
| 13 | #import "CNLiveLoginCountryView.h" | 19 | #import "CNLiveLoginCountryView.h" |
| 14 | #import "CNLiveLoginTextField.h" | 20 | #import "CNLiveLoginTextField.h" |
| 15 | - | ||
| 16 | #import "CNLiveCountDownButton.h" | 21 | #import "CNLiveCountDownButton.h" |
| 17 | //#import "XWLoginNotification.h" | 22 | //#import "XWLoginNotification.h" |
| 18 | 23 | ||
| @@ -25,9 +30,9 @@ | @@ -25,9 +30,9 @@ | ||
| 25 | @property (nonatomic, weak) CNLiveLoginCountryView *country; | 30 | @property (nonatomic, weak) CNLiveLoginCountryView *country; |
| 26 | @property (nonatomic, weak) CNLiveLoginTextField *account; | 31 | @property (nonatomic, weak) CNLiveLoginTextField *account; |
| 27 | @property (nonatomic, weak) CNLiveLoginTextField *code; | 32 | @property (nonatomic, weak) CNLiveLoginTextField *code; |
| 28 | - | ||
| 29 | @property (nonatomic, strong) CNLiveCountDownButton *countDown; | 33 | @property (nonatomic, strong) CNLiveCountDownButton *countDown; |
| 30 | 34 | ||
| 35 | +@property (nonatomic, weak) UILabel *tips; | ||
| 31 | @property (nonatomic, weak) UIButton *login; | 36 | @property (nonatomic, weak) UIButton *login; |
| 32 | 37 | ||
| 33 | @end | 38 | @end |
| @@ -35,6 +40,7 @@ | @@ -35,6 +40,7 @@ | ||
| 35 | @implementation CNLiveLoginView | 40 | @implementation CNLiveLoginView |
| 36 | static NSInteger const rowHeight = 40; | 41 | static NSInteger const rowHeight = 40; |
| 37 | static NSInteger const space = 20; | 42 | static NSInteger const space = 20; |
| 43 | +static const NSInteger timeValue = 1.5; | ||
| 38 | 44 | ||
| 39 | - (instancetype)initWithFrame:(CGRect)frame{ | 45 | - (instancetype)initWithFrame:(CGRect)frame{ |
| 40 | 46 | ||
| @@ -100,8 +106,16 @@ static NSInteger const space = 20; | @@ -100,8 +106,16 @@ static NSInteger const space = 20; | ||
| 100 | [self addSubview:countDown]; | 106 | [self addSubview:countDown]; |
| 101 | self.countDown = countDown; | 107 | self.countDown = countDown; |
| 102 | 108 | ||
| 109 | + UILabel *tips = [[UILabel alloc] initWithFrame:CGRectMake(0, code.bottom+space, frame.size.width, rowHeight/4.0)]; | ||
| 110 | + tips.textColor = [UIColor colorWithRed:153/255.0 green:153/255.0 blue:153/255.0 alpha:1.0]; | ||
| 111 | + tips.font = [UIFont systemFontOfSize:10]; | ||
| 112 | + tips.textAlignment = NSTextAlignmentCenter; | ||
| 113 | + tips.text = @"为了保证您的支付安全及个人信息隐私,请使用手机号码登录"; | ||
| 114 | + [self addSubview:tips]; | ||
| 115 | + self.tips = tips; | ||
| 116 | + | ||
| 103 | UIButton *login = [UIButton buttonWithType:UIButtonTypeCustom]; | 117 | UIButton *login = [UIButton buttonWithType:UIButtonTypeCustom]; |
| 104 | - login.frame = CGRectMake(5, code.bottom+space, frame.size.width-10, rowHeight); | 118 | + login.frame = CGRectMake(5, tips.bottom+space, frame.size.width-10, rowHeight); |
| 105 | [login setTitle:@"登录" forState:UIControlStateNormal]; | 119 | [login setTitle:@"登录" forState:UIControlStateNormal]; |
| 106 | [login setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; | 120 | [login setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; |
| 107 | login.titleLabel.font = [UIFont systemFontOfSize:15.0]; | 121 | login.titleLabel.font = [UIFont systemFontOfSize:15.0]; |
| @@ -225,40 +239,44 @@ static NSInteger const space = 20; | @@ -225,40 +239,44 @@ static NSInteger const space = 20; | ||
| 225 | return 60; | 239 | return 60; |
| 226 | } | 240 | } |
| 227 | 241 | ||
| 228 | -#pragma mark - XWCountdownButton Delegate | 242 | +#pragma mark - CNLiveCountDownButton Delegate |
| 229 | // 倒计时按钮点击 | 243 | // 倒计时按钮点击 |
| 230 | - (void)countDownButtonDidClick:(CNLiveCountDownButton *)button { | 244 | - (void)countDownButtonDidClick:(CNLiveCountDownButton *)button { |
| 231 | //获取验证码 | 245 | //获取验证码 |
| 232 | - __weak typeof(self) weakSelf = self; | ||
| 233 | if ([_account.text isEqualToString:@""]) { | 246 | if ([_account.text isEqualToString:@""]) { |
| 234 | -// [XWAlertView alertViewWithFlexTextMessage:@"请输入手机号" view:nil]; | 247 | + [QMUITips showError:@"请输入手机号" inView:self.superview hideAfterDelay:timeValue]; |
| 235 | return; | 248 | return; |
| 236 | } | 249 | } |
| 237 | // 按钮点击后将enabled设置为NO | 250 | // 按钮点击后将enabled设置为NO |
| 238 | button.userInteractionEnabled = NO; | 251 | button.userInteractionEnabled = NO; |
| 239 | 252 | ||
| 240 | -// [XWUserRequest verificationCodeWithType:XWCodeTypeShortcutLogin mobile:_account.text countryCode:_countryCode success:^(id _Nonnull result) { | ||
| 241 | -// __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 242 | -// if(!strongSelf) return; | ||
| 243 | -// // 获取的验证码 | ||
| 244 | -// strongSelf->_verificationCode = @"666666"; | ||
| 245 | -// | ||
| 246 | -// [XWAlertView alertSucceedViewWithTextMessage:@"获取成功" view:nil]; | ||
| 247 | -// button.backgroundColor = HexColor(0xdedede); | ||
| 248 | -// button.frame = CGRectMake(self.frame.size.width-110, self.account.bottom+space+10, 110, rowHeight-10); | ||
| 249 | -// [button setImage:nil forState:UIControlStateNormal]; | ||
| 250 | -// NSString *title = [NSString stringWithFormat:@"%d秒后重新发送", 60]; | ||
| 251 | -// [button setTitle:title forState:UIControlStateNormal]; | ||
| 252 | -// [button startCountDown]; | ||
| 253 | -// | ||
| 254 | -// } failure:^(NSDictionary * _Nonnull errorDic) { | ||
| 255 | -// __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 256 | -// if(!strongSelf) return; | ||
| 257 | -// button.userInteractionEnabled = YES; | ||
| 258 | -// [XWAlertView alertErrorViewWithTextMessage:@"获取失败" view:nil]; | ||
| 259 | -// | ||
| 260 | -// }]; | ||
| 261 | - | 253 | + __weak typeof(self) weakSelf = self; |
| 254 | + [QMUITips showLoadingInView:self.superview]; | ||
| 255 | + [CNLiveUserSystemCenter verificationCodeType:VerificationCodeTypeShortcutLogin mobile:_account.text countryCode:_countryCode success:^(id result) { | ||
| 256 | + button.userInteractionEnabled = YES; | ||
| 257 | + __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 258 | + if(!strongSelf) return; | ||
| 259 | + [QMUITips hideAllToastInView:strongSelf.superview animated:YES]; | ||
| 260 | + [QMUITips showSucceed:@"验证码已发送" inView:strongSelf.superview hideAfterDelay:timeValue]; | ||
| 261 | + button.backgroundColor = [UIColor colorWithRed:222/255.0 green:222/255.0 blue:222/255.0 alpha:1.0]; | ||
| 262 | + button.frame = CGRectMake(self.frame.size.width-110, self.account.bottom+space+10, 110, rowHeight-10); | ||
| 263 | + [button setImage:nil forState:UIControlStateNormal]; | ||
| 264 | + NSString *title = [NSString stringWithFormat:@"%d秒后重新发送", 60]; | ||
| 265 | + [button setTitle:title forState:UIControlStateNormal]; | ||
| 266 | + [button startCountDown]; | ||
| 267 | + | ||
| 268 | + } failure:^(NSDictionary *errorDic) { | ||
| 269 | + button.userInteractionEnabled = YES; | ||
| 270 | + __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 271 | + if(!strongSelf) return; | ||
| 272 | + [QMUITips hideAllToastInView:strongSelf.superview animated:YES]; | ||
| 273 | + if ([errorDic[@"errorCode"] integerValue] == 408) { | ||
| 274 | + [QMUITips showError:@"请输入正确的手机号" inView:strongSelf.superview hideAfterDelay:timeValue]; | ||
| 275 | + }else{ | ||
| 276 | + [QMUITips showError:[errorDic objectForKey:@"errorMessage"] inView:strongSelf.superview hideAfterDelay:timeValue]; | ||
| 277 | + } | ||
| 278 | + | ||
| 279 | + }]; | ||
| 262 | 280 | ||
| 263 | } | 281 | } |
| 264 | 282 | ||
| @@ -287,45 +305,53 @@ static NSInteger const space = 20; | @@ -287,45 +305,53 @@ static NSInteger const space = 20; | ||
| 287 | //登录 | 305 | //登录 |
| 288 | _verificationCode = @"666666"; | 306 | _verificationCode = @"666666"; |
| 289 | if ([_account.text isEqualToString:@""]) { | 307 | if ([_account.text isEqualToString:@""]) { |
| 290 | -// [XWAlertView alertViewWithFlexTextMessage:@"请输入手机号" view:self.superview]; | 308 | + [QMUITips showError:@"请输入手机号" inView:self.superview hideAfterDelay:timeValue]; |
| 291 | return; | 309 | return; |
| 292 | } | 310 | } |
| 293 | if ([_code.text isEqualToString:@""]) { | 311 | if ([_code.text isEqualToString:@""]) { |
| 294 | -// [XWAlertView alertViewWithFlexTextMessage:@"请输入验证码" view:self.superview]; | 312 | + [QMUITips showError:@"请输入验证码" inView:self.superview hideAfterDelay:timeValue]; |
| 295 | return; | 313 | return; |
| 296 | } | 314 | } |
| 297 | btn.userInteractionEnabled = NO; | 315 | btn.userInteractionEnabled = NO; |
| 298 | // 隐藏键盘 | 316 | // 隐藏键盘 |
| 299 | [self.superview endEditing:YES]; | 317 | [self.superview endEditing:YES]; |
| 318 | + | ||
| 319 | + [QMUITips showLoading:@"登录中" inView:self.superview]; | ||
| 320 | + | ||
| 300 | __weak typeof(self) weakSelf = self; | 321 | __weak typeof(self) weakSelf = self; |
| 301 | -// [XWUserRequest shortcutLoginWithUserName:_account.text verificationCode:_verificationCode countryCode:_countryCode fromId:@"apple" success:^(id _Nonnull result) { | ||
| 302 | -// btn.userInteractionEnabled = YES; | ||
| 303 | -// __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 304 | -// if(!strongSelf) return; | ||
| 305 | -// [XWUserManager defaultConfiguration:result]; | ||
| 306 | -// // YES 新用户 NO 老用户 | ||
| 307 | -// BOOL isNewUser = YES; | ||
| 308 | -// if (strongSelf.delegate && [strongSelf.delegate respondsToSelector:@selector(loginSuccess:isNewUser:result:)]) { | ||
| 309 | -// [strongSelf.delegate loginSuccess:strongSelf isNewUser:isNewUser result:result]; | ||
| 310 | -// } | ||
| 311 | -// | ||
| 312 | -// } failure:^(NSDictionary * _Nonnull errorDic) { | ||
| 313 | -// btn.userInteractionEnabled = YES; | ||
| 314 | -// __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 315 | -// if(!strongSelf) return; | ||
| 316 | -//// [XWAlterView alertErrorViewWithTextMessage:@"登录失败" view:strongSelf.superview]; | ||
| 317 | -// | ||
| 318 | -// // ------ 最后删除 ------ | ||
| 319 | -// NSDictionary *dic = @{@"token":@"用户token",@"id":@"用户id",@"tel":@"17600922519",@"faceUrl":@"http://pic1.win4000.com/wallpaper/c/53cdd1f7c1f21.jpg",@"name":@"张璟熙",@"gender":@"0",@"address":@"北京市海淀区"}; | ||
| 320 | -// [XWUserManager defaultConfiguration:dic]; | ||
| 321 | -// BOOL isNewUser = YES; | ||
| 322 | -// if (strongSelf.delegate && [strongSelf.delegate respondsToSelector:@selector(loginSuccess:isNewUser:result:)]) { | ||
| 323 | -// [strongSelf.delegate loginSuccess:strongSelf isNewUser:isNewUser result:errorDic]; | ||
| 324 | -// } | ||
| 325 | -// // ------ 最后删除 ------ | ||
| 326 | -// | ||
| 327 | -// }]; | 322 | + [CNLiveUserSystemCenter shortcutLoginWithUserName:_account.text countryCode:_countryCode verificationCode:_code.text frmId:@"apple" success:^(id result) { |
| 323 | + btn.userInteractionEnabled = YES; | ||
| 324 | + __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 325 | + if(!strongSelf) return; | ||
| 326 | + // 连接IM | ||
| 327 | + [strongSelf connectionIM:result]; | ||
| 328 | + | ||
| 329 | + } failure:^(NSDictionary *errorDic) { | ||
| 330 | + btn.userInteractionEnabled = YES; | ||
| 331 | + __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 332 | + if(!strongSelf) return; | ||
| 333 | + [QMUITips hideAllToastInView:strongSelf.superview animated:YES]; | ||
| 334 | + [QMUITips showError:[errorDic objectForKey:@"errorMessage"] inView:strongSelf.superview hideAfterDelay:timeValue]; | ||
| 335 | + }]; | ||
| 336 | +} | ||
| 337 | + | ||
| 338 | +#pragma mark - 连接IM | ||
| 339 | +- (void)connectionIM:(id)result{ | ||
| 340 | + | ||
| 341 | + NSMutableDictionary *resDic = [NSMutableDictionary dictionaryWithDictionary:result[@"data"]]; | ||
| 342 | + NSString *deFaceUrl = [resDic objectForKey:@"faceUrl"]; | ||
| 343 | + NSString *faceUrl = @""; | ||
| 344 | + if ([deFaceUrl containsString:@"/mobile/images/mobilehead/default/"]) { | ||
| 345 | + faceUrl = CNLiveNetAddDefaultHead;//网家家默认头像地址 | ||
| 346 | + [resDic setValue:faceUrl forKey:@"faceUrl"]; | ||
| 347 | + } | ||
| 348 | + [CNUserInfoManager saveUserinfoDic:resDic]; | ||
| 328 | 349 | ||
| 350 | + // YES 新用户 NO 老用户 | ||
| 351 | + BOOL isNewUser = YES; | ||
| 352 | + if (self.delegate && [self.delegate respondsToSelector:@selector(loginSuccess:isNewUser:result:)]) { | ||
| 353 | + [self.delegate loginSuccess:self isNewUser:isNewUser result:result]; | ||
| 354 | + } | ||
| 329 | } | 355 | } |
| 330 | 356 | ||
| 331 | /** | 357 | /** |
Example/CNLiveLoginModule.xcodeproj/project.pbxproj
| @@ -208,6 +208,7 @@ | @@ -208,6 +208,7 @@ | ||
| 208 | 6003F587195388D20070C39A /* Frameworks */, | 208 | 6003F587195388D20070C39A /* Frameworks */, |
| 209 | 6003F588195388D20070C39A /* Resources */, | 209 | 6003F588195388D20070C39A /* Resources */, |
| 210 | CA7AE7B7AD9C2BF31675019E /* [CP] Embed Pods Frameworks */, | 210 | CA7AE7B7AD9C2BF31675019E /* [CP] Embed Pods Frameworks */, |
| 211 | + 52D60AE0F4D44D07B879A8CD /* [CP] Copy Pods Resources */, | ||
| 211 | ); | 212 | ); |
| 212 | buildRules = ( | 213 | buildRules = ( |
| 213 | ); | 214 | ); |
| @@ -247,6 +248,9 @@ | @@ -247,6 +248,9 @@ | ||
| 247 | LastUpgradeCheck = 0720; | 248 | LastUpgradeCheck = 0720; |
| 248 | ORGANIZATIONNAME = "153993236@qq.com"; | 249 | ORGANIZATIONNAME = "153993236@qq.com"; |
| 249 | TargetAttributes = { | 250 | TargetAttributes = { |
| 251 | + 6003F589195388D20070C39A = { | ||
| 252 | + DevelopmentTeam = 94X49GG3ZW; | ||
| 253 | + }; | ||
| 250 | 6003F5AD195388D20070C39A = { | 254 | 6003F5AD195388D20070C39A = { |
| 251 | TestTargetID = 6003F589195388D20070C39A; | 255 | TestTargetID = 6003F589195388D20070C39A; |
| 252 | }; | 256 | }; |
| @@ -317,6 +321,24 @@ | @@ -317,6 +321,24 @@ | ||
| 317 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | 321 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; |
| 318 | showEnvVarsInLog = 0; | 322 | showEnvVarsInLog = 0; |
| 319 | }; | 323 | }; |
| 324 | + 52D60AE0F4D44D07B879A8CD /* [CP] Copy Pods Resources */ = { | ||
| 325 | + isa = PBXShellScriptBuildPhase; | ||
| 326 | + buildActionMask = 2147483647; | ||
| 327 | + files = ( | ||
| 328 | + ); | ||
| 329 | + inputPaths = ( | ||
| 330 | + "${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-resources.sh", | ||
| 331 | + "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveLoginModule/CNLiveLoginModule.bundle", | ||
| 332 | + ); | ||
| 333 | + name = "[CP] Copy Pods Resources"; | ||
| 334 | + outputPaths = ( | ||
| 335 | + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveLoginModule.bundle", | ||
| 336 | + ); | ||
| 337 | + runOnlyForDeploymentPostprocessing = 0; | ||
| 338 | + shellPath = /bin/sh; | ||
| 339 | + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-resources.sh\"\n"; | ||
| 340 | + showEnvVarsInLog = 0; | ||
| 341 | + }; | ||
| 320 | C744CFA8914B761288845DE6 /* [CP] Check Pods Manifest.lock */ = { | 342 | C744CFA8914B761288845DE6 /* [CP] Check Pods Manifest.lock */ = { |
| 321 | isa = PBXShellScriptBuildPhase; | 343 | isa = PBXShellScriptBuildPhase; |
| 322 | buildActionMask = 2147483647; | 344 | buildActionMask = 2147483647; |
| @@ -346,10 +368,14 @@ | @@ -346,10 +368,14 @@ | ||
| 346 | ); | 368 | ); |
| 347 | inputPaths = ( | 369 | inputPaths = ( |
| 348 | "${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-frameworks.sh", | 370 | "${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-frameworks.sh", |
| 371 | + "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", | ||
| 349 | "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework", | 372 | "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework", |
| 350 | "${BUILT_PRODUCTS_DIR}/CNLiveChooseCountry/CNLiveChooseCountry.framework", | 373 | "${BUILT_PRODUCTS_DIR}/CNLiveChooseCountry/CNLiveChooseCountry.framework", |
| 351 | - "${BUILT_PRODUCTS_DIR}/CNLiveLoginModule/CNLiveLoginModule.framework", | 374 | + "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework", |
| 375 | + "${BUILT_PRODUCTS_DIR}/CNLiveManager/CNLiveManager.framework", | ||
| 376 | + "${BUILT_PRODUCTS_DIR}/CNLiveRequestBastKit/CNLiveRequestBastKit.framework", | ||
| 352 | "${BUILT_PRODUCTS_DIR}/CNLiveTripartiteManagement/CNLiveTripartiteManagement.framework", | 377 | "${BUILT_PRODUCTS_DIR}/CNLiveTripartiteManagement/CNLiveTripartiteManagement.framework", |
| 378 | + "${BUILT_PRODUCTS_DIR}/CNLiveUserAgreementManager/CNLiveUserAgreementManager.framework", | ||
| 353 | "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework", | 379 | "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework", |
| 354 | "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework", | 380 | "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework", |
| 355 | "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework", | 381 | "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework", |
| @@ -359,10 +385,14 @@ | @@ -359,10 +385,14 @@ | ||
| 359 | ); | 385 | ); |
| 360 | name = "[CP] Embed Pods Frameworks"; | 386 | name = "[CP] Embed Pods Frameworks"; |
| 361 | outputPaths = ( | 387 | outputPaths = ( |
| 388 | + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", | ||
| 362 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework", | 389 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework", |
| 363 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveChooseCountry.framework", | 390 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveChooseCountry.framework", |
| 364 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveLoginModule.framework", | 391 | + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework", |
| 392 | + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveManager.framework", | ||
| 393 | + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveRequestBastKit.framework", | ||
| 365 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveTripartiteManagement.framework", | 394 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveTripartiteManagement.framework", |
| 395 | + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserAgreementManager.framework", | ||
| 366 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework", | 396 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework", |
| 367 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework", | 397 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework", |
| 368 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework", | 398 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework", |
| @@ -512,6 +542,7 @@ | @@ -512,6 +542,7 @@ | ||
| 512 | baseConfigurationReference = C494A15D22758133566EFE1A /* Pods-CNLiveLoginModule_Example.debug.xcconfig */; | 542 | baseConfigurationReference = C494A15D22758133566EFE1A /* Pods-CNLiveLoginModule_Example.debug.xcconfig */; |
| 513 | buildSettings = { | 543 | buildSettings = { |
| 514 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 544 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
| 545 | + DEVELOPMENT_TEAM = 94X49GG3ZW; | ||
| 515 | GCC_PRECOMPILE_PREFIX_HEADER = YES; | 546 | GCC_PRECOMPILE_PREFIX_HEADER = YES; |
| 516 | GCC_PREFIX_HEADER = "CNLiveLoginModule/CNLiveLoginModule-Prefix.pch"; | 547 | GCC_PREFIX_HEADER = "CNLiveLoginModule/CNLiveLoginModule-Prefix.pch"; |
| 517 | INFOPLIST_FILE = "CNLiveLoginModule/CNLiveLoginModule-Info.plist"; | 548 | INFOPLIST_FILE = "CNLiveLoginModule/CNLiveLoginModule-Info.plist"; |
| @@ -528,6 +559,7 @@ | @@ -528,6 +559,7 @@ | ||
| 528 | baseConfigurationReference = 11F04E11320E8360C5B3A0D7 /* Pods-CNLiveLoginModule_Example.release.xcconfig */; | 559 | baseConfigurationReference = 11F04E11320E8360C5B3A0D7 /* Pods-CNLiveLoginModule_Example.release.xcconfig */; |
| 529 | buildSettings = { | 560 | buildSettings = { |
| 530 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 561 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
| 562 | + DEVELOPMENT_TEAM = 94X49GG3ZW; | ||
| 531 | GCC_PRECOMPILE_PREFIX_HEADER = YES; | 563 | GCC_PRECOMPILE_PREFIX_HEADER = YES; |
| 532 | GCC_PREFIX_HEADER = "CNLiveLoginModule/CNLiveLoginModule-Prefix.pch"; | 564 | GCC_PREFIX_HEADER = "CNLiveLoginModule/CNLiveLoginModule-Prefix.pch"; |
| 533 | INFOPLIST_FILE = "CNLiveLoginModule/CNLiveLoginModule-Info.plist"; | 565 | INFOPLIST_FILE = "CNLiveLoginModule/CNLiveLoginModule-Info.plist"; |
Example/CNLiveLoginModule/CNLIVEAppDelegate.m
| @@ -9,13 +9,48 @@ | @@ -9,13 +9,48 @@ | ||
| 9 | #import "CNLIVEAppDelegate.h" | 9 | #import "CNLIVEAppDelegate.h" |
| 10 | #import "CNLiveLoginController.h" | 10 | #import "CNLiveLoginController.h" |
| 11 | 11 | ||
| 12 | +#import "CNUserInfoManager.h" | ||
| 13 | +#import "CNLiveEnvironment.h" | ||
| 14 | +#import <CNLiveUserSystemSDK/CNLiveUserSystemCenter.h> | ||
| 15 | +#import <CNLiveRequestBastKit/CNLiveNetworking.h> | ||
| 16 | + | ||
| 12 | @implementation CNLIVEAppDelegate | 17 | @implementation CNLIVEAppDelegate |
| 13 | 18 | ||
| 14 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | 19 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions |
| 15 | { | 20 | { |
| 16 | // Override point for customization after application launch. | 21 | // Override point for customization after application launch. |
| 17 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];//UIScreen mainScreen].bounds个人理解获取屏幕的硬件信息然后设置尺寸大小 | 22 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];//UIScreen mainScreen].bounds个人理解获取屏幕的硬件信息然后设置尺寸大小 |
| 23 | + | ||
| 24 | + [CNLiveEnvironmentManager setEnvironment:CNLiveProductionAppStore]; | ||
| 25 | + [CNLiveUserSystemCenter setAppId:AppId appKey:APPKey appSecret:AppSecret isTestEnvironment:TestEnvironment]; | ||
| 26 | + if ([CNUserShareManager isLogin]) { | ||
| 27 | + [CNLiveUserSystemCenter setUserId:CNUserShareModel.uid]; | ||
| 28 | + } | ||
| 29 | + [self networkParamAction]; | ||
| 30 | + | ||
| 31 | +// [CNUserInfoManager saveUserinfoDic:@{ | ||
| 32 | +// @"bigFaceUrl":@"http://yweb0.cnliveimg.com/images/headImg/2019/1030/1572439148697.jpg", | ||
| 33 | +// @"countryCode":@"86", | ||
| 34 | +// @"email":@"", | ||
| 35 | +// @"extInfo":@"", | ||
| 36 | +// @"faceUrl":@"http://yweb0.cnliveimg.com/images/headImg/2019/1030/1572439148697_small.jpg", | ||
| 37 | +// @"gender":@"m", | ||
| 38 | +// @"hUid":@"", | ||
| 39 | +// @"isNewUser":@"0", | ||
| 40 | +// @"location":@"北京市海淀区", | ||
| 41 | +// @"mobile":@"17600922519", | ||
| 42 | +// @"nickName":@"金帝", | ||
| 43 | +// @"platformId":@"769_jetj7bq525", | ||
| 44 | +// @"qqUid":@"", | ||
| 45 | +// @"renrenUid":@"", | ||
| 46 | +// @"sinaUid":@"", | ||
| 47 | +// @"token":@"RkFYeLkl/u5S7tW8UcOkT3rfLTP/Ua8NIkdEsKlcolvl/yxTMNbAYXmmJyhKGpkj", | ||
| 48 | +// @"uid":@"10514405", | ||
| 49 | +// @"wxUid":@"" | ||
| 50 | +// }]; | ||
| 51 | + | ||
| 18 | CNLiveLoginController *vc = [[CNLiveLoginController alloc] init]; | 52 | CNLiveLoginController *vc = [[CNLiveLoginController alloc] init]; |
| 53 | +// vc.isShowClose = YES; | ||
| 19 | UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:vc]; | 54 | UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:vc]; |
| 20 | self.window.rootViewController = nav;//设置根视图控制器 | 55 | self.window.rootViewController = nav;//设置根视图控制器 |
| 21 | [self.window makeKeyAndVisible];//设置成为 | 56 | [self.window makeKeyAndVisible];//设置成为 |
| @@ -49,4 +84,22 @@ | @@ -49,4 +84,22 @@ | ||
| 49 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. | 84 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. |
| 50 | } | 85 | } |
| 51 | 86 | ||
| 87 | +- (void)networkParamAction{ | ||
| 88 | + NSMutableDictionary * mDict = [[NSMutableDictionary alloc] init]; | ||
| 89 | + [mDict setValue:@"10514405" forKey:@"loginSid"]; | ||
| 90 | + | ||
| 91 | + [mDict setValue:BundleId forKey:@"platform_id"]; | ||
| 92 | + | ||
| 93 | + [mDict setValue:[[[[UIDevice currentDevice] identifierForVendor] UUIDString] stringByReplacingOccurrencesOfString:@"-" withString:@""] forKey:@"uuid"]; | ||
| 94 | + [mDict setValue:@"i" forKey:@"plat"]; | ||
| 95 | + [mDict setValue:@"1.7.8.19.10.30.15"forKey:@"ver"]; | ||
| 96 | + [mDict setObject:AppId forKey:@"appId"]; | ||
| 97 | + [CNLiveNetworking setupDefaultParam:mDict]; | ||
| 98 | + [CNLiveNetworking setupShowResult:NO]; | ||
| 99 | + [CNLiveNetworking setupSignKey:APPKey]; | ||
| 100 | + [CNLiveNetworking setAllowRequestDefaultArgument:YES]; | ||
| 101 | + [CNLiveNetworking setResponseSerializerType:CNLiveResponseSerializerJSON]; | ||
| 102 | + | ||
| 103 | +} | ||
| 104 | + | ||
| 52 | @end | 105 | @end |