Commit 478ad8487ecc28a31b097660f24280b87bec243b
1 parent
25afb7ad
根据主工程交互修改
Showing
12 changed files
with
14 additions
and
876 deletions
CNLiveCMineModule.podspec
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | 8 | ||
| 9 | Pod::Spec.new do |s| | 9 | Pod::Spec.new do |s| |
| 10 | s.name = 'CNLiveCMineModule' | 10 | s.name = 'CNLiveCMineModule' |
| 11 | - s.version = '0.1.2' | 11 | + s.version = '0.1.3' |
| 12 | s.summary = '网家家C端个人中心' | 12 | s.summary = '网家家C端个人中心' |
| 13 | 13 | ||
| 14 | # This description is used to generate tags and improve search results. | 14 | # This description is used to generate tags and improve search results. |
CNLiveCMineModule/Classes/CNCSubMine/Model/CNBindingManageModel.h deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNBindingManageModel.h | ||
| 3 | -// CNLiveNetAdd | ||
| 4 | -// | ||
| 5 | -// Created by CNLive-zxw on 2019/9/10. | ||
| 6 | -// Copyright © 2019 cnlive. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import <Foundation/Foundation.h> | ||
| 10 | - | ||
| 11 | -//登录返回类型 | ||
| 12 | -typedef enum : NSUInteger { | ||
| 13 | - CNLiveSendAuthRespWX, | ||
| 14 | - CNLiveSendAuthRespQQ, | ||
| 15 | - CNLiveSendAuthRespWB, | ||
| 16 | - CNLiveSendAuthRespApple | ||
| 17 | -} CNLiveSendAuthResp; | ||
| 18 | - | ||
| 19 | -NS_ASSUME_NONNULL_BEGIN | ||
| 20 | - | ||
| 21 | -@interface CNBindingManageModel : NSObject | ||
| 22 | -@property (nonatomic, copy) NSString *title; | ||
| 23 | -@property (nonatomic, copy) NSString *desc; | ||
| 24 | -@property (nonatomic, copy) NSString *image; | ||
| 25 | -@property (nonatomic, copy) NSString *isBinding;//是否绑定 | ||
| 26 | - | ||
| 27 | -@property (nonatomic, copy) NSString *thirdPartyPlat; | ||
| 28 | -@property (nonatomic, copy) NSString *thirdPartyId; | ||
| 29 | -@property (nonatomic, assign) CNLiveSendAuthResp type; | ||
| 30 | - | ||
| 31 | - | ||
| 32 | -@end | ||
| 33 | - | ||
| 34 | -@interface CNThreeLoginModel : NSObject | ||
| 35 | -/* | ||
| 36 | - mobile true string 手机号 | ||
| 37 | - countryCode true string 手机号国家码;中国为86 | ||
| 38 | - verificationCode true string 手机验证码 | ||
| 39 | - thirdPartyPlat true int 第三方平台编号 [platform : 1:sina 2:qq 3:weixin 4:renren] | ||
| 40 | - thirdPartyId true string 第三方用户ID | ||
| 41 | - [qq: 建议使用openid, wx: 建议使用unionid, sina: 建议使用idstr]; | ||
| 42 | - 注意:同一用户在登录Sp下不同app时,thirdPartyId必须相同 | ||
| 43 | - | ||
| 44 | - frmId true string 渠道ID | ||
| 45 | - clientPlat true string 客户端平台[i:IOS客户端,a:Android客户端, w: 网页] | ||
| 46 | - nickName true string 用户昵称 | ||
| 47 | - gender false string 性别,m:男、f:女、n:未知 | ||
| 48 | - location false string 用户所在地 | ||
| 49 | - faceUrl false string 头像,约100*100 | ||
| 50 | - */ | ||
| 51 | - | ||
| 52 | -@property (nonatomic, copy) NSString *countryName; | ||
| 53 | -@property (nonatomic, copy) NSString *countryCode; | ||
| 54 | -@property (nonatomic, copy) NSString *thirdPartyPlat; | ||
| 55 | -@property (nonatomic, copy) NSString *thirdPartyId; | ||
| 56 | -@property (nonatomic, copy) NSString *frmId; | ||
| 57 | - | ||
| 58 | -@property (nonatomic, copy) NSString *nickName; | ||
| 59 | -@property (nonatomic, copy) NSString *gender; | ||
| 60 | -@property (nonatomic, copy) NSString *location; | ||
| 61 | -@property (nonatomic, copy) NSString *faceUrl; | ||
| 62 | - | ||
| 63 | -@property (nonatomic, assign) CNLiveSendAuthResp type; | ||
| 64 | - | ||
| 65 | -@end | ||
| 66 | - | ||
| 67 | -NS_ASSUME_NONNULL_END |
CNLiveCMineModule/Classes/CNCSubMine/Model/CNBindingManageModel.m deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNBindingManageModel.m | ||
| 3 | -// CNLiveNetAdd | ||
| 4 | -// | ||
| 5 | -// Created by CNLive-zxw on 2019/9/10. | ||
| 6 | -// Copyright © 2019 cnlive. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import "CNBindingManageModel.h" | ||
| 10 | - | ||
| 11 | -@implementation CNBindingManageModel | ||
| 12 | -- (CNLiveSendAuthResp)type{ | ||
| 13 | - CNLiveSendAuthResp type = CNLiveSendAuthRespWX; | ||
| 14 | - | ||
| 15 | - if([self.thirdPartyPlat isEqualToString:@"1"]){ | ||
| 16 | - type = CNLiveSendAuthRespWB; | ||
| 17 | - | ||
| 18 | - }else if ([self.thirdPartyPlat isEqualToString:@"2"]){ | ||
| 19 | - type = CNLiveSendAuthRespQQ; | ||
| 20 | - | ||
| 21 | - }else if([self.thirdPartyPlat isEqualToString:@"3"]){ | ||
| 22 | - type = CNLiveSendAuthRespWX; | ||
| 23 | - | ||
| 24 | - }else if([self.thirdPartyPlat isEqualToString:@"5"]){ | ||
| 25 | - type = CNLiveSendAuthRespApple; | ||
| 26 | - | ||
| 27 | - } | ||
| 28 | - return type; | ||
| 29 | - | ||
| 30 | -} | ||
| 31 | - | ||
| 32 | -@end | ||
| 33 | - | ||
| 34 | -@implementation CNThreeLoginModel | ||
| 35 | - | ||
| 36 | -- (CNLiveSendAuthResp)type{ | ||
| 37 | - CNLiveSendAuthResp type = CNLiveSendAuthRespWX; | ||
| 38 | - | ||
| 39 | - if([self.thirdPartyPlat isEqualToString:@"1"]){ | ||
| 40 | - type = CNLiveSendAuthRespWB; | ||
| 41 | - | ||
| 42 | - }else if ([self.thirdPartyPlat isEqualToString:@"2"]){ | ||
| 43 | - type = CNLiveSendAuthRespQQ; | ||
| 44 | - | ||
| 45 | - }else if([self.thirdPartyPlat isEqualToString:@"3"]){ | ||
| 46 | - type = CNLiveSendAuthRespWX; | ||
| 47 | - | ||
| 48 | - }else if([self.thirdPartyPlat isEqualToString:@"5"]){ | ||
| 49 | - type = CNLiveSendAuthRespApple; | ||
| 50 | - | ||
| 51 | - } | ||
| 52 | - return type; | ||
| 53 | - | ||
| 54 | -} | ||
| 55 | - | ||
| 56 | -@end |
CNLiveCMineModule/Classes/CNCSubMine/Present/CNCSubMinePresent.h
| @@ -7,11 +7,9 @@ | @@ -7,11 +7,9 @@ | ||
| 7 | 7 | ||
| 8 | #import <Foundation/Foundation.h> | 8 | #import <Foundation/Foundation.h> |
| 9 | #import "CNMySettingListModel.h" | 9 | #import "CNMySettingListModel.h" |
| 10 | -#import "CNBindingManageModel.h" | ||
| 11 | 10 | ||
| 12 | NS_ASSUME_NONNULL_BEGIN | 11 | NS_ASSUME_NONNULL_BEGIN |
| 13 | typedef void(^RequestCompleted) (BOOL isSuccess, NSString *desc, NSString *score); | 12 | typedef void(^RequestCompleted) (BOOL isSuccess, NSString *desc, NSString *score); |
| 14 | -typedef void (^CNBindingResponseBlock)(BOOL isSuccess, CNBindingManageModel * _Nullable model, BOOL isBinding); | ||
| 15 | typedef void (^CNBindingArrayBlock)(NSArray * _Nullable bindingData, NSArray * _Nullable unBindingData); | 13 | typedef void (^CNBindingArrayBlock)(NSArray * _Nullable bindingData, NSArray * _Nullable unBindingData); |
| 16 | typedef void (^CNLoginResponseBlock)(NSURLSessionTask *requestTask, id responseObject, NSError *error); | 14 | typedef void (^CNLoginResponseBlock)(NSURLSessionTask *requestTask, id responseObject, NSError *error); |
| 17 | @interface CNCSubMinePresent : NSObject | 15 | @interface CNCSubMinePresent : NSObject |
| @@ -59,29 +57,9 @@ typedef void (^CNLoginResponseBlock)(NSURLSessionTask *requestTask, id responseO | @@ -59,29 +57,9 @@ typedef void (^CNLoginResponseBlock)(NSURLSessionTask *requestTask, id responseO | ||
| 59 | /// @param statue 状态 | 57 | /// @param statue 状态 |
| 60 | +(void)showWithScoreViewForScoreIntergal:(NSString *)scoreIntergal Statue:(BOOL)statue SuperView:(UIViewController *)superView; | 58 | +(void)showWithScoreViewForScoreIntergal:(NSString *)scoreIntergal Statue:(BOOL)statue SuperView:(UIViewController *)superView; |
| 61 | 59 | ||
| 62 | -/** | ||
| 63 | - * @abstract 绑定/解除绑定 | ||
| 64 | - * | ||
| 65 | - * @param model 模型 | ||
| 66 | - * @param block 回调 | ||
| 67 | - */ | ||
| 68 | -+ (void)requestModel:(CNBindingManageModel *)model block:(CNBindingResponseBlock)block; | ||
| 69 | - | ||
| 70 | -/** | ||
| 71 | - * @abstract 获取绑定数据 | ||
| 72 | - * | ||
| 73 | - * @param block 回调 | ||
| 74 | - */ | ||
| 75 | -+ (void)requestModels:(CNBindingArrayBlock)block; | ||
| 76 | - | ||
| 77 | -/** | ||
| 78 | - * @abstract 三方登录 | ||
| 79 | - * | ||
| 80 | - * @param type 三方类型 | ||
| 81 | - * @param model 模型 | ||
| 82 | - * @param block 回调 | ||
| 83 | - */ | ||
| 84 | -+ (void)thirdPartyLoginWithType:(CNLiveSendAuthResp)type model:(CNThreeLoginModel *)model block:(CNLoginResponseBlock)block; | 60 | + |
| 61 | + | ||
| 62 | + | ||
| 85 | @end | 63 | @end |
| 86 | 64 | ||
| 87 | NS_ASSUME_NONNULL_END | 65 | NS_ASSUME_NONNULL_END |
CNLiveCMineModule/Classes/CNCSubMine/Present/CNCSubMinePresent.m
| @@ -485,253 +485,4 @@ | @@ -485,253 +485,4 @@ | ||
| 485 | [mainView removeFromSuperview]; | 485 | [mainView removeFromSuperview]; |
| 486 | }); | 486 | }); |
| 487 | } | 487 | } |
| 488 | -+ (void)requestModel:(CNBindingManageModel *)model block:(CNBindingResponseBlock)block{ | ||
| 489 | - if([model.isBinding isEqualToString:@"1"]){ | ||
| 490 | - //解除绑定操作 | ||
| 491 | - [CNCSubMinePresent requestUnBindingModel:model block:^(BOOL isSuccess, CNBindingManageModel * _Nullable model, BOOL isBinding) { | ||
| 492 | - block?block(isSuccess, model, isBinding):@""; | ||
| 493 | - }]; | ||
| 494 | - } | ||
| 495 | - else{ | ||
| 496 | - //绑定操作 | ||
| 497 | - [CNCSubMinePresent requestBindingModel:model block:^(BOOL isSuccess, CNBindingManageModel * _Nullable model, BOOL isBinding) { | ||
| 498 | - block?block(isSuccess, model, isBinding):@""; | ||
| 499 | - }]; | ||
| 500 | - } | ||
| 501 | -} | ||
| 502 | - | ||
| 503 | -//绑定操作 | ||
| 504 | -+ (void)requestBindingModel:(CNBindingManageModel *)model block:(CNBindingResponseBlock)block{ | ||
| 505 | - weakself | ||
| 506 | - [[CNLiveCMineService shareMineProtocol] requestBindingModel:[model mj_keyValues].copy block:^(CNBindingManageModel * _Nullable model) { | ||
| 507 | - [weakSelf sendBindingModel:model block:block]; | ||
| 508 | - }]; | ||
| 509 | -} | ||
| 510 | - | ||
| 511 | -+ (void)sendBindingModel:(CNBindingManageModel *)model block:(CNBindingResponseBlock)block{ | ||
| 512 | - NSDictionary *params = @{ | ||
| 513 | - @"uid":CNUserShareModel.uid?CNUserShareModel.uid:@"", | ||
| 514 | - @"thirdPartyPlat":model.thirdPartyPlat?model.thirdPartyPlat:@"", | ||
| 515 | - @"thirdPartyId":model.thirdPartyId?model.thirdPartyId:@"", | ||
| 516 | - @"token":CNUserShareModel.token?CNUserShareModel.token:@"", | ||
| 517 | - @"clientPlat":@"i"}; | ||
| 518 | - [CNLiveNetworking setAllowRequestDefaultArgument:YES]; | ||
| 519 | - [CNLiveNetworking setupShowDataResult:NO]; | ||
| 520 | - | ||
| 521 | - __weak typeof(self) weakSelf = self; | ||
| 522 | - [CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodPOST URLString:CNLoginBind3rdUrl Param:params CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) { | ||
| 523 | - __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 524 | - if(!strongSelf) return; | ||
| 525 | - | ||
| 526 | - if ([responseObject isKindOfClass:[NSDictionary class]] && [responseObject[@"errorCode"] isEqualToString:@"0"]) { | ||
| 527 | - //绑定,并更新本地数据 | ||
| 528 | - CNBindingManageModel *bindingModel = [strongSelf updateBindingModel:model isBinding:@"1"]; | ||
| 529 | - block?block(YES, bindingModel, YES):@""; | ||
| 530 | - } | ||
| 531 | - else if([responseObject isKindOfClass:[NSDictionary class]]) { | ||
| 532 | - [QMUITips showWithText:responseObject[@"errorMessage"] inView:AppKeyWindow hideAfterDelay:1.5]; | ||
| 533 | - block?block(NO, nil, NO):@""; | ||
| 534 | - } | ||
| 535 | - else{ | ||
| 536 | - [QMUITips showWithText:@"绑定失败" inView:AppKeyWindow hideAfterDelay:1.5]; | ||
| 537 | - block?block(NO, nil, NO):@""; | ||
| 538 | - } | ||
| 539 | - | ||
| 540 | - }]; | ||
| 541 | -} | ||
| 542 | - | ||
| 543 | -//解除绑定操作 | ||
| 544 | -+ (void)requestUnBindingModel:(CNBindingManageModel *)model block:(CNBindingResponseBlock)block{ | ||
| 545 | - NSDictionary *params = @{ | ||
| 546 | - @"uid":CNUserShareModel.uid?CNUserShareModel.uid:@"", | ||
| 547 | - @"thirdPartyPlat":model.thirdPartyPlat?model.thirdPartyPlat:@"", | ||
| 548 | - @"thirdPartyId":model.thirdPartyId?model.thirdPartyId:@"", | ||
| 549 | - @"token":CNUserShareModel.token?CNUserShareModel.token:@"", | ||
| 550 | - @"clientPlat":@"i"}; | ||
| 551 | - | ||
| 552 | - [CNLiveNetworking setAllowRequestDefaultArgument:YES]; | ||
| 553 | - [CNLiveNetworking setupShowDataResult:NO]; | ||
| 554 | - | ||
| 555 | - __weak typeof(self) weakSelf = self; | ||
| 556 | - [CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodPOST URLString:CNLoginUnBind3rdUrl Param:params CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) { | ||
| 557 | - __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 558 | - if(!strongSelf) return; | ||
| 559 | - | ||
| 560 | - if ([responseObject isKindOfClass:[NSDictionary class]] && [responseObject[@"errorCode"] isEqualToString:@"0"]) { | ||
| 561 | - //解除绑定,并更新本地数据 | ||
| 562 | - CNBindingManageModel *unbindingModel = [strongSelf updateBindingModel:model isBinding:@"0"]; | ||
| 563 | - block?block(YES, unbindingModel, NO):@""; | ||
| 564 | - } | ||
| 565 | - else if ([responseObject isKindOfClass:[NSDictionary class]]) { | ||
| 566 | - [QMUITips showWithText:responseObject[@"errorMessage"] inView:AppKeyWindow hideAfterDelay:1.5]; | ||
| 567 | - block?block(NO, nil, NO):@""; | ||
| 568 | - } | ||
| 569 | - else{ | ||
| 570 | - [QMUITips showWithText:@"解除绑定失败" inView:AppKeyWindow hideAfterDelay:1.5]; | ||
| 571 | - block?block(NO, nil, NO):@""; | ||
| 572 | - } | ||
| 573 | - | ||
| 574 | - }]; | ||
| 575 | - | ||
| 576 | -} | ||
| 577 | - | ||
| 578 | -//改变绑定数据 | ||
| 579 | -+ (CNBindingManageModel *)updateBindingModel:(CNBindingManageModel *)model isBinding:(NSString *)isBinding{ | ||
| 580 | - if([isBinding isEqualToString:@"0"]){ | ||
| 581 | - //解除绑定 | ||
| 582 | - model.isBinding = @"0"; | ||
| 583 | - //微博 | ||
| 584 | - if([model.thirdPartyPlat isEqualToString:@"1"]){ | ||
| 585 | - CNUserShareModel.sinaUid = @""; | ||
| 586 | - | ||
| 587 | - } | ||
| 588 | |||
| 589 | - else if([model.thirdPartyPlat isEqualToString:@"2"]){ | ||
| 590 | - CNUserShareModel.qqUid = @""; | ||
| 591 | - | ||
| 592 | - } | ||
| 593 | - //微信 | ||
| 594 | - else if([model.thirdPartyPlat isEqualToString:@"3"]){ | ||
| 595 | - CNUserShareModel.wxUid = @""; | ||
| 596 | - | ||
| 597 | - } | ||
| 598 | - //苹果 | ||
| 599 | - else if([model.thirdPartyPlat isEqualToString:@"5"]){ | ||
| 600 | - CNUserShareModel.appleUid = @""; | ||
| 601 | - | ||
| 602 | - } | ||
| 603 | - [QMUITips showWithText:@"解除绑定成功" inView:AppKeyWindow hideAfterDelay:1.5]; | ||
| 604 | - return model; | ||
| 605 | - } | ||
| 606 | - else if ([isBinding isEqualToString:@"1"]){ | ||
| 607 | - //添加绑定 | ||
| 608 | - model.isBinding = @"1"; | ||
| 609 | - //微博 | ||
| 610 | - if([model.thirdPartyPlat isEqualToString:@"1"]){ | ||
| 611 | - CNUserShareModel.sinaUid = model.thirdPartyId; | ||
| 612 | - | ||
| 613 | - } | ||
| 614 | |||
| 615 | - else if([model.thirdPartyPlat isEqualToString:@"2"]){ | ||
| 616 | - CNUserShareModel.qqUid = model.thirdPartyId; | ||
| 617 | - | ||
| 618 | - } | ||
| 619 | - //微信 | ||
| 620 | - else if([model.thirdPartyPlat isEqualToString:@"3"]){ | ||
| 621 | - CNUserShareModel.wxUid = model.thirdPartyId; | ||
| 622 | - | ||
| 623 | - } | ||
| 624 | - //苹果 | ||
| 625 | - else if([model.thirdPartyPlat isEqualToString:@"5"]){ | ||
| 626 | - CNUserShareModel.appleUid = model.thirdPartyId; | ||
| 627 | - | ||
| 628 | - } | ||
| 629 | - [QMUITips showWithText:@"绑定成功" inView:AppKeyWindow hideAfterDelay:1.5]; | ||
| 630 | - return model; | ||
| 631 | - | ||
| 632 | - } | ||
| 633 | - return nil; | ||
| 634 | - | ||
| 635 | -} | ||
| 636 | - | ||
| 637 | -//请求绑定数据 | ||
| 638 | -+ (void)requestModels:(CNBindingArrayBlock)block{ | ||
| 639 | - NSMutableArray *bindingData = [[NSMutableArray alloc] init]; | ||
| 640 | - NSMutableArray *unBindingData = [[NSMutableArray alloc] init]; | ||
| 641 | - CNBindingManageModel *tmodel = [[CNBindingManageModel alloc]init]; | ||
| 642 | - tmodel.title = @"手机号"; | ||
| 643 | - tmodel.image = @"c_mine_login_telephone"; | ||
| 644 | - if(CNUserShareModel.mobile&&![CNUserShareModel.mobile isEqualToString:@""]){ | ||
| 645 | - if (CNUserShareModel.mobile.length > 10) { | ||
| 646 | - NSString *mobile = [CNUserShareModel.mobile stringByReplacingCharactersInRange:NSMakeRange(3, 4) withString:@"****"]; | ||
| 647 | - tmodel.desc = mobile; | ||
| 648 | - } | ||
| 649 | - tmodel.thirdPartyId = CNUserShareModel.qqUid; | ||
| 650 | - tmodel.isBinding = @"1"; | ||
| 651 | - }else{ | ||
| 652 | - tmodel.desc = @"未绑定手机号"; | ||
| 653 | - tmodel.isBinding = @"0"; | ||
| 654 | - } | ||
| 655 | - tmodel.thirdPartyPlat = @"10"; | ||
| 656 | - tmodel.thirdPartyId = CNUserShareModel.uid; | ||
| 657 | - [bindingData addObject:tmodel]; | ||
| 658 | - | ||
| 659 | - CNBindingManageModel *wmodel = [[CNBindingManageModel alloc]init]; | ||
| 660 | - wmodel.title = @"微信"; | ||
| 661 | - wmodel.image = @"c_mine_login_wechat"; | ||
| 662 | - wmodel.thirdPartyPlat = @"3"; | ||
| 663 | - | ||
| 664 | - if(CNUserShareModel.wxUid&&![CNUserShareModel.wxUid isEqualToString:@""]){ | ||
| 665 | - wmodel.desc = @"已绑定微信"; | ||
| 666 | - wmodel.thirdPartyId = CNUserShareModel.wxUid; | ||
| 667 | - wmodel.isBinding = @"1"; | ||
| 668 | - }else{ | ||
| 669 | - wmodel.desc = @"未绑定微信"; | ||
| 670 | - wmodel.isBinding = @"0"; | ||
| 671 | - } | ||
| 672 | - [unBindingData addObject:wmodel]; | ||
| 673 | - | ||
| 674 | - CNBindingManageModel *qmodel = [[CNBindingManageModel alloc]init]; | ||
| 675 | - qmodel.title = @"QQ"; | ||
| 676 | - qmodel.image = @"c_mine_login_qq"; | ||
| 677 | - qmodel.thirdPartyPlat = @"2"; | ||
| 678 | - if(CNUserShareModel.qqUid&&![CNUserShareModel.qqUid isEqualToString:@""]){ | ||
| 679 | - qmodel.desc = @"已绑定QQ"; | ||
| 680 | - qmodel.thirdPartyId = CNUserShareModel.qqUid; | ||
| 681 | - qmodel.isBinding = @"1"; | ||
| 682 | - }else{ | ||
| 683 | - qmodel.desc = @"未绑定QQ"; | ||
| 684 | - qmodel.isBinding = @"0"; | ||
| 685 | - } | ||
| 686 | - [unBindingData addObject:qmodel]; | ||
| 687 | - | ||
| 688 | - CNBindingManageModel *smodel = [[CNBindingManageModel alloc]init]; | ||
| 689 | - smodel.title = @"微博"; | ||
| 690 | - smodel.image = @"c_mine_login_weibo"; | ||
| 691 | - smodel.thirdPartyPlat = @"1"; | ||
| 692 | - if(CNUserShareModel.sinaUid&&![CNUserShareModel.sinaUid isEqualToString:@""]){ | ||
| 693 | - smodel.desc = @"已绑定微博"; | ||
| 694 | - smodel.thirdPartyId = CNUserShareModel.sinaUid; | ||
| 695 | - smodel.isBinding = @"1"; | ||
| 696 | - }else{ | ||
| 697 | - smodel.desc = @"未绑定微博"; | ||
| 698 | - smodel.isBinding = @"0"; | ||
| 699 | - } | ||
| 700 | - [unBindingData addObject:smodel]; | ||
| 701 | - if (@available(iOS 13, *)) { | ||
| 702 | - CNBindingManageModel *amodel = [[CNBindingManageModel alloc]init]; | ||
| 703 | - amodel.title = @"苹果账号"; | ||
| 704 | - amodel.image = @"c_mine_login_apple_icon"; | ||
| 705 | - amodel.thirdPartyPlat = @"5"; | ||
| 706 | - if(CNUserShareModel.appleUid&&![CNUserShareModel.appleUid isEqualToString:@""]){ | ||
| 707 | - amodel.desc = @"已绑定苹果账号"; | ||
| 708 | - amodel.thirdPartyId = CNUserShareModel.appleUid; | ||
| 709 | - amodel.isBinding = @"1"; | ||
| 710 | - }else{ | ||
| 711 | - amodel.desc = @"未绑定苹果账号"; | ||
| 712 | - amodel.isBinding = @"0"; | ||
| 713 | - } | ||
| 714 | - [unBindingData addObject:amodel]; | ||
| 715 | - } | ||
| 716 | - | ||
| 717 | - block?block(bindingData,unBindingData):@""; | ||
| 718 | -} | ||
| 719 | - | ||
| 720 | -//三方登录 | ||
| 721 | -+ (void)thirdPartyLoginWithType:(CNLiveSendAuthResp)type model:(CNThreeLoginModel *)model block:(CNLoginResponseBlock)block{ | ||
| 722 | - NSDictionary *params = @{@"thirdPartyPlat":model.thirdPartyPlat?model.thirdPartyPlat:@"", | ||
| 723 | - @"thirdPartyId":model.thirdPartyId?model.thirdPartyId:@"", | ||
| 724 | - @"frmId":model.frmId?model.frmId:@"", | ||
| 725 | - @"clientPlat":@"i"}; | ||
| 726 | - [CNLiveNetworking setAllowRequestDefaultArgument:YES]; | ||
| 727 | - [CNLiveNetworking setupShowDataResult:NO]; | ||
| 728 | - | ||
| 729 | - [CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodPOST URLString:CNLoginIn3rdForWJJUrl Param:params CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) { | ||
| 730 | - block?block(requestTask, responseObject, error):@""; | ||
| 731 | - | ||
| 732 | - }]; | ||
| 733 | - | ||
| 734 | - | ||
| 735 | -} | ||
| 736 | - | ||
| 737 | @end | 488 | @end |
CNLiveCMineModule/Classes/CNCSubMine/View/CNBindingManageCell.h deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNBindingManageCell.h | ||
| 3 | -// CNLiveNetAdd | ||
| 4 | -// | ||
| 5 | -// Created by CNLive-zxw on 2019/9/10. | ||
| 6 | -// Copyright © 2019 cnlive. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import <UIKit/UIKit.h> | ||
| 10 | - | ||
| 11 | -NS_ASSUME_NONNULL_BEGIN | ||
| 12 | -@class CNBindingManageModel; | ||
| 13 | -#define kCNBindingManageCell @"CNBindingManageCell" | ||
| 14 | - | ||
| 15 | -@class CNBindingManageCell; | ||
| 16 | -@protocol CNBindingManageCellDelegate <NSObject> | ||
| 17 | -//isBinding YES 绑定操作 NO 解除绑定操作 | ||
| 18 | -- (void)clickedBindingButton:(CNBindingManageCell *)cell isBinding:(BOOL)isBinding; | ||
| 19 | -- (void)jumpBingdingTel; | ||
| 20 | - | ||
| 21 | -@end | ||
| 22 | - | ||
| 23 | -@interface CNBindingManageCell : UITableViewCell | ||
| 24 | -@property (nonatomic, strong) CNBindingManageModel *model; | ||
| 25 | -@property (nonatomic, weak) id<CNBindingManageCellDelegate> delegate; | ||
| 26 | - | ||
| 27 | -@end | ||
| 28 | - | ||
| 29 | -NS_ASSUME_NONNULL_END |
CNLiveCMineModule/Classes/CNCSubMine/View/CNBindingManageCell.m deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNBindingManageCell.m | ||
| 3 | -// CNLiveNetAdd | ||
| 4 | -// | ||
| 5 | -// Created by CNLive-zxw on 2019/9/10. | ||
| 6 | -// Copyright © 2019 cnlive. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import "CNBindingManageCell.h" | ||
| 10 | -#import "CNBindingManageModel.h" | ||
| 11 | -#import "CNCSubMinePresent.h" | ||
| 12 | - | ||
| 13 | -@interface CNBindingManageCell() | ||
| 14 | -@property (nonatomic, strong) UIImageView *icon; | ||
| 15 | -@property (nonatomic, strong) UILabel *title; | ||
| 16 | -@property (nonatomic, strong) UILabel *desc; | ||
| 17 | -@property (nonatomic, strong) UIButton *manage; | ||
| 18 | -@property (nonatomic, strong) UIView *line; | ||
| 19 | - | ||
| 20 | -@end | ||
| 21 | -@implementation CNBindingManageCell | ||
| 22 | -static NSInteger const margin = 15; | ||
| 23 | - | ||
| 24 | -- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { | ||
| 25 | - self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; | ||
| 26 | - if (self) { | ||
| 27 | - self.contentView.backgroundColor = [UIColor whiteColor]; | ||
| 28 | - [self createSubViews]; | ||
| 29 | - } | ||
| 30 | - return self; | ||
| 31 | -} | ||
| 32 | -- (void)setModel:(CNBindingManageModel *)model{ | ||
| 33 | - _model = model; | ||
| 34 | - _icon.image = [CNLiveCMineService imageWithMineName:model.image]; | ||
| 35 | - _title.text = model.title; | ||
| 36 | - _desc.text = model.desc; | ||
| 37 | - if([model.isBinding isEqualToString:@"1"]){ | ||
| 38 | - _manage.backgroundColor = RGBOF(0xd9d9d9); | ||
| 39 | - [_manage setTitle:@"已绑定" forState:UIControlStateNormal]; | ||
| 40 | - | ||
| 41 | - }else{ | ||
| 42 | - _manage.backgroundColor = RGBOF(0x23d41e); | ||
| 43 | - [_manage setTitle:@"未绑定" forState:UIControlStateNormal]; | ||
| 44 | - | ||
| 45 | - } | ||
| 46 | - | ||
| 47 | -} | ||
| 48 | -#pragma mark - setupUI | ||
| 49 | -- (void)createSubViews { | ||
| 50 | - [self.contentView addSubview:self.icon]; | ||
| 51 | - [self.contentView addSubview:self.title]; | ||
| 52 | - [self.contentView addSubview:self.desc]; | ||
| 53 | - [self.contentView addSubview:self.manage]; | ||
| 54 | - [self.contentView addSubview:self.line]; | ||
| 55 | - | ||
| 56 | -} | ||
| 57 | - | ||
| 58 | -- (void)layoutSubviews { | ||
| 59 | - [self.icon mas_makeConstraints:^(MASConstraintMaker *make) { | ||
| 60 | - make.centerY.equalTo(self.contentView); | ||
| 61 | - make.left.equalTo(self.contentView).offset(margin); | ||
| 62 | - make.width.mas_equalTo(50); | ||
| 63 | - make.height.mas_equalTo(50); | ||
| 64 | - }]; | ||
| 65 | - | ||
| 66 | - [self.manage mas_makeConstraints:^(MASConstraintMaker *make) { | ||
| 67 | - make.centerY.equalTo(self.contentView); | ||
| 68 | - make.right.equalTo(self.contentView.mas_right).offset(-margin); | ||
| 69 | - make.width.mas_equalTo(70); | ||
| 70 | - make.height.mas_equalTo(30); | ||
| 71 | - }]; | ||
| 72 | - | ||
| 73 | - [self.title mas_makeConstraints:^(MASConstraintMaker *make) { | ||
| 74 | - make.top.equalTo(self.icon.mas_top); | ||
| 75 | - make.left.equalTo(self.icon.mas_right).offset(margin); | ||
| 76 | - make.right.equalTo(self.manage.mas_left).offset(-margin); | ||
| 77 | - make.height.mas_equalTo(25); | ||
| 78 | - }]; | ||
| 79 | - | ||
| 80 | - [self.desc mas_makeConstraints:^(MASConstraintMaker *make) { | ||
| 81 | - make.top.equalTo(self.title.mas_bottom); | ||
| 82 | - make.left.equalTo(self.title.mas_left); | ||
| 83 | - make.right.equalTo(self.title.mas_right); | ||
| 84 | - make.height.mas_equalTo(25); | ||
| 85 | - }]; | ||
| 86 | - [self.line mas_makeConstraints:^(MASConstraintMaker *make) { | ||
| 87 | - make.bottom.equalTo(self.contentView.mas_bottom).offset(-0.5); | ||
| 88 | - make.left.equalTo(self.contentView.mas_left); | ||
| 89 | - make.right.equalTo(self.contentView.mas_right); | ||
| 90 | - make.height.mas_equalTo(0.5); | ||
| 91 | - }]; | ||
| 92 | -} | ||
| 93 | - | ||
| 94 | -- (void)awakeFromNib { | ||
| 95 | - [super awakeFromNib]; | ||
| 96 | - // Initialization code | ||
| 97 | -} | ||
| 98 | - | ||
| 99 | -- (void)setSelected:(BOOL)selected animated:(BOOL)animated { | ||
| 100 | - [super setSelected:selected animated:animated]; | ||
| 101 | - | ||
| 102 | - // Configure the view for the selected state | ||
| 103 | -} | ||
| 104 | - | ||
| 105 | -#pragma mark - Lazy Loading | ||
| 106 | -- (UIImageView *)icon { | ||
| 107 | - if (!_icon) { | ||
| 108 | - _icon = [[UIImageView alloc] init]; | ||
| 109 | - _icon.contentMode = UIViewContentModeScaleAspectFill; | ||
| 110 | - _icon.layer.cornerRadius = 25; | ||
| 111 | - _icon.layer.masksToBounds = YES; | ||
| 112 | - } | ||
| 113 | - return _icon; | ||
| 114 | -} | ||
| 115 | -- (UILabel *)title { | ||
| 116 | - if (!_title) { | ||
| 117 | - _title = [[UILabel alloc] init]; | ||
| 118 | - _title.textColor = RGBOF(0x333333); | ||
| 119 | - _title.font = UIFontCNMake(16);//[UIFont fontWithName:@"PingFangSC-Regular" size:15]; | ||
| 120 | - _title.numberOfLines = 0; | ||
| 121 | - } | ||
| 122 | - return _title; | ||
| 123 | -} | ||
| 124 | -- (UILabel *)desc { | ||
| 125 | - if (!_desc) { | ||
| 126 | - _desc = [[UILabel alloc] init]; | ||
| 127 | - _desc.textColor = RGBOF(0x999999); | ||
| 128 | - _desc.font = UIFontCNMake(12);//[UIFont fontWithName:@"PingFangSC-Regular" size:15]; | ||
| 129 | - _desc.numberOfLines = 0; | ||
| 130 | - } | ||
| 131 | - return _desc; | ||
| 132 | -} | ||
| 133 | -- (UIButton *)manage { | ||
| 134 | - if (!_manage) { | ||
| 135 | - _manage = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 136 | - _manage.backgroundColor = RGBOF(0xd9d9d9); | ||
| 137 | - [_manage setTitle:@"已绑定" forState:UIControlStateNormal]; | ||
| 138 | - [_manage setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; | ||
| 139 | - _manage.titleLabel.font = UIFontCNMake(14); | ||
| 140 | - _manage.layer.cornerRadius = 15; | ||
| 141 | - _manage.layer.masksToBounds = YES; | ||
| 142 | - [_manage addTarget:self action:@selector(manageDidClicked:) forControlEvents:UIControlEventTouchUpInside]; | ||
| 143 | - } | ||
| 144 | - return _manage; | ||
| 145 | -} | ||
| 146 | - | ||
| 147 | -- (UIView *)line { | ||
| 148 | - if (!_line) { | ||
| 149 | - _line = [[UIView alloc] init]; | ||
| 150 | - _line.backgroundColor = RGBOF(0xeeeeee); | ||
| 151 | - } | ||
| 152 | - return _line; | ||
| 153 | -} | ||
| 154 | - | ||
| 155 | -#pragma mark - Action | ||
| 156 | -- (void)manageDidClicked:(UIButton *)btn{ | ||
| 157 | - if([self.model.thirdPartyPlat isEqualToString:@"10"]){ | ||
| 158 | - if([self.model.isBinding isEqualToString:@"0"]){ | ||
| 159 | - if (self.delegate && [self.delegate respondsToSelector:@selector(jumpBingdingTel)]) { | ||
| 160 | - [self.delegate jumpBingdingTel]; | ||
| 161 | - } | ||
| 162 | - } | ||
| 163 | - return; | ||
| 164 | - } | ||
| 165 | - if(![CNLiveNetworking isNetworking]){ | ||
| 166 | - [QMUITips showError:@"无法连接网络" inView:AppKeyWindow hideAfterDelay:1.5]; | ||
| 167 | - return ; | ||
| 168 | - } | ||
| 169 | - btn.userInteractionEnabled = NO; | ||
| 170 | - if (self.delegate && [self.delegate respondsToSelector:@selector(clickedBindingButton:isBinding:)]) { | ||
| 171 | - [self.delegate clickedBindingButton:self isBinding:![self.model.isBinding isEqualToString:@"1"]]; | ||
| 172 | - btn.userInteractionEnabled = YES; | ||
| 173 | - | ||
| 174 | - } | ||
| 175 | -} | ||
| 176 | - | ||
| 177 | - | ||
| 178 | -@end |
CNLiveCMineModule/Classes/CNCSubMine/ViewController/CNBindingManageViewController.h deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNBindingManageViewController.h | ||
| 3 | -// CNLiveNetAdd | ||
| 4 | -// | ||
| 5 | -// Created by CNLive-zxw on 2019/9/10. | ||
| 6 | -// Copyright © 2019 cnlive. All rights reserved. | ||
| 7 | -// | ||
| 8 | -// 绑定管理 | ||
| 9 | -#import "CNCommonViewController.h" | ||
| 10 | - | ||
| 11 | -NS_ASSUME_NONNULL_BEGIN | ||
| 12 | - | ||
| 13 | -@interface CNBindingManageViewController : CNCommonViewController | ||
| 14 | - | ||
| 15 | -@end | ||
| 16 | - | ||
| 17 | -NS_ASSUME_NONNULL_END |
CNLiveCMineModule/Classes/CNCSubMine/ViewController/CNBindingManageViewController.m deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNBindingManageViewController.m | ||
| 3 | -// CNLiveNetAdd | ||
| 4 | -// | ||
| 5 | -// Created by CNLive-zxw on 2019/9/10. | ||
| 6 | -// Copyright © 2019 cnlive. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import "CNBindingManageViewController.h" | ||
| 10 | -#import "CNBindingManageHeaderView.h" | ||
| 11 | -#import "CNBindingManageCell.h" | ||
| 12 | -#import "CNBindingManageModel.h" | ||
| 13 | -#import "CNCSubMinePresent.h" | ||
| 14 | -#import "CNMineChangePhoneNumController.h" | ||
| 15 | -#import <WechatOpenSDK/WXApi.h> | ||
| 16 | -#import <TencentOpenAPI/TencentOAuth.h> | ||
| 17 | -#import <Weibo_SDK/WeiboSDK.h> | ||
| 18 | - | ||
| 19 | -@interface CNBindingManageViewController ()<UITableViewDelegate, UITableViewDataSource,CNBindingManageCellDelegate> | ||
| 20 | -@property (nonatomic, strong) UITableView *tableView; | ||
| 21 | -@property (nonatomic, strong) NSArray *bindingData; | ||
| 22 | -@property (nonatomic, strong) NSArray *unBindingData; | ||
| 23 | - | ||
| 24 | -@end | ||
| 25 | - | ||
| 26 | -@implementation CNBindingManageViewController | ||
| 27 | -#pragma mark - CNBindingManageCellDelegate | ||
| 28 | -- (void)jumpBingdingTel{ | ||
| 29 | - CNMineChangePhoneNumController *cpnVC = [[CNMineChangePhoneNumController alloc] init]; | ||
| 30 | - [[BaseAppDelegate sharedAppDelegate] pushViewController:cpnVC withBackTitle:@" "]; | ||
| 31 | -} | ||
| 32 | -- (void)clickedBindingButton:(CNBindingManageCell *)cell isBinding:(BOOL)isBinding{ | ||
| 33 | - if(isBinding){ | ||
| 34 | - //绑定操作 | ||
| 35 | - [self requestBindingManage:cell.model]; | ||
| 36 | - | ||
| 37 | - }else{ | ||
| 38 | - //解除绑定操作 | ||
| 39 | - UIAlertController *actionAlert1 = [UIAlertController alertControllerWithTitle:@"确定解除绑定?" message:nil preferredStyle:UIAlertControllerStyleAlert]; | ||
| 40 | - | ||
| 41 | - UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:NULL]; | ||
| 42 | - __weak typeof(self) weakSelf = self; | ||
| 43 | - UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { | ||
| 44 | - __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 45 | - if(!strongSelf) return; | ||
| 46 | - [strongSelf requestBindingManage:cell.model]; | ||
| 47 | - | ||
| 48 | - }]; | ||
| 49 | - [action1 setValue:RGBOF(0x23D41E) forKey:@"_titleTextColor"]; | ||
| 50 | - [action2 setValue:RGBOF(0x23D41E) forKey:@"_titleTextColor"]; | ||
| 51 | - | ||
| 52 | - [actionAlert1 addAction:action1]; | ||
| 53 | - [actionAlert1 addAction:action2]; | ||
| 54 | - [self presentViewController:actionAlert1 animated:YES completion:nil]; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | -} | ||
| 58 | -- (void)requestBindingManage:(CNBindingManageModel *)model{ | ||
| 59 | - switch (model.type) { | ||
| 60 | - case CNLiveSendAuthRespWX: | ||
| 61 | - { | ||
| 62 | - if(![WXApi isWXAppInstalled]){ | ||
| 63 | - [QMUITips showWithText:@"未安装微信" inView:self.view hideAfterDelay:1.5]; | ||
| 64 | - return; | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - break; | ||
| 68 | - case CNLiveSendAuthRespQQ: | ||
| 69 | - { | ||
| 70 | - if(![TencentOAuth iphoneQQInstalled]){ | ||
| 71 | - [QMUITips showWithText:@"未安装QQ" inView:self.view hideAfterDelay:1.5]; | ||
| 72 | - return; | ||
| 73 | - } | ||
| 74 | - } | ||
| 75 | - break; | ||
| 76 | - case CNLiveSendAuthRespWB: | ||
| 77 | - { | ||
| 78 | - if(![WeiboSDK isWeiboAppInstalled]){ | ||
| 79 | - [QMUITips showWithText:@"未安装微博" inView:self.view hideAfterDelay:1.5]; | ||
| 80 | - return; | ||
| 81 | - } | ||
| 82 | - } | ||
| 83 | - break; | ||
| 84 | - case CNLiveSendAuthRespApple: | ||
| 85 | - { | ||
| 86 | - } | ||
| 87 | - break; | ||
| 88 | - } | ||
| 89 | - __weak typeof(self) weakSelf = self; | ||
| 90 | - [CNCSubMinePresent requestModel:model block:^(BOOL isSuccess, CNBindingManageModel * _Nullable model, BOOL isBinding) { | ||
| 91 | - __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 92 | - if(!strongSelf) return; | ||
| 93 | - if(isSuccess){ | ||
| 94 | - [strongSelf loadData]; | ||
| 95 | - | ||
| 96 | - } | ||
| 97 | - | ||
| 98 | - }]; | ||
| 99 | -} | ||
| 100 | -#pragma mark - Data | ||
| 101 | -- (void)loadData{ | ||
| 102 | - __weak typeof(self) weakSelf = self; | ||
| 103 | - [CNCSubMinePresent requestModels:^(NSArray * _Nullable bindingData, NSArray * _Nullable unBindingData) { | ||
| 104 | - __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 105 | - if(!strongSelf) return; | ||
| 106 | - strongSelf.bindingData = bindingData; | ||
| 107 | - strongSelf.unBindingData = unBindingData; | ||
| 108 | - [strongSelf.tableView reloadData]; | ||
| 109 | - }]; | ||
| 110 | - | ||
| 111 | -} | ||
| 112 | -- (void)viewDidAppear:(BOOL)animated { | ||
| 113 | - [super viewDidAppear:animated]; | ||
| 114 | - [self loadData]; | ||
| 115 | -} | ||
| 116 | -- (void)viewDidLoad { | ||
| 117 | - [super viewDidLoad]; | ||
| 118 | - // Do any additional setup after loading the view. | ||
| 119 | - self.view.backgroundColor = RGBOF(0xf4f4f4); | ||
| 120 | - self.title = @"绑定管理"; | ||
| 121 | - if (@available(iOS 11.0, *)) { | ||
| 122 | - self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; | ||
| 123 | - } else { | ||
| 124 | - self.automaticallyAdjustsScrollViewInsets = NO; | ||
| 125 | - } | ||
| 126 | - [self createUI]; | ||
| 127 | - | ||
| 128 | -} | ||
| 129 | - | ||
| 130 | -- (void)createUI{ | ||
| 131 | - [self.view addSubview:self.tableView]; | ||
| 132 | - | ||
| 133 | -} | ||
| 134 | - | ||
| 135 | -- (void)viewDidLayoutSubviews { | ||
| 136 | - [super viewDidLayoutSubviews]; | ||
| 137 | - [_tableView mas_makeConstraints:^(MASConstraintMaker *make) { | ||
| 138 | - make.top.equalTo(self.view.mas_top).with.offset(kVerticalStatusHeight+44); | ||
| 139 | - make.left.equalTo(self.view.mas_left).with.offset(0); | ||
| 140 | - make.right.equalTo(self.view.mas_right).with.offset(-0); | ||
| 141 | - make.bottom.equalTo(self.view.mas_bottom).with.offset(-0); | ||
| 142 | - | ||
| 143 | - }]; | ||
| 144 | - | ||
| 145 | -} | ||
| 146 | - | ||
| 147 | -#pragma mark - UITableViewDataSource | ||
| 148 | -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { | ||
| 149 | - return 2; | ||
| 150 | - | ||
| 151 | -} | ||
| 152 | - | ||
| 153 | -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { | ||
| 154 | - if(section == 0){ | ||
| 155 | - return self.bindingData.count; | ||
| 156 | - | ||
| 157 | - }else if(section == 1){ | ||
| 158 | - return self.unBindingData.count; | ||
| 159 | - | ||
| 160 | - }else{ | ||
| 161 | - return 0; | ||
| 162 | - } | ||
| 163 | - | ||
| 164 | -} | ||
| 165 | - | ||
| 166 | -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { | ||
| 167 | - return 80; | ||
| 168 | - | ||
| 169 | -} | ||
| 170 | - | ||
| 171 | -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | ||
| 172 | - CNBindingManageCell *cell = [tableView dequeueReusableCellWithIdentifier:kCNBindingManageCell forIndexPath:indexPath]; | ||
| 173 | - cell.selectionStyle = UITableViewCellSelectionStyleNone; | ||
| 174 | - cell.delegate = self; | ||
| 175 | - if(indexPath.section == 0){ | ||
| 176 | - if(self.bindingData.count > 0){ | ||
| 177 | - cell.model = self.bindingData[indexPath.row]; | ||
| 178 | - } | ||
| 179 | - | ||
| 180 | - }else if(indexPath.section == 1){ | ||
| 181 | - if(self.unBindingData.count > 0){ | ||
| 182 | - cell.model = self.unBindingData[indexPath.row]; | ||
| 183 | - } | ||
| 184 | - } | ||
| 185 | - return cell; | ||
| 186 | - | ||
| 187 | -} | ||
| 188 | - | ||
| 189 | -- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ | ||
| 190 | - return 40.0; | ||
| 191 | - | ||
| 192 | -} | ||
| 193 | -- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ | ||
| 194 | - return 0.0000001f; | ||
| 195 | - | ||
| 196 | -} | ||
| 197 | - | ||
| 198 | -- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { | ||
| 199 | - NSArray *array = @[@"您已绑定网家家手机号账号", @"其他绑定方式"]; | ||
| 200 | - CNBindingManageHeaderView *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:kCNBindingManageHeaderView]; | ||
| 201 | - header.text = array[section]; | ||
| 202 | - return header; | ||
| 203 | - | ||
| 204 | -} | ||
| 205 | - | ||
| 206 | -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ | ||
| 207 | - | ||
| 208 | - | ||
| 209 | -} | ||
| 210 | - | ||
| 211 | -/* | ||
| 212 | - #pragma mark - Navigation | ||
| 213 | - | ||
| 214 | - // In a storyboard-based application, you will often want to do a little preparation before navigation | ||
| 215 | - - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { | ||
| 216 | - // Get the new view controller using [segue destinationViewController]. | ||
| 217 | - // Pass the selected object to the new view controller. | ||
| 218 | - } | ||
| 219 | - */ | ||
| 220 | - | ||
| 221 | -#pragma mark - Lazy loading | ||
| 222 | -- (UITableView *)tableView { | ||
| 223 | - if (!_tableView) { | ||
| 224 | - _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; | ||
| 225 | - _tableView.backgroundColor = RGBOF(0xf4f4f4); | ||
| 226 | - _tableView.delegate = self; | ||
| 227 | - _tableView.dataSource = self; | ||
| 228 | - _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; | ||
| 229 | - _tableView.showsVerticalScrollIndicator = NO; | ||
| 230 | - _tableView.showsHorizontalScrollIndicator = NO; | ||
| 231 | - _tableView.estimatedRowHeight = 0; | ||
| 232 | - _tableView.estimatedSectionFooterHeight = 0; | ||
| 233 | - _tableView.estimatedSectionHeaderHeight = 0; | ||
| 234 | - [_tableView registerClass:[CNBindingManageCell class] forCellReuseIdentifier:kCNBindingManageCell]; | ||
| 235 | - [_tableView registerClass:[CNBindingManageHeaderView class] forHeaderFooterViewReuseIdentifier:kCNBindingManageHeaderView]; | ||
| 236 | - | ||
| 237 | - } | ||
| 238 | - return _tableView; | ||
| 239 | -} | ||
| 240 | - | ||
| 241 | -@end |
CNLiveCMineModule/Classes/CNCSubMine/ViewController/CNMineSettingVC.m
| @@ -9,7 +9,6 @@ | @@ -9,7 +9,6 @@ | ||
| 9 | #import "CNMySettingListModel.h" | 9 | #import "CNMySettingListModel.h" |
| 10 | #import "CNMineSettingCell.h" | 10 | #import "CNMineSettingCell.h" |
| 11 | #import "CNMineChangePhoneNumController.h" | 11 | #import "CNMineChangePhoneNumController.h" |
| 12 | -#import "CNBindingManageViewController.h" | ||
| 13 | #import "CNFontSettingController.h" | 12 | #import "CNFontSettingController.h" |
| 14 | #import "CNPrivacyViewController.h" | 13 | #import "CNPrivacyViewController.h" |
| 15 | #import "CNMineAccountManageController.h" | 14 | #import "CNMineAccountManageController.h" |
| @@ -177,8 +176,7 @@ static NSString *settingListCellId = @"settingListCellId"; | @@ -177,8 +176,7 @@ static NSString *settingListCellId = @"settingListCellId"; | ||
| 177 | [[BaseAppDelegate sharedAppDelegate] pushViewController:cpnVC withBackTitle:@" "]; | 176 | [[BaseAppDelegate sharedAppDelegate] pushViewController:cpnVC withBackTitle:@" "]; |
| 178 | }else if (indexPath.row == 1){ | 177 | }else if (indexPath.row == 1){ |
| 179 | //绑定管理 | 178 | //绑定管理 |
| 180 | - CNBindingManageViewController *vc = [[CNBindingManageViewController alloc] init]; | ||
| 181 | - [[BaseAppDelegate sharedAppDelegate] pushViewController:vc]; | 179 | + [[CNLiveCMineService shareMineProtocol] pushCMineContentForCMainPlatWithType:26 param:@{} contentVC:self]; |
| 182 | }else if (indexPath.row == 2){ | 180 | }else if (indexPath.row == 2){ |
| 183 | //帮助与反馈 | 181 | //帮助与反馈 |
| 184 | [CNLiveCMineService pushCMineIWebVCParam:@{@"path":@"bzfk",@"urlStr":@"/cnhf.html"} CurrentVC:self]; | 182 | [CNLiveCMineService pushCMineIWebVCParam:@{@"path":@"bzfk",@"urlStr":@"/cnhf.html"} CurrentVC:self]; |
CNLiveCMineModule/Classes/CNLiveCMineProtocol.h
| @@ -7,7 +7,6 @@ | @@ -7,7 +7,6 @@ | ||
| 7 | 7 | ||
| 8 | #import <Foundation/Foundation.h> | 8 | #import <Foundation/Foundation.h> |
| 9 | #import "CNLiveCMineInteViewModel.h" | 9 | #import "CNLiveCMineInteViewModel.h" |
| 10 | -#import "CNBindingManageModel.h" | ||
| 11 | #import "CNOrderList.h" | 10 | #import "CNOrderList.h" |
| 12 | typedef NS_ENUM(NSUInteger , CNLiveMobileType) { | 11 | typedef NS_ENUM(NSUInteger , CNLiveMobileType) { |
| 13 | CNLiveMobileTypeRegisen, //获取短信验证码 | 12 | CNLiveMobileTypeRegisen, //获取短信验证码 |
| @@ -73,7 +72,7 @@ NS_ASSUME_NONNULL_BEGIN | @@ -73,7 +72,7 @@ NS_ASSUME_NONNULL_BEGIN | ||
| 73 | - (void)sendMessageWithCodeType:(CNLiveMobileType) type mobile:(NSString *)pNumber contryCode:(NSString *)contryCode verificationCode:(NSString *)verifiCode success:(void(^)(id result))success failure:(void(^)(NSDictionary *errorDic))failure; | 72 | - (void)sendMessageWithCodeType:(CNLiveMobileType) type mobile:(NSString *)pNumber contryCode:(NSString *)contryCode verificationCode:(NSString *)verifiCode success:(void(^)(id result))success failure:(void(^)(NSDictionary *errorDic))failure; |
| 74 | 73 | ||
| 75 | /// 交互跳转 | 74 | /// 交互跳转 |
| 76 | -/// @param type 跳转类型1.协议信息h5页面 2.我的视频 3.生活圈 4付费记录 5.电商订单 6资质信息 7听见中国 8扫描二维码 9设置背景图片 10用户信息页 11通信录黑名单 12活动h5页面 13小家音响页面跳转 14通讯录界面 15点播页面 16聊天界面 17达人主页 18我的家园 19我的工会 20我的社区 21我的礼盒 22我的话题 23赛事活动 24徒步记录 25路径工具 | 75 | +/// @param type 跳转类型1.协议信息h5页面 2.我的视频 3.生活圈 4付费记录 5.电商订单 6资质信息 7听见中国 8扫描二维码 9设置背景图片 10用户信息页 11通信录黑名单 12活动h5页面 13小家音响页面跳转 14通讯录界面 15点播页面 16聊天界面 17达人主页 18我的家园 19我的工会 20我的社区 21我的礼盒 22我的话题 23赛事活动 24徒步记录 25路径工具 26第三方绑定 |
| 77 | /// @param param 跳转传参 | 76 | /// @param param 跳转传参 |
| 78 | - (void)pushCMineContentForCMainPlatWithType:(NSInteger)type param:(NSDictionary *)param contentVC:(UIViewController *)contetVC; | 77 | - (void)pushCMineContentForCMainPlatWithType:(NSInteger)type param:(NSDictionary *)param contentVC:(UIViewController *)contetVC; |
| 79 | 78 | ||
| @@ -84,14 +83,6 @@ NS_ASSUME_NONNULL_BEGIN | @@ -84,14 +83,6 @@ NS_ASSUME_NONNULL_BEGIN | ||
| 84 | /// @param completerBlock 成功 | 83 | /// @param completerBlock 成功 |
| 85 | - (void)chooseRequestWithResponseObject:(id)responseObject Error:(NSError *)error CompleterBlock:(void(^)(id responseObject,NSInteger errorCode))completerBlock; | 84 | - (void)chooseRequestWithResponseObject:(id)responseObject Error:(NSError *)error CompleterBlock:(void(^)(id responseObject,NSInteger errorCode))completerBlock; |
| 86 | 85 | ||
| 87 | -/** | ||
| 88 | - * @abstract 绑定/解除绑定 | ||
| 89 | - * | ||
| 90 | - * @param param 参数 | ||
| 91 | - * @param block 回调 | ||
| 92 | - */ | ||
| 93 | -- (void)requestBindingModel:(NSDictionary *)param block:(void (^)(CNBindingManageModel * _Nullable model))block; | ||
| 94 | - | ||
| 95 | /// 清除缓存 | 86 | /// 清除缓存 |
| 96 | - (void)clearMemories; | 87 | - (void)clearMemories; |
| 97 | ///金币下落声音判断 | 88 | ///金币下落声音判断 |
README.md
| 1 | # CNLiveCMineModule | 1 | # CNLiveCMineModule |
| 2 | 2 | ||
| 3 | +本地验证 | ||
| 4 | + pod lib lint --allow-warnings --no-clean --use-libraries --skip-import-validation --sources=http://bj.gitlab.cnlive.com/ios-team/CNLiveRepos.git,https://github.com/CocoaPods/Specs.git,http://bj.gitlab.cnlive.com/DSIOSTeam/DSSpecRepos.git --verbose | ||
| 5 | + | ||
| 6 | + 本地+远端 | ||
| 7 | + pod spec lint --allow-warnings --no-clean --use-libraries --skip-import-validation --sources=http://bj.gitlab.cnlive.com/ios-team/CNLiveRepos.git,https://github.com/CocoaPods/Specs.git,http://bj.gitlab.cnlive.com/DSIOSTeam/DSSpecRepos.git | ||
| 8 | + 推库 | ||
| 9 | + pod repo push CNLiveRepos CNLiveCMineModule.podspec --allow-warnings --use-libraries --skip-import-validation --sources=http://bj.gitlab.cnlive.com/ios-team/CNLiveRepos.git,https://github.com/CocoaPods/Specs.git,http://bj.gitlab.cnlive.com/DSIOSTeam/DSSpecRepos.git | ||
| 10 | + | ||
| 3 | [](https://travis-ci.org/杨苓玉/CNLiveCMineModule) | 11 | [](https://travis-ci.org/杨苓玉/CNLiveCMineModule) |
| 4 | [](https://cocoapods.org/pods/CNLiveCMineModule) | 12 | [](https://cocoapods.org/pods/CNLiveCMineModule) |
| 5 | [](https://cocoapods.org/pods/CNLiveCMineModule) | 13 | [](https://cocoapods.org/pods/CNLiveCMineModule) |