Commit 7a421df265a5357f1192390de34aef3a97648466

Authored by zhangxiaowen
1 parent 6fabb5dc

no message

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