Commit 400e23abbfcd76f85e7164111cedd76fe0cf59aa
1 parent
956725d8
提交订单界面
Showing
11 changed files
with
472 additions
and
600 deletions
CNLiveMyOrderModule.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 = 'CNLiveMyOrderModule' | 10 | s.name = 'CNLiveMyOrderModule' |
| 11 | - s.version = '0.0.2' | 11 | + s.version = '0.0.1' |
| 12 | s.summary = '我的订单组件化' | 12 | s.summary = '我的订单组件化' |
| 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. |
| @@ -30,62 +30,57 @@ TODO: Add long description of the pod here. | @@ -30,62 +30,57 @@ TODO: Add long description of the pod here. | ||
| 30 | 30 | ||
| 31 | s.ios.deployment_target = '9.0' | 31 | s.ios.deployment_target = '9.0' |
| 32 | 32 | ||
| 33 | - s.source_files = 'CNLiveMyOrderModule/Classes/**/*' | ||
| 34 | - | 33 | + # s.source_files = 'CNLiveMyOrderModule/Classes/**/*' |
| 34 | + s.subspec 'Model' do |model| | ||
| 35 | + model.source_files = 'CNLiveMyOrderModule/Classes/Model/*.{h,m}' | ||
| 36 | + end | ||
| 37 | + s.subspec 'ViewModel' do |viewModel| | ||
| 38 | + viewModel.source_files = 'CNLiveMyOrderModule/Classes/ViewModel/*.{h,m}' | ||
| 39 | + viewModel.dependency 'CNLiveMyOrderModule/Model' | ||
| 40 | + end | ||
| 41 | + s.subspec 'View' do |view| | ||
| 42 | + view.source_files = 'CNLiveMyOrderModule/Classes/View/*.{h,m}' | ||
| 43 | +# view.dependency 'CNLiveMyOrderModule/Model' | ||
| 44 | + view.dependency 'CNLiveMyOrderModule/ViewModel' | ||
| 45 | + end | ||
| 35 | s.subspec 'Controller' do |controller| | 46 | s.subspec 'Controller' do |controller| |
| 36 | controller.source_files = 'CNLiveMyOrderModule/Classes/Controller/*.{h,m}' | 47 | controller.source_files = 'CNLiveMyOrderModule/Classes/Controller/*.{h,m}' |
| 37 | - controller.dependency 'CNLiveCommonClass' | ||
| 38 | - controller.dependency 'CNLiveCommonCategory' | ||
| 39 | - controller.dependency 'CNLiveBaseKit' | ||
| 40 | - controller.dependency 'CNLiveTripartiteManagement/Masonry' | ||
| 41 | - controller.dependency 'JXCategoryView' | ||
| 42 | controller.dependency 'CNLiveMyOrderModule/View' | 48 | controller.dependency 'CNLiveMyOrderModule/View' |
| 43 | - controller.dependency 'CNLiveTripartiteManagement/QMUIKit' | ||
| 44 | - controller.dependency 'CNLiveTripartiteManagement/Masonry' | ||
| 45 | - controller.dependency 'CNLiveTripartiteManagement/YYKit' | ||
| 46 | - controller.dependency 'CNLiveTripartiteManagement/MJExtension' | ||
| 47 | - controller.dependency 'CNLiveIMBaseSDK' | ||
| 48 | - end | ||
| 49 | - s.subspec 'View' do |view| | ||
| 50 | - view.source_files = 'CNLiveMyOrderModule/Classes/View/*.{h,m}' | ||
| 51 | - view.dependency 'CNLiveTripartiteManagement/QMUIKit' | ||
| 52 | - view.dependency 'CNLiveTripartiteManagement/Masonry' | ||
| 53 | - view.dependency 'CNLiveMyOrderModule/Model' | ||
| 54 | - view.dependency 'CNLiveCommonCategory' | ||
| 55 | - view.dependency 'CNLiveTripartiteManagement/SDWebImage' | ||
| 56 | - view.dependency 'CNLiveTripartiteManagement/YYKit' | ||
| 57 | - view.dependency 'CNLiveTripartiteManagement/MJRefresh' | ||
| 58 | - view.dependency 'CNLiveCustomUI' | ||
| 59 | - view.dependency 'CNLiveTripartiteManagement/MJExtension' | ||
| 60 | - view.dependency 'CNLiveEnvironment' | ||
| 61 | - view.dependency 'CNLiveUserManagement' | ||
| 62 | - view.dependency 'CNLiveIMBaseSDK' | ||
| 63 | - view.dependency 'CNLiveMyOrderModule/ViewModel' | ||
| 64 | - view.dependency 'CNLiveImagePickerController' | ||
| 65 | - end | ||
| 66 | - s.subspec 'ViewModel' do |viewModel| | ||
| 67 | - viewModel.source_files = 'CNLiveMyOrderModule/Classes/ViewModel/*.{h,m}' | ||
| 68 | - viewModel.dependency 'CNLiveUserManagement' | ||
| 69 | - viewModel.dependency 'CNLiveEnvironment' | ||
| 70 | - viewModel.dependency 'CNLiveRequestBastKit' | ||
| 71 | - viewModel.dependency 'CNLiveMyOrderModule/Model' | ||
| 72 | - viewModel.dependency 'CNLiveTripartiteManagement/QMUIKit' | ||
| 73 | - viewModel.dependency 'CNLiveTripartiteManagement/MJExtension' | 49 | +# controller.dependency 'CNLiveMyOrderModule/Model' |
| 50 | +# controller.dependency 'CNLiveMyOrderModule/ViewModel' | ||
| 74 | end | 51 | end |
| 75 | s.subspec 'Module' do |modules| | 52 | s.subspec 'Module' do |modules| |
| 76 | modules.source_files = 'CNLiveMyOrderModule/Classes/Module/*.{h,m}' | 53 | modules.source_files = 'CNLiveMyOrderModule/Classes/Module/*.{h,m}' |
| 77 | end | 54 | end |
| 78 | - s.subspec 'Model' do |model| | ||
| 79 | - model.source_files = 'CNLiveMyOrderModule/Classes/Model/*.{h,m}' | ||
| 80 | - model.dependency 'CNLiveTripartiteManagement/MJExtension' | ||
| 81 | - end | ||
| 82 | s.subspec 'Service' do |service| | 55 | s.subspec 'Service' do |service| |
| 83 | service.source_files = 'CNLiveMyOrderModule/Classes/Service/*.{h,m}' | 56 | service.source_files = 'CNLiveMyOrderModule/Classes/Service/*.{h,m}' |
| 84 | service.dependency 'CNLiveMyOrderModule/Controller' | 57 | service.dependency 'CNLiveMyOrderModule/Controller' |
| 85 | end | 58 | end |
| 86 | s.dependency 'CNLiveBeeHive' | 59 | s.dependency 'CNLiveBeeHive' |
| 87 | s.dependency 'CNLiveServices' | 60 | s.dependency 'CNLiveServices' |
| 61 | + #基础库 | ||
| 62 | + s.dependency 'CNLiveCommonClass' | ||
| 88 | s.dependency 'CNLiveBaseKit' | 63 | s.dependency 'CNLiveBaseKit' |
| 64 | + s.dependency 'CNLiveCommonCategory' | ||
| 65 | + s.dependency 'CNLiveCustomUI' | ||
| 66 | + #环境库 | ||
| 67 | + s.dependency 'CNLiveEnvironment' | ||
| 68 | + #用户库 | ||
| 69 | + s.dependency 'CNLiveUserManagement' | ||
| 70 | + #IM | ||
| 71 | + # s.dependency 'CNLiveIMBaseSDK' | ||
| 72 | + #相册 | ||
| 73 | +# s.dependency 'CNLiveImagePickerController' | ||
| 74 | + #网络请求 | ||
| 75 | + s.dependency 'CNLiveRequestBastKit' | ||
| 76 | + #三方库 | ||
| 77 | + s.dependency 'CNLiveTripartiteManagement/Masonry' | ||
| 78 | + s.dependency 'CNLiveTripartiteManagement/QMUIKit' | ||
| 79 | + s.dependency 'CNLiveTripartiteManagement/YYKit' | ||
| 80 | + s.dependency 'CNLiveTripartiteManagement/MJExtension' | ||
| 81 | + s.dependency 'CNLiveTripartiteManagement/SDWebImage' | ||
| 82 | + s.dependency 'CNLiveTripartiteManagement/MJRefresh' | ||
| 83 | + s.dependency 'JXCategoryView' | ||
| 89 | s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' | 84 | s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' |
| 90 | } | 85 | } |
| 91 | s.resource_bundles = { | 86 | s.resource_bundles = { |
CNLiveMyOrderModule/Classes/Controller/CNLiveOrderDetailController.m
| @@ -16,8 +16,8 @@ | @@ -16,8 +16,8 @@ | ||
| 16 | #import "Masonry.h" | 16 | #import "Masonry.h" |
| 17 | #import "CNLiveErrorOrNoNetView.h" | 17 | #import "CNLiveErrorOrNoNetView.h" |
| 18 | #import "CNLiveOrderEventHandle.h" | 18 | #import "CNLiveOrderEventHandle.h" |
| 19 | -#import "TIMAdapter.h" | ||
| 20 | -#import "CommonLibrary.h" | 19 | +//#import "TIMAdapter.h" |
| 20 | +//#import "CommonLibrary.h" | ||
| 21 | #import "CNLiveCommonCategory.h" | 21 | #import "CNLiveCommonCategory.h" |
| 22 | #import "CNLiveAddPopFuncView.h" | 22 | #import "CNLiveAddPopFuncView.h" |
| 23 | #import "CNLiveOrderDetailContentView.h" | 23 | #import "CNLiveOrderDetailContentView.h" |
| @@ -857,7 +857,7 @@ | @@ -857,7 +857,7 @@ | ||
| 857 | 857 | ||
| 858 | case CNLiveMineOrderButtonItemTypeReminder: { //催单 | 858 | case CNLiveMineOrderButtonItemTypeReminder: { //催单 |
| 859 | [CNLiveOrderEventHandle reminderOrder:weakSelf.list superView:weakSelf.view complete:^(NSString *msg) { | 859 | [CNLiveOrderEventHandle reminderOrder:weakSelf.list superView:weakSelf.view complete:^(NSString *msg) { |
| 860 | - [[HUDHelper sharedInstance] tipMessage:msg]; | 860 | +// [[HUDHelper sharedInstance] tipMessage:msg]; |
| 861 | }]; | 861 | }]; |
| 862 | 862 | ||
| 863 | } | 863 | } |
CNLiveMyOrderModule/Classes/View/CNLiveMineOrderTableViewCell.m
| @@ -9,7 +9,6 @@ | @@ -9,7 +9,6 @@ | ||
| 9 | #import "CNLiveMineOrderView.h" | 9 | #import "CNLiveMineOrderView.h" |
| 10 | #import "Masonry.h" | 10 | #import "Masonry.h" |
| 11 | #import "CNLiveBaseKit.h" | 11 | #import "CNLiveBaseKit.h" |
| 12 | -#import "CNLiveOrderEventHandle.h" | ||
| 13 | #define Line_H 0.5 | 12 | #define Line_H 0.5 |
| 14 | /** 通用的间距值 */ | 13 | /** 通用的间距值 */ |
| 15 | CGFloat const ZXMargin = 10; | 14 | CGFloat const ZXMargin = 10; |
CNLiveMyOrderModule/Classes/View/CNLiveMineOrderView.m
| @@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
| 12 | #import <QMUIKit/QMUIKit.h> | 12 | #import <QMUIKit/QMUIKit.h> |
| 13 | #import "CNLiveCommonCategory.h" | 13 | #import "CNLiveCommonCategory.h" |
| 14 | #import "CNLiveBaseKit.h" | 14 | #import "CNLiveBaseKit.h" |
| 15 | -#import "TIMAdapter.h" | 15 | +//#import "TIMAdapter.h" |
| 16 | #import <SDWebImage/SDWebImage.h> | 16 | #import <SDWebImage/SDWebImage.h> |
| 17 | #import "DSAddressModel.h" | 17 | #import "DSAddressModel.h" |
| 18 | #import "CNLiveSelectRefundButton.h" | 18 | #import "CNLiveSelectRefundButton.h" |
| @@ -2513,7 +2513,7 @@ | @@ -2513,7 +2513,7 @@ | ||
| 2513 | 2513 | ||
| 2514 | - (void)setList:(CNLiveOrderList *)list { | 2514 | - (void)setList:(CNLiveOrderList *)list { |
| 2515 | CNLiveOrderListIconBean *icon = list.iconBean; | 2515 | CNLiveOrderListIconBean *icon = list.iconBean; |
| 2516 | - [_iconImgView sd_setImageWithURL:[NSURL URLWithString:icon.image] placeholderImage:kDefaultUserIcon]; | 2516 | +// [_iconImgView sd_setImageWithURL:[NSURL URLWithString:icon.image] placeholderImage:kDefaultUserIcon]; |
| 2517 | } | 2517 | } |
| 2518 | 2518 | ||
| 2519 | - (void)starsControl:(CNLiveStarsControl *)starsControl didChangeScore:(CGFloat)score { | 2519 | - (void)starsControl:(CNLiveStarsControl *)starsControl didChangeScore:(CGFloat)score { |
CNLiveMyOrderModule/Classes/View/CNLiveOrderListCommonView.m
| @@ -17,8 +17,8 @@ | @@ -17,8 +17,8 @@ | ||
| 17 | #import "CNLiveMineOrderItem.h" | 17 | #import "CNLiveMineOrderItem.h" |
| 18 | #import "MJExtension.h" | 18 | #import "MJExtension.h" |
| 19 | #import "CNUserInfoManager.h" | 19 | #import "CNUserInfoManager.h" |
| 20 | -#import "TIMAdapter.h" | ||
| 21 | -#import "CommonLibrary.h" | 20 | +//#import "TIMAdapter.h" |
| 21 | +//#import "CommonLibrary.h" | ||
| 22 | #import "CNLiveCommonCategory.h" | 22 | #import "CNLiveCommonCategory.h" |
| 23 | #import "CNLiveOrderViewModel.h" | 23 | #import "CNLiveOrderViewModel.h" |
| 24 | #import "CNLiveOrderList.h" | 24 | #import "CNLiveOrderList.h" |
| @@ -211,7 +211,7 @@ static const CGFloat KCategoryViewHeight = 44; | @@ -211,7 +211,7 @@ static const CGFloat KCategoryViewHeight = 44; | ||
| 211 | 211 | ||
| 212 | case CNLiveMineOrderButtonItemTypeReminder: { //催单 | 212 | case CNLiveMineOrderButtonItemTypeReminder: { //催单 |
| 213 | [CNLiveOrderEventHandle reminderOrder:model superView:self complete:^(NSString *msg) { | 213 | [CNLiveOrderEventHandle reminderOrder:model superView:self complete:^(NSString *msg) { |
| 214 | - [[HUDHelper sharedInstance] tipMessage:msg]; | 214 | +// [[HUDHelper sharedInstance] tipMessage:msg]; |
| 215 | }]; | 215 | }]; |
| 216 | } | 216 | } |
| 217 | break; | 217 | break; |
CNLiveMyOrderModule/Classes/View/CNLiveUploadVoucher.m
| @@ -6,34 +6,34 @@ | @@ -6,34 +6,34 @@ | ||
| 6 | // | 6 | // |
| 7 | 7 | ||
| 8 | #import "CNLiveUploadVoucher.h" | 8 | #import "CNLiveUploadVoucher.h" |
| 9 | -#import <CNLiveImagePickerController/TZImagePickerController.h> | ||
| 10 | -#import "TZImageManager.h" | ||
| 11 | -#import "LxGridViewFlowLayout.h" | ||
| 12 | -#import "TZTestCell.h" | ||
| 13 | -#import <AssetsLibrary/AssetsLibrary.h> | ||
| 14 | -#import <Photos/Photos.h> | ||
| 15 | -#import <YYKit/YYKit.h> | ||
| 16 | -#import "CNImagePickerController.h" | ||
| 17 | -#import "CNLiveBaseKit.h" | ||
| 18 | -#import <QMUIKit/QMUIKit.h> | ||
| 19 | -#import <Masonry/Masonry.h> | ||
| 20 | -#import "CNLiveCommonCategory.h" | ||
| 21 | -@interface CNLiveUploadVoucher ()<TZImagePickerControllerDelegate,UINavigationControllerDelegate,UIImagePickerControllerDelegate,UICollectionViewDataSource,UICollectionViewDelegate,UIActionSheetDelegate>{ | 9 | +//#import <CNLiveImagePickerController/TZImagePickerController.h> |
| 10 | +//#import "TZImageManager.h" | ||
| 11 | +//#import "LxGridViewFlowLayout.h" | ||
| 12 | +//#import "TZTestCell.h" | ||
| 13 | +//#import <AssetsLibrary/AssetsLibrary.h> | ||
| 14 | +//#import <Photos/Photos.h> | ||
| 15 | +//#import <YYKit/YYKit.h> | ||
| 16 | +//#import "CNImagePickerController.h" | ||
| 17 | +//#import "CNLiveBaseKit.h" | ||
| 18 | +//#import <QMUIKit/QMUIKit.h> | ||
| 19 | +//#import <Masonry/Masonry.h> | ||
| 20 | +//#import "CNLiveCommonCategory.h" | ||
| 21 | +@interface CNLiveUploadVoucher ()<UINavigationControllerDelegate,UIImagePickerControllerDelegate,UICollectionViewDataSource,UICollectionViewDelegate,UIActionSheetDelegate>{ | ||
| 22 | } | 22 | } |
| 23 | -@property (nonatomic, strong) UIImagePickerController *imagePickerVc; | ||
| 24 | - | ||
| 25 | -@property (nonatomic, strong) UILabel *titleLab; | ||
| 26 | -@property (nonatomic, strong) UICollectionView *collectionView; | ||
| 27 | -@property (nonatomic, strong) LxGridViewFlowLayout *layout; | ||
| 28 | -@property (nonatomic, strong) CLLocation *location; | ||
| 29 | -@property (nonatomic, strong) NSMutableArray *selectedPhotos; | ||
| 30 | -@property (nonatomic, strong) NSMutableArray *selectedAssets; | ||
| 31 | -@property (nonatomic, assign) BOOL isSelectOriginalPhoto; | ||
| 32 | -@property (nonatomic, assign) CGFloat itemWH; | ||
| 33 | -@property (nonatomic, assign) CGFloat margin; | ||
| 34 | -@property (nonatomic, assign) CGFloat collHeight; | ||
| 35 | -@property (nonatomic, assign) CGFloat add; //是否隐藏加号 | ||
| 36 | -@property (nonatomic, assign) CGFloat colTop; //collectionView 距离顶部坐标 | 23 | +//@property (nonatomic, strong) UIImagePickerController *imagePickerVc; |
| 24 | +// | ||
| 25 | +//@property (nonatomic, strong) UILabel *titleLab; | ||
| 26 | +//@property (nonatomic, strong) UICollectionView *collectionView; | ||
| 27 | +//@property (nonatomic, strong) LxGridViewFlowLayout *layout; | ||
| 28 | +//@property (nonatomic, strong) CLLocation *location; | ||
| 29 | +//@property (nonatomic, strong) NSMutableArray *selectedPhotos; | ||
| 30 | +//@property (nonatomic, strong) NSMutableArray *selectedAssets; | ||
| 31 | +//@property (nonatomic, assign) BOOL isSelectOriginalPhoto; | ||
| 32 | +//@property (nonatomic, assign) CGFloat itemWH; | ||
| 33 | +//@property (nonatomic, assign) CGFloat margin; | ||
| 34 | +//@property (nonatomic, assign) CGFloat collHeight; | ||
| 35 | +//@property (nonatomic, assign) CGFloat add; //是否隐藏加号 | ||
| 36 | +//@property (nonatomic, assign) CGFloat colTop; //collectionView 距离顶部坐标 | ||
| 37 | @end | 37 | @end |
| 38 | @implementation CNLiveUploadVoucher | 38 | @implementation CNLiveUploadVoucher |
| 39 | #pragma clang diagnostic push | 39 | #pragma clang diagnostic push |
| @@ -47,9 +47,9 @@ | @@ -47,9 +47,9 @@ | ||
| 47 | self = [super initWithFrame:frame]; | 47 | self = [super initWithFrame:frame]; |
| 48 | if (self) { | 48 | if (self) { |
| 49 | self.backgroundColor = [UIColor whiteColor]; | 49 | self.backgroundColor = [UIColor whiteColor]; |
| 50 | - _add = 1; | ||
| 51 | - _selectedPhotos = [[NSMutableArray alloc] init]; | ||
| 52 | - _selectedAssets = [[NSMutableArray alloc] init]; | 50 | +// _add = 1; |
| 51 | +// _selectedPhotos = [[NSMutableArray alloc] init]; | ||
| 52 | +// _selectedAssets = [[NSMutableArray alloc] init]; | ||
| 53 | [self configCollectionView]; | 53 | [self configCollectionView]; |
| 54 | } | 54 | } |
| 55 | return self; | 55 | return self; |
| @@ -57,386 +57,386 @@ | @@ -57,386 +57,386 @@ | ||
| 57 | #pragma mark - 添加collectionView | 57 | #pragma mark - 添加collectionView |
| 58 | - (void)configCollectionView { | 58 | - (void)configCollectionView { |
| 59 | // 如不需要长按排序效果,将LxGridViewFlowLayout类改成UICollectionViewFlowLayout即可 | 59 | // 如不需要长按排序效果,将LxGridViewFlowLayout类改成UICollectionViewFlowLayout即可 |
| 60 | - _layout = [[LxGridViewFlowLayout alloc] init]; | ||
| 61 | - _margin = 8; | ||
| 62 | - _itemWH = (KScreenWidth - 20 - 2 * _margin - 4) / 3 - _margin; | ||
| 63 | - _layout.itemSize = CGSizeMake(_itemWH, _itemWH); | ||
| 64 | - _layout.minimumInteritemSpacing = _margin; | ||
| 65 | - _layout.minimumLineSpacing = _margin; | ||
| 66 | - _colTop = 20; | ||
| 67 | - if (self.titleLabel) { | ||
| 68 | - _colTop += self.titleLabel.height+15; | ||
| 69 | - [self addSubview:self.titleLabel]; | ||
| 70 | - } | ||
| 71 | - _collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(10, _colTop, KScreenWidth-20, _itemWH+10) collectionViewLayout:_layout]; | ||
| 72 | - _collectionView.alwaysBounceVertical = YES; | ||
| 73 | - _collectionView.backgroundColor = [UIColor whiteColor]; | ||
| 74 | - _collectionView.contentInset = UIEdgeInsetsMake(4, 4, 4, 4); | ||
| 75 | - _collectionView.dataSource = self; | ||
| 76 | - _collectionView.delegate = self; | ||
| 77 | - _collectionView.scrollEnabled = NO; | ||
| 78 | - _collectionView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; | ||
| 79 | - [self addSubview:_collectionView]; | ||
| 80 | - [_collectionView registerClass:[TZTestCell class] forCellWithReuseIdentifier:@"TZTestCell"]; | 60 | +// _layout = [[LxGridViewFlowLayout alloc] init]; |
| 61 | +// _margin = 8; | ||
| 62 | +// _itemWH = (KScreenWidth - 20 - 2 * _margin - 4) / 3 - _margin; | ||
| 63 | +// _layout.itemSize = CGSizeMake(_itemWH, _itemWH); | ||
| 64 | +// _layout.minimumInteritemSpacing = _margin; | ||
| 65 | +// _layout.minimumLineSpacing = _margin; | ||
| 66 | +// _colTop = 20; | ||
| 67 | +// if (self.titleLabel) { | ||
| 68 | +// _colTop += self.titleLabel.height+15; | ||
| 69 | +// [self addSubview:self.titleLabel]; | ||
| 70 | +// } | ||
| 71 | +// _collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(10, _colTop, KScreenWidth-20, _itemWH+10) collectionViewLayout:_layout]; | ||
| 72 | +// _collectionView.alwaysBounceVertical = YES; | ||
| 73 | +// _collectionView.backgroundColor = [UIColor whiteColor]; | ||
| 74 | +// _collectionView.contentInset = UIEdgeInsetsMake(4, 4, 4, 4); | ||
| 75 | +// _collectionView.dataSource = self; | ||
| 76 | +// _collectionView.delegate = self; | ||
| 77 | +// _collectionView.scrollEnabled = NO; | ||
| 78 | +// _collectionView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; | ||
| 79 | +// [self addSubview:_collectionView]; | ||
| 80 | +// [_collectionView registerClass:[TZTestCell class] forCellWithReuseIdentifier:@"TZTestCell"]; | ||
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | #pragma mark - Action | 83 | #pragma mark - Action |
| 84 | #pragma mark - Action | 84 | #pragma mark - Action |
| 85 | -- (void)deleteBtnClik:(UIButton *)sender { | ||
| 86 | - __weak typeof(self) weakSelf = self; | ||
| 87 | - [_selectedPhotos removeObjectAtIndex:sender.tag]; | ||
| 88 | - [_selectedAssets removeObjectAtIndex:sender.tag]; | ||
| 89 | - [_collectionView performBatchUpdates:^{ | ||
| 90 | - NSIndexPath *indexPath = [NSIndexPath indexPathForItem:sender.tag inSection:0]; | ||
| 91 | - [weakSelf.collectionView deleteItemsAtIndexPaths:@[indexPath]]; | ||
| 92 | - } completion:^(BOOL finished) { | ||
| 93 | - weakSelf.add = 1; | ||
| 94 | - [weakSelf updateHeight]; | ||
| 95 | - }]; | ||
| 96 | - | ||
| 97 | -} | ||
| 98 | - | ||
| 99 | -#pragma mark - UICollectionViewdelegate | ||
| 100 | - | ||
| 101 | -- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { | ||
| 102 | - return self.selectedPhotos.count + self.add; | ||
| 103 | -} | ||
| 104 | -- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { | ||
| 105 | - TZTestCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TZTestCell" forIndexPath:indexPath]; | ||
| 106 | - cell.videoImageView.hidden = YES; | ||
| 107 | - cell.gifLable.hidden = YES; | ||
| 108 | - | ||
| 109 | - if (indexPath.row == _selectedPhotos.count) { | ||
| 110 | - cell.imageView.image = [UIImage cnLive_getImageNameWithBundle:@"pj_tianjiazhaopian" bundle:@"CNLiveMyOrderModule.bundle/CNLiveMyOrderModule" targetClass:[self class]]; | ||
| 111 | - cell.deleteBtn.hidden = YES; | ||
| 112 | - } else { | ||
| 113 | - cell.imageView.image = _selectedPhotos[indexPath.row]; | ||
| 114 | - cell.asset = _selectedAssets[indexPath.row]; | ||
| 115 | - cell.deleteBtn.hidden = NO; | ||
| 116 | - } | ||
| 117 | - | ||
| 118 | - cell.deleteBtn.tag = indexPath.row; | ||
| 119 | - [cell.deleteBtn addTarget:self action:@selector(deleteBtnClik:) forControlEvents:UIControlEventTouchUpInside]; | ||
| 120 | - return cell; | ||
| 121 | -} | ||
| 122 | - | ||
| 123 | -- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { | ||
| 124 | - __weak typeof(self) weakSelf = self; | ||
| 125 | - if (indexPath.row == _selectedPhotos.count) { | ||
| 126 | - | ||
| 127 | - [self createAlertViewTitleArray:@[@"拍照",@"从相册选取"] textColor:KTextBlackColor font:UIFontMake(15) actionBlock:^(UIButton *button, NSInteger didRow) { | ||
| 128 | - | ||
| 129 | - switch (didRow) { | ||
| 130 | - case 0: { | ||
| 131 | - [self takePhoto]; | ||
| 132 | - } | ||
| 133 | - break; | ||
| 134 | - | ||
| 135 | - case 1: { | ||
| 136 | - [self pushTZImagePickerController]; | ||
| 137 | - } | ||
| 138 | - break; | ||
| 139 | - | ||
| 140 | - default: | ||
| 141 | - break; | ||
| 142 | - } | ||
| 143 | - | ||
| 144 | - }]; | ||
| 145 | - | ||
| 146 | - } else { //预览照片 | ||
| 147 | - CNImagePickerController *imagePickerVc = [[CNImagePickerController alloc] initWithSelectedAssets:_selectedAssets selectedPhotos:_selectedPhotos index:indexPath.row]; | ||
| 148 | - [imagePickerVc configTZImagePicker]; | ||
| 149 | - imagePickerVc.maxImagesCount = 9; | ||
| 150 | - imagePickerVc.allowPickingGif = NO; | ||
| 151 | - imagePickerVc.allowPickingOriginalPhoto = YES; | ||
| 152 | - imagePickerVc.allowPickingMultipleVideo = NO; | ||
| 153 | - imagePickerVc.isSelectOriginalPhoto = _isSelectOriginalPhoto; | ||
| 154 | - [imagePickerVc setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray *assets, BOOL isSelectOriginalPhoto) { | ||
| 155 | - weakSelf.selectedPhotos = [NSMutableArray arrayWithArray:photos]; | ||
| 156 | - weakSelf.selectedAssets = [NSMutableArray arrayWithArray:assets]; | ||
| 157 | - weakSelf.isSelectOriginalPhoto = isSelectOriginalPhoto; | ||
| 158 | - [weakSelf.collectionView reloadData]; | ||
| 159 | - weakSelf.collectionView.contentSize = CGSizeMake(0, ((weakSelf.selectedPhotos.count + 2) / 3 ) * (weakSelf.margin + weakSelf.itemWH)); | ||
| 160 | - }]; | ||
| 161 | - [self.viewController presentViewController:imagePickerVc animated:YES completion:nil]; | ||
| 162 | - | ||
| 163 | - } | ||
| 164 | -} | ||
| 165 | -#pragma mark - LxGridViewDataSource | ||
| 166 | -/// 以下三个方法为长按排序相关代码 | ||
| 167 | -- (BOOL)collectionView:(UICollectionView *)collectionView canMoveItemAtIndexPath:(NSIndexPath *)indexPath { | ||
| 168 | - return indexPath.item < _selectedPhotos.count; | ||
| 169 | -} | ||
| 170 | - | ||
| 171 | -- (BOOL)collectionView:(UICollectionView *)collectionView itemAtIndexPath:(NSIndexPath *)sourceIndexPath canMoveToIndexPath:(NSIndexPath *)destinationIndexPath { | ||
| 172 | - return (sourceIndexPath.item < _selectedPhotos.count && destinationIndexPath.item < _selectedPhotos.count); | ||
| 173 | -} | ||
| 174 | - | ||
| 175 | -- (void)collectionView:(UICollectionView *)collectionView itemAtIndexPath:(NSIndexPath *)sourceIndexPath didMoveToIndexPath:(NSIndexPath *)destinationIndexPath { | ||
| 176 | - UIImage *image = _selectedPhotos[sourceIndexPath.item]; | ||
| 177 | - [_selectedPhotos removeObjectAtIndex:sourceIndexPath.item]; | ||
| 178 | - [_selectedPhotos insertObject:image atIndex:destinationIndexPath.item]; | ||
| 179 | - | ||
| 180 | - id asset = _selectedAssets[sourceIndexPath.item]; | ||
| 181 | - [_selectedAssets removeObjectAtIndex:sourceIndexPath.item]; | ||
| 182 | - [_selectedAssets insertObject:asset atIndex:destinationIndexPath.item]; | ||
| 183 | - | ||
| 184 | - [_collectionView reloadData]; | ||
| 185 | - | ||
| 186 | - if (self.delegate && [self.delegate respondsToSelector:@selector(updateImages:)]) { | ||
| 187 | - [self.delegate updateImages:_selectedAssets]; | ||
| 188 | - } | ||
| 189 | -} | ||
| 190 | - | ||
| 191 | -#pragma mark - UIImagePickerController | ||
| 192 | -- (void)takePhoto { | ||
| 193 | - AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; | ||
| 194 | - if ((authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied) && iOS7Later) { | ||
| 195 | - // 无相机权限 做一个友好的提示 | ||
| 196 | - if (iOS8Later) { | ||
| 197 | - UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"无法使用相机" message:@"请在iPhone的“设置-隐私-相机“中允许访问相机" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];//设置 | ||
| 198 | - | ||
| 199 | - [alert show]; | ||
| 200 | - } | ||
| 201 | - } else if (authStatus == AVAuthorizationStatusNotDetermined) { | ||
| 202 | - // fix issue 466, 防止用户首次拍照拒绝授权时相机页黑屏 | ||
| 203 | - if (iOS7Later) { | ||
| 204 | - [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) { | ||
| 205 | - if (granted) { | ||
| 206 | - dispatch_sync(dispatch_get_main_queue(), ^{ | ||
| 207 | - [self takePhoto]; | ||
| 208 | - }); | ||
| 209 | - } | ||
| 210 | - }]; | ||
| 211 | - } else { | ||
| 212 | - [self takePhoto]; | ||
| 213 | - } | ||
| 214 | - // 拍照之前还需要检查相册权限 | ||
| 215 | - } else if ([TZImageManager authorizationStatus] == 2) { // 已被拒绝,没有相册权限,将无法保存拍的照片 | ||
| 216 | - if (iOS8Later) { | ||
| 217 | - UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"无法访问相册" message:@"请在iPhone的“设置-隐私-相册“中允许访问相册" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];//设置 | ||
| 218 | - [alert show]; | ||
| 219 | - } | ||
| 220 | - } else if ([TZImageManager authorizationStatus] == 0) { // 未请求过相册权限 | ||
| 221 | - [[TZImageManager manager] requestAuthorizationWithCompletion:^{ | ||
| 222 | - [self takePhoto]; | ||
| 223 | - }]; | ||
| 224 | - } else { | ||
| 225 | - [self pushImagePickerController]; | ||
| 226 | - } | ||
| 227 | -} | ||
| 228 | -// 调用相机 | ||
| 229 | -- (void)pushImagePickerController { | ||
| 230 | - UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; | ||
| 231 | - if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) { | ||
| 232 | - self.imagePickerVc.sourceType = sourceType; | ||
| 233 | - if(iOS8Later) { | ||
| 234 | - _imagePickerVc.modalPresentationStyle = UIModalPresentationOverCurrentContext; | ||
| 235 | - } | ||
| 236 | - [self.viewController presentViewController:_imagePickerVc animated:YES completion:nil]; | ||
| 237 | - } else { | ||
| 238 | - NSLog(@"模拟器中无法打开照相机,请在真机中使用"); | ||
| 239 | - } | ||
| 240 | -} | ||
| 241 | -#pragma mark - TZImagePickerController | ||
| 242 | -- (void)pushTZImagePickerController { | ||
| 243 | - CNImagePickerController *imagePickerVc = [[CNImagePickerController alloc]initWithMaxImagesCount:9 columnNumber:4 delegate:self pushPhotoPickerVc:YES]; | ||
| 244 | - [imagePickerVc configTZImagePicker];//配置 | ||
| 245 | -#pragma mark - 五类个性化设置,这些参数都可以不传,此时会走默认设置 | ||
| 246 | - imagePickerVc.isSelectOriginalPhoto = _isSelectOriginalPhoto; | ||
| 247 | - | ||
| 248 | - imagePickerVc.selectedAssets = _selectedAssets; //目前已经选中的图片数组 | ||
| 249 | - imagePickerVc.allowTakePicture = NO; //在内部显示拍照按钮 | ||
| 250 | - imagePickerVc.allowPickingVideo = NO; //是否允许选择视频 | ||
| 251 | - imagePickerVc.allowPickingImage = YES; //是否允许选择图片 | ||
| 252 | - imagePickerVc.allowPickingOriginalPhoto = YES; //选择原图 | ||
| 253 | - imagePickerVc.allowPickingGif = NO; //选择Gif | ||
| 254 | - imagePickerVc.allowPickingMultipleVideo = NO; // 是否可以多选视频 | ||
| 255 | - imagePickerVc.sortAscendingByModificationDate = YES;//排序 | ||
| 256 | - imagePickerVc.showSelectBtn = NO; | ||
| 257 | - imagePickerVc.allowCrop = NO; //是否允许裁剪 | ||
| 258 | - imagePickerVc.needCircleCrop = NO; //是否使用圆形裁剪 | ||
| 259 | - | ||
| 260 | - // 你可以通过block或者代理,来得到用户选择的照片. | ||
| 261 | - [imagePickerVc setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray *assets, BOOL isSelectOriginalPhoto) { | ||
| 262 | - | ||
| 263 | - }]; | ||
| 264 | - [self.viewController presentViewController:imagePickerVc animated:YES completion:nil]; | ||
| 265 | -} | ||
| 266 | -- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { | ||
| 267 | - [picker dismissViewControllerAnimated:YES completion:nil]; | ||
| 268 | - NSString *type = [info objectForKey:UIImagePickerControllerMediaType]; | ||
| 269 | - if ([type isEqualToString:@"public.image"]) { | ||
| 270 | - TZImagePickerController *tzImagePickerVc = [[TZImagePickerController alloc] initWithMaxImagesCount:1 delegate:self]; | ||
| 271 | - tzImagePickerVc.modalPresentationStyle = UIModalPresentationFullScreen; | ||
| 272 | - tzImagePickerVc.sortAscendingByModificationDate = YES; | ||
| 273 | - [tzImagePickerVc showProgressHUD]; | ||
| 274 | - UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; | ||
| 275 | - | ||
| 276 | - // save photo and get asset / 保存图片,获取到asset | ||
| 277 | - [[TZImageManager manager] savePhotoWithImage:image location:nil completion:^(NSError *error){ | ||
| 278 | - [tzImagePickerVc hideProgressHUD]; | ||
| 279 | - if (error) { | ||
| 280 | - [tzImagePickerVc hideProgressHUD]; | ||
| 281 | - NSLog(@"图片保存失败 %@",error); | ||
| 282 | - } else { | ||
| 283 | - [[TZImageManager manager] getCameraRollAlbum:NO allowPickingImage:YES needFetchAssets:YES completion:^(TZAlbumModel *model) { | ||
| 284 | - [[TZImageManager manager] getAssetsFromFetchResult:model.result allowPickingVideo:NO allowPickingImage:YES completion:^(NSArray<TZAssetModel *> *models) { | ||
| 285 | - [tzImagePickerVc hideProgressHUD]; | ||
| 286 | - TZAssetModel *assetModel = [models firstObject]; | ||
| 287 | - if (tzImagePickerVc.sortAscendingByModificationDate) { | ||
| 288 | - assetModel = [models lastObject]; | ||
| 289 | - } | ||
| 290 | - | ||
| 291 | - [self refreshCollectionViewWithAddedAsset:assetModel.asset image:image]; | ||
| 292 | - | ||
| 293 | - }]; | ||
| 294 | - }]; | ||
| 295 | - } | ||
| 296 | - }]; | ||
| 297 | - } | ||
| 298 | -} | ||
| 299 | - | ||
| 300 | -- (void)refreshCollectionViewWithAddedAsset:(id)asset image:(UIImage *)image { | ||
| 301 | - [_selectedAssets addObject:asset]; | ||
| 302 | - [_selectedPhotos addObject:image]; | ||
| 303 | - [_collectionView reloadData]; | ||
| 304 | - | ||
| 305 | - if (_selectedPhotos.count == 9) { | ||
| 306 | - _add = 0; | ||
| 307 | - } else { | ||
| 308 | - _add = 1; | ||
| 309 | - } | ||
| 310 | - | ||
| 311 | - [self updateHeight]; | ||
| 312 | - | ||
| 313 | -} | ||
| 314 | -- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { | ||
| 315 | - if ([picker isKindOfClass:[UIImagePickerController class]]) { | ||
| 316 | - [picker dismissViewControllerAnimated:YES completion:nil]; | ||
| 317 | - } | ||
| 318 | -} | ||
| 319 | - | ||
| 320 | -#pragma mark - UIActionSheetDelegate | ||
| 321 | - | ||
| 322 | -- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { | ||
| 323 | - if (buttonIndex == 0) { // take photo / 去拍照 | ||
| 324 | - [self takePhoto]; | ||
| 325 | - } else if (buttonIndex == 1) { | ||
| 326 | - [self pushTZImagePickerController]; | ||
| 327 | - } | ||
| 328 | -} | ||
| 329 | - | ||
| 330 | -#pragma mark - UIAlertViewDelegate | ||
| 331 | -- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { | ||
| 332 | - if (buttonIndex == 1) { // 去设置界面,开启相机访问权限 | ||
| 333 | - if (iOS8Later) { | ||
| 334 | - [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; | ||
| 335 | - } | ||
| 336 | - } | ||
| 337 | -} | ||
| 338 | - | ||
| 339 | -#pragma mark - TZImagePickerControllerDelegate | ||
| 340 | -- (void)tz_imagePickerControllerDidCancel:(TZImagePickerController *)picker { | ||
| 341 | - // NSLog(@"cancel"); | ||
| 342 | -} | ||
| 343 | - | ||
| 344 | -- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto infos:(NSArray<NSDictionary *> *)infos { | ||
| 345 | - _selectedPhotos = [NSMutableArray arrayWithArray:photos]; | ||
| 346 | - _selectedAssets = [NSMutableArray arrayWithArray:assets]; | ||
| 347 | - _isSelectOriginalPhoto = isSelectOriginalPhoto; | ||
| 348 | - | ||
| 349 | - if (_selectedPhotos.count == 9) { | ||
| 350 | - _add = 0; | ||
| 351 | - } else { | ||
| 352 | - _add = 1; | ||
| 353 | - } | ||
| 354 | - | ||
| 355 | - [self updateHeight]; | ||
| 356 | - | ||
| 357 | -} | ||
| 358 | - | ||
| 359 | -//更新自身高度 | ||
| 360 | -- (void)updateHeight { | ||
| 361 | - | ||
| 362 | - NSInteger num = 0; | ||
| 363 | - if (_selectedAssets.count == 9) { | ||
| 364 | - num = 9; | ||
| 365 | - } else { | ||
| 366 | - num = _selectedAssets.count+1; | ||
| 367 | - } | ||
| 368 | - | ||
| 369 | - NSInteger integer = num/3; | ||
| 370 | - NSInteger remainder = num%3; | ||
| 371 | - | ||
| 372 | - if (remainder > 0) { | ||
| 373 | - integer += 1; | ||
| 374 | - } | ||
| 375 | - | ||
| 376 | - _collectionView.frame = CGRectMake(10, _colTop, KScreenWidth-20, _itemWH*integer + integer*_margin +10); | ||
| 377 | - [_collectionView reloadData]; | ||
| 378 | - | ||
| 379 | - CGFloat h = _collectionView.height + integer*_margin + 60; | ||
| 380 | - [self mas_updateConstraints:^(MASConstraintMaker *make) { | ||
| 381 | - make.height.mas_equalTo(h); | ||
| 382 | - }]; | ||
| 383 | - | ||
| 384 | - if (self.delegate && [self.delegate respondsToSelector:@selector(updateImages:)]) { | ||
| 385 | - [self.delegate updateImages:_selectedPhotos]; | ||
| 386 | - } | ||
| 387 | - | ||
| 388 | -} | ||
| 389 | - | ||
| 390 | - | ||
| 391 | -// Decide album show or not't | ||
| 392 | -// 决定相册显示与否 | ||
| 393 | -- (BOOL)isAlbumCanSelect:(NSString *)albumName result:(id)result { | ||
| 394 | - return YES; | ||
| 395 | -} | ||
| 396 | - | ||
| 397 | -// Decide asset show or not't | ||
| 398 | -// 决定asset显示与否 | ||
| 399 | -- (BOOL)isAssetCanSelect:(id)asset { | ||
| 400 | - return YES; | ||
| 401 | -} | ||
| 402 | - | ||
| 403 | -#pragma mark - | ||
| 404 | -#pragma mark - Getter | ||
| 405 | -- (UILabel *)titleLab | ||
| 406 | -{ | ||
| 407 | - if (!_titleLab) { | ||
| 408 | - _titleLab = [[UILabel alloc] init]; | ||
| 409 | - _titleLab.font = [UIFont systemFontOfSize:15]; | ||
| 410 | - _titleLab.text = @"上传照片"; | ||
| 411 | - } | ||
| 412 | - return _titleLab; | ||
| 413 | -} | ||
| 414 | - | ||
| 415 | -- (UIImagePickerController *)imagePickerVc { | ||
| 416 | - if (_imagePickerVc == nil) { | ||
| 417 | - _imagePickerVc = [[UIImagePickerController alloc] init]; | ||
| 418 | - _imagePickerVc.delegate = self; | ||
| 419 | - // set appearance / 改变相册选择页的导航栏外观 | ||
| 420 | - if (iOS7Later) { | ||
| 421 | - _imagePickerVc.navigationBar.barTintColor = self.viewController.navigationController.navigationBar.barTintColor; | ||
| 422 | - } | ||
| 423 | - _imagePickerVc.navigationBar.tintColor = self.viewController.navigationController.navigationBar.tintColor; | ||
| 424 | - UIBarButtonItem *tzBarItem, *BarItem; | ||
| 425 | - if (iOS9Later) { | ||
| 426 | - tzBarItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[TZImagePickerController class]]]; | ||
| 427 | - BarItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UIImagePickerController class]]]; | ||
| 428 | - } else { | ||
| 429 | - tzBarItem = [UIBarButtonItem appearanceWhenContainedIn:[TZImagePickerController class], nil]; | ||
| 430 | - BarItem = [UIBarButtonItem appearanceWhenContainedIn:[UIImagePickerController class], nil]; | ||
| 431 | - } | ||
| 432 | - NSDictionary *titleTextAttributes = [tzBarItem titleTextAttributesForState:UIControlStateNormal]; | ||
| 433 | - [BarItem setTitleTextAttributes:titleTextAttributes forState:UIControlStateNormal]; | ||
| 434 | - | ||
| 435 | - } | ||
| 436 | - return _imagePickerVc; | ||
| 437 | -} | ||
| 438 | - | ||
| 439 | -#pragma clang diagnostic pop | 85 | +//- (void)deleteBtnClik:(UIButton *)sender { |
| 86 | +// __weak typeof(self) weakSelf = self; | ||
| 87 | +// [_selectedPhotos removeObjectAtIndex:sender.tag]; | ||
| 88 | +// [_selectedAssets removeObjectAtIndex:sender.tag]; | ||
| 89 | +// [_collectionView performBatchUpdates:^{ | ||
| 90 | +// NSIndexPath *indexPath = [NSIndexPath indexPathForItem:sender.tag inSection:0]; | ||
| 91 | +// [weakSelf.collectionView deleteItemsAtIndexPaths:@[indexPath]]; | ||
| 92 | +// } completion:^(BOOL finished) { | ||
| 93 | +// weakSelf.add = 1; | ||
| 94 | +// [weakSelf updateHeight]; | ||
| 95 | +// }]; | ||
| 96 | +// | ||
| 97 | +//} | ||
| 98 | +// | ||
| 99 | +//#pragma mark - UICollectionViewdelegate | ||
| 100 | +// | ||
| 101 | +//- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { | ||
| 102 | +// return self.selectedPhotos.count + self.add; | ||
| 103 | +//} | ||
| 104 | +//- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { | ||
| 105 | +// TZTestCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TZTestCell" forIndexPath:indexPath]; | ||
| 106 | +// cell.videoImageView.hidden = YES; | ||
| 107 | +// cell.gifLable.hidden = YES; | ||
| 108 | +// | ||
| 109 | +// if (indexPath.row == _selectedPhotos.count) { | ||
| 110 | +// cell.imageView.image = [UIImage cnLive_getImageNameWithBundle:@"pj_tianjiazhaopian" bundle:@"CNLiveMyOrderModule.bundle/CNLiveMyOrderModule" targetClass:[self class]]; | ||
| 111 | +// cell.deleteBtn.hidden = YES; | ||
| 112 | +// } else { | ||
| 113 | +// cell.imageView.image = _selectedPhotos[indexPath.row]; | ||
| 114 | +// cell.asset = _selectedAssets[indexPath.row]; | ||
| 115 | +// cell.deleteBtn.hidden = NO; | ||
| 116 | +// } | ||
| 117 | +// | ||
| 118 | +// cell.deleteBtn.tag = indexPath.row; | ||
| 119 | +// [cell.deleteBtn addTarget:self action:@selector(deleteBtnClik:) forControlEvents:UIControlEventTouchUpInside]; | ||
| 120 | +// return cell; | ||
| 121 | +//} | ||
| 122 | +// | ||
| 123 | +//- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { | ||
| 124 | +// __weak typeof(self) weakSelf = self; | ||
| 125 | +// if (indexPath.row == _selectedPhotos.count) { | ||
| 126 | +// | ||
| 127 | +// [self createAlertViewTitleArray:@[@"拍照",@"从相册选取"] textColor:KTextBlackColor font:UIFontMake(15) actionBlock:^(UIButton *button, NSInteger didRow) { | ||
| 128 | +// | ||
| 129 | +// switch (didRow) { | ||
| 130 | +// case 0: { | ||
| 131 | +// [self takePhoto]; | ||
| 132 | +// } | ||
| 133 | +// break; | ||
| 134 | +// | ||
| 135 | +// case 1: { | ||
| 136 | +// [self pushTZImagePickerController]; | ||
| 137 | +// } | ||
| 138 | +// break; | ||
| 139 | +// | ||
| 140 | +// default: | ||
| 141 | +// break; | ||
| 142 | +// } | ||
| 143 | +// | ||
| 144 | +// }]; | ||
| 145 | +// | ||
| 146 | +// } else { //预览照片 | ||
| 147 | +// CNImagePickerController *imagePickerVc = [[CNImagePickerController alloc] initWithSelectedAssets:_selectedAssets selectedPhotos:_selectedPhotos index:indexPath.row]; | ||
| 148 | +// [imagePickerVc configTZImagePicker]; | ||
| 149 | +// imagePickerVc.maxImagesCount = 9; | ||
| 150 | +// imagePickerVc.allowPickingGif = NO; | ||
| 151 | +// imagePickerVc.allowPickingOriginalPhoto = YES; | ||
| 152 | +// imagePickerVc.allowPickingMultipleVideo = NO; | ||
| 153 | +// imagePickerVc.isSelectOriginalPhoto = _isSelectOriginalPhoto; | ||
| 154 | +// [imagePickerVc setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray *assets, BOOL isSelectOriginalPhoto) { | ||
| 155 | +// weakSelf.selectedPhotos = [NSMutableArray arrayWithArray:photos]; | ||
| 156 | +// weakSelf.selectedAssets = [NSMutableArray arrayWithArray:assets]; | ||
| 157 | +// weakSelf.isSelectOriginalPhoto = isSelectOriginalPhoto; | ||
| 158 | +// [weakSelf.collectionView reloadData]; | ||
| 159 | +// weakSelf.collectionView.contentSize = CGSizeMake(0, ((weakSelf.selectedPhotos.count + 2) / 3 ) * (weakSelf.margin + weakSelf.itemWH)); | ||
| 160 | +// }]; | ||
| 161 | +// [self.viewController presentViewController:imagePickerVc animated:YES completion:nil]; | ||
| 162 | +// | ||
| 163 | +// } | ||
| 164 | +//} | ||
| 165 | +//#pragma mark - LxGridViewDataSource | ||
| 166 | +///// 以下三个方法为长按排序相关代码 | ||
| 167 | +//- (BOOL)collectionView:(UICollectionView *)collectionView canMoveItemAtIndexPath:(NSIndexPath *)indexPath { | ||
| 168 | +// return indexPath.item < _selectedPhotos.count; | ||
| 169 | +//} | ||
| 170 | +// | ||
| 171 | +//- (BOOL)collectionView:(UICollectionView *)collectionView itemAtIndexPath:(NSIndexPath *)sourceIndexPath canMoveToIndexPath:(NSIndexPath *)destinationIndexPath { | ||
| 172 | +// return (sourceIndexPath.item < _selectedPhotos.count && destinationIndexPath.item < _selectedPhotos.count); | ||
| 173 | +//} | ||
| 174 | +// | ||
| 175 | +//- (void)collectionView:(UICollectionView *)collectionView itemAtIndexPath:(NSIndexPath *)sourceIndexPath didMoveToIndexPath:(NSIndexPath *)destinationIndexPath { | ||
| 176 | +// UIImage *image = _selectedPhotos[sourceIndexPath.item]; | ||
| 177 | +// [_selectedPhotos removeObjectAtIndex:sourceIndexPath.item]; | ||
| 178 | +// [_selectedPhotos insertObject:image atIndex:destinationIndexPath.item]; | ||
| 179 | +// | ||
| 180 | +// id asset = _selectedAssets[sourceIndexPath.item]; | ||
| 181 | +// [_selectedAssets removeObjectAtIndex:sourceIndexPath.item]; | ||
| 182 | +// [_selectedAssets insertObject:asset atIndex:destinationIndexPath.item]; | ||
| 183 | +// | ||
| 184 | +// [_collectionView reloadData]; | ||
| 185 | +// | ||
| 186 | +// if (self.delegate && [self.delegate respondsToSelector:@selector(updateImages:)]) { | ||
| 187 | +// [self.delegate updateImages:_selectedAssets]; | ||
| 188 | +// } | ||
| 189 | +//} | ||
| 190 | +// | ||
| 191 | +//#pragma mark - UIImagePickerController | ||
| 192 | +//- (void)takePhoto { | ||
| 193 | +// AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; | ||
| 194 | +// if ((authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied) && iOS7Later) { | ||
| 195 | +// // 无相机权限 做一个友好的提示 | ||
| 196 | +// if (iOS8Later) { | ||
| 197 | +// UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"无法使用相机" message:@"请在iPhone的“设置-隐私-相机“中允许访问相机" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];//设置 | ||
| 198 | +// | ||
| 199 | +// [alert show]; | ||
| 200 | +// } | ||
| 201 | +// } else if (authStatus == AVAuthorizationStatusNotDetermined) { | ||
| 202 | +// // fix issue 466, 防止用户首次拍照拒绝授权时相机页黑屏 | ||
| 203 | +// if (iOS7Later) { | ||
| 204 | +// [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) { | ||
| 205 | +// if (granted) { | ||
| 206 | +// dispatch_sync(dispatch_get_main_queue(), ^{ | ||
| 207 | +// [self takePhoto]; | ||
| 208 | +// }); | ||
| 209 | +// } | ||
| 210 | +// }]; | ||
| 211 | +// } else { | ||
| 212 | +// [self takePhoto]; | ||
| 213 | +// } | ||
| 214 | +// // 拍照之前还需要检查相册权限 | ||
| 215 | +// } else if ([TZImageManager authorizationStatus] == 2) { // 已被拒绝,没有相册权限,将无法保存拍的照片 | ||
| 216 | +// if (iOS8Later) { | ||
| 217 | +// UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"无法访问相册" message:@"请在iPhone的“设置-隐私-相册“中允许访问相册" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];//设置 | ||
| 218 | +// [alert show]; | ||
| 219 | +// } | ||
| 220 | +// } else if ([TZImageManager authorizationStatus] == 0) { // 未请求过相册权限 | ||
| 221 | +// [[TZImageManager manager] requestAuthorizationWithCompletion:^{ | ||
| 222 | +// [self takePhoto]; | ||
| 223 | +// }]; | ||
| 224 | +// } else { | ||
| 225 | +// [self pushImagePickerController]; | ||
| 226 | +// } | ||
| 227 | +//} | ||
| 228 | +//// 调用相机 | ||
| 229 | +//- (void)pushImagePickerController { | ||
| 230 | +// UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; | ||
| 231 | +// if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) { | ||
| 232 | +// self.imagePickerVc.sourceType = sourceType; | ||
| 233 | +// if(iOS8Later) { | ||
| 234 | +// _imagePickerVc.modalPresentationStyle = UIModalPresentationOverCurrentContext; | ||
| 235 | +// } | ||
| 236 | +// [self.viewController presentViewController:_imagePickerVc animated:YES completion:nil]; | ||
| 237 | +// } else { | ||
| 238 | +// NSLog(@"模拟器中无法打开照相机,请在真机中使用"); | ||
| 239 | +// } | ||
| 240 | +//} | ||
| 241 | +//#pragma mark - TZImagePickerController | ||
| 242 | +////- (void)pushTZImagePickerController { | ||
| 243 | +//// CNImagePickerController *imagePickerVc = [[CNImagePickerController alloc]initWithMaxImagesCount:9 columnNumber:4 delegate:self pushPhotoPickerVc:YES]; | ||
| 244 | +//// [imagePickerVc configTZImagePicker];//配置 | ||
| 245 | +////#pragma mark - 五类个性化设置,这些参数都可以不传,此时会走默认设置 | ||
| 246 | +//// imagePickerVc.isSelectOriginalPhoto = _isSelectOriginalPhoto; | ||
| 247 | +//// | ||
| 248 | +//// imagePickerVc.selectedAssets = _selectedAssets; //目前已经选中的图片数组 | ||
| 249 | +//// imagePickerVc.allowTakePicture = NO; //在内部显示拍照按钮 | ||
| 250 | +//// imagePickerVc.allowPickingVideo = NO; //是否允许选择视频 | ||
| 251 | +//// imagePickerVc.allowPickingImage = YES; //是否允许选择图片 | ||
| 252 | +//// imagePickerVc.allowPickingOriginalPhoto = YES; //选择原图 | ||
| 253 | +//// imagePickerVc.allowPickingGif = NO; //选择Gif | ||
| 254 | +//// imagePickerVc.allowPickingMultipleVideo = NO; // 是否可以多选视频 | ||
| 255 | +//// imagePickerVc.sortAscendingByModificationDate = YES;//排序 | ||
| 256 | +//// imagePickerVc.showSelectBtn = NO; | ||
| 257 | +//// imagePickerVc.allowCrop = NO; //是否允许裁剪 | ||
| 258 | +//// imagePickerVc.needCircleCrop = NO; //是否使用圆形裁剪 | ||
| 259 | +//// | ||
| 260 | +//// // 你可以通过block或者代理,来得到用户选择的照片. | ||
| 261 | +//// [imagePickerVc setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray *assets, BOOL isSelectOriginalPhoto) { | ||
| 262 | +//// | ||
| 263 | +//// }]; | ||
| 264 | +//// [self.viewController presentViewController:imagePickerVc animated:YES completion:nil]; | ||
| 265 | +////} | ||
| 266 | +//- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { | ||
| 267 | +// [picker dismissViewControllerAnimated:YES completion:nil]; | ||
| 268 | +// NSString *type = [info objectForKey:UIImagePickerControllerMediaType]; | ||
| 269 | +// if ([type isEqualToString:@"public.image"]) { | ||
| 270 | +// TZImagePickerController *tzImagePickerVc = [[TZImagePickerController alloc] initWithMaxImagesCount:1 delegate:self]; | ||
| 271 | +// tzImagePickerVc.modalPresentationStyle = UIModalPresentationFullScreen; | ||
| 272 | +// tzImagePickerVc.sortAscendingByModificationDate = YES; | ||
| 273 | +// [tzImagePickerVc showProgressHUD]; | ||
| 274 | +// UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; | ||
| 275 | +// | ||
| 276 | +// // save photo and get asset / 保存图片,获取到asset | ||
| 277 | +// [[TZImageManager manager] savePhotoWithImage:image location:nil completion:^(NSError *error){ | ||
| 278 | +// [tzImagePickerVc hideProgressHUD]; | ||
| 279 | +// if (error) { | ||
| 280 | +// [tzImagePickerVc hideProgressHUD]; | ||
| 281 | +// NSLog(@"图片保存失败 %@",error); | ||
| 282 | +// } else { | ||
| 283 | +// [[TZImageManager manager] getCameraRollAlbum:NO allowPickingImage:YES needFetchAssets:YES completion:^(TZAlbumModel *model) { | ||
| 284 | +// [[TZImageManager manager] getAssetsFromFetchResult:model.result allowPickingVideo:NO allowPickingImage:YES completion:^(NSArray<TZAssetModel *> *models) { | ||
| 285 | +// [tzImagePickerVc hideProgressHUD]; | ||
| 286 | +// TZAssetModel *assetModel = [models firstObject]; | ||
| 287 | +// if (tzImagePickerVc.sortAscendingByModificationDate) { | ||
| 288 | +// assetModel = [models lastObject]; | ||
| 289 | +// } | ||
| 290 | +// | ||
| 291 | +// [self refreshCollectionViewWithAddedAsset:assetModel.asset image:image]; | ||
| 292 | +// | ||
| 293 | +// }]; | ||
| 294 | +// }]; | ||
| 295 | +// } | ||
| 296 | +// }]; | ||
| 297 | +// } | ||
| 298 | +//} | ||
| 299 | +// | ||
| 300 | +//- (void)refreshCollectionViewWithAddedAsset:(id)asset image:(UIImage *)image { | ||
| 301 | +// [_selectedAssets addObject:asset]; | ||
| 302 | +// [_selectedPhotos addObject:image]; | ||
| 303 | +// [_collectionView reloadData]; | ||
| 304 | +// | ||
| 305 | +// if (_selectedPhotos.count == 9) { | ||
| 306 | +// _add = 0; | ||
| 307 | +// } else { | ||
| 308 | +// _add = 1; | ||
| 309 | +// } | ||
| 310 | +// | ||
| 311 | +// [self updateHeight]; | ||
| 312 | +// | ||
| 313 | +//} | ||
| 314 | +//- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { | ||
| 315 | +// if ([picker isKindOfClass:[UIImagePickerController class]]) { | ||
| 316 | +// [picker dismissViewControllerAnimated:YES completion:nil]; | ||
| 317 | +// } | ||
| 318 | +//} | ||
| 319 | +// | ||
| 320 | +//#pragma mark - UIActionSheetDelegate | ||
| 321 | +// | ||
| 322 | +//- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { | ||
| 323 | +// if (buttonIndex == 0) { // take photo / 去拍照 | ||
| 324 | +// [self takePhoto]; | ||
| 325 | +// } else if (buttonIndex == 1) { | ||
| 326 | +// [self pushTZImagePickerController]; | ||
| 327 | +// } | ||
| 328 | +//} | ||
| 329 | +// | ||
| 330 | +//#pragma mark - UIAlertViewDelegate | ||
| 331 | +//- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { | ||
| 332 | +// if (buttonIndex == 1) { // 去设置界面,开启相机访问权限 | ||
| 333 | +// if (iOS8Later) { | ||
| 334 | +// [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; | ||
| 335 | +// } | ||
| 336 | +// } | ||
| 337 | +//} | ||
| 338 | +// | ||
| 339 | +//#pragma mark - TZImagePickerControllerDelegate | ||
| 340 | +//- (void)tz_imagePickerControllerDidCancel:(TZImagePickerController *)picker { | ||
| 341 | +// // NSLog(@"cancel"); | ||
| 342 | +//} | ||
| 343 | +// | ||
| 344 | +//- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto infos:(NSArray<NSDictionary *> *)infos { | ||
| 345 | +// _selectedPhotos = [NSMutableArray arrayWithArray:photos]; | ||
| 346 | +// _selectedAssets = [NSMutableArray arrayWithArray:assets]; | ||
| 347 | +// _isSelectOriginalPhoto = isSelectOriginalPhoto; | ||
| 348 | +// | ||
| 349 | +// if (_selectedPhotos.count == 9) { | ||
| 350 | +// _add = 0; | ||
| 351 | +// } else { | ||
| 352 | +// _add = 1; | ||
| 353 | +// } | ||
| 354 | +// | ||
| 355 | +// [self updateHeight]; | ||
| 356 | +// | ||
| 357 | +//} | ||
| 358 | +// | ||
| 359 | +////更新自身高度 | ||
| 360 | +//- (void)updateHeight { | ||
| 361 | +// | ||
| 362 | +// NSInteger num = 0; | ||
| 363 | +// if (_selectedAssets.count == 9) { | ||
| 364 | +// num = 9; | ||
| 365 | +// } else { | ||
| 366 | +// num = _selectedAssets.count+1; | ||
| 367 | +// } | ||
| 368 | +// | ||
| 369 | +// NSInteger integer = num/3; | ||
| 370 | +// NSInteger remainder = num%3; | ||
| 371 | +// | ||
| 372 | +// if (remainder > 0) { | ||
| 373 | +// integer += 1; | ||
| 374 | +// } | ||
| 375 | +// | ||
| 376 | +// _collectionView.frame = CGRectMake(10, _colTop, KScreenWidth-20, _itemWH*integer + integer*_margin +10); | ||
| 377 | +// [_collectionView reloadData]; | ||
| 378 | +// | ||
| 379 | +// CGFloat h = _collectionView.height + integer*_margin + 60; | ||
| 380 | +// [self mas_updateConstraints:^(MASConstraintMaker *make) { | ||
| 381 | +// make.height.mas_equalTo(h); | ||
| 382 | +// }]; | ||
| 383 | +// | ||
| 384 | +// if (self.delegate && [self.delegate respondsToSelector:@selector(updateImages:)]) { | ||
| 385 | +// [self.delegate updateImages:_selectedPhotos]; | ||
| 386 | +// } | ||
| 387 | +// | ||
| 388 | +//} | ||
| 389 | +// | ||
| 390 | +// | ||
| 391 | +//// Decide album show or not't | ||
| 392 | +//// 决定相册显示与否 | ||
| 393 | +//- (BOOL)isAlbumCanSelect:(NSString *)albumName result:(id)result { | ||
| 394 | +// return YES; | ||
| 395 | +//} | ||
| 396 | +// | ||
| 397 | +//// Decide asset show or not't | ||
| 398 | +//// 决定asset显示与否 | ||
| 399 | +//- (BOOL)isAssetCanSelect:(id)asset { | ||
| 400 | +// return YES; | ||
| 401 | +//} | ||
| 402 | +// | ||
| 403 | +//#pragma mark - | ||
| 404 | +//#pragma mark - Getter | ||
| 405 | +//- (UILabel *)titleLab | ||
| 406 | +//{ | ||
| 407 | +// if (!_titleLab) { | ||
| 408 | +// _titleLab = [[UILabel alloc] init]; | ||
| 409 | +// _titleLab.font = [UIFont systemFontOfSize:15]; | ||
| 410 | +// _titleLab.text = @"上传照片"; | ||
| 411 | +// } | ||
| 412 | +// return _titleLab; | ||
| 413 | +//} | ||
| 414 | +// | ||
| 415 | +//- (UIImagePickerController *)imagePickerVc { | ||
| 416 | +// if (_imagePickerVc == nil) { | ||
| 417 | +// _imagePickerVc = [[UIImagePickerController alloc] init]; | ||
| 418 | +// _imagePickerVc.delegate = self; | ||
| 419 | +// // set appearance / 改变相册选择页的导航栏外观 | ||
| 420 | +// if (iOS7Later) { | ||
| 421 | +// _imagePickerVc.navigationBar.barTintColor = self.viewController.navigationController.navigationBar.barTintColor; | ||
| 422 | +// } | ||
| 423 | +// _imagePickerVc.navigationBar.tintColor = self.viewController.navigationController.navigationBar.tintColor; | ||
| 424 | +// UIBarButtonItem *tzBarItem, *BarItem; | ||
| 425 | +// if (iOS9Later) { | ||
| 426 | +// tzBarItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[TZImagePickerController class]]]; | ||
| 427 | +// BarItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UIImagePickerController class]]]; | ||
| 428 | +// } else { | ||
| 429 | +// tzBarItem = [UIBarButtonItem appearanceWhenContainedIn:[TZImagePickerController class], nil]; | ||
| 430 | +// BarItem = [UIBarButtonItem appearanceWhenContainedIn:[UIImagePickerController class], nil]; | ||
| 431 | +// } | ||
| 432 | +// NSDictionary *titleTextAttributes = [tzBarItem titleTextAttributesForState:UIControlStateNormal]; | ||
| 433 | +// [BarItem setTitleTextAttributes:titleTextAttributes forState:UIControlStateNormal]; | ||
| 434 | +// | ||
| 435 | +// } | ||
| 436 | +// return _imagePickerVc; | ||
| 437 | +//} | ||
| 438 | +// | ||
| 439 | +//#pragma clang diagnostic pop | ||
| 440 | 440 | ||
| 441 | 441 | ||
| 442 | 442 |
CNLiveMyOrderModule/Classes/ViewModel/CNLiveOrderEventHandle.h
| @@ -6,8 +6,8 @@ | @@ -6,8 +6,8 @@ | ||
| 6 | // | 6 | // |
| 7 | 7 | ||
| 8 | #import <Foundation/Foundation.h> | 8 | #import <Foundation/Foundation.h> |
| 9 | -#import "CNLiveOrderList.h" | ||
| 10 | -#import "CNLiveAdminAddressModel.h" | 9 | +@class CNLiveOrderList; |
| 10 | +@class CNLiveAdminAddressModel; | ||
| 11 | NS_ASSUME_NONNULL_BEGIN | 11 | NS_ASSUME_NONNULL_BEGIN |
| 12 | typedef void(^PayBlock)(int code); | 12 | typedef void(^PayBlock)(int code); |
| 13 | @interface CNLiveOrderEventHandle : NSObject | 13 | @interface CNLiveOrderEventHandle : NSObject |
| @@ -71,66 +71,6 @@ typedef void(^PayBlock)(int code); | @@ -71,66 +71,6 @@ typedef void(^PayBlock)(int code); | ||
| 71 | /** | 71 | /** |
| 72 | * 去支付 | 72 | * 去支付 |
| 73 | */ | 73 | */ |
| 74 | -+ (void)pay:(CNLiveOrderList *)orderList payBlock:(PayBlock)block;/** | ||
| 75 | -* 提交订单 | ||
| 76 | -*/ | ||
| 77 | -+ (void)submitOrder:(CNLiveOrderList *)orderList address:(CNLiveAdminAddressModel *)model superView:(UIView *)view complete:(void(^)(BOOL ret))complete; | ||
| 78 | -/** | ||
| 79 | - * 删除订单 | ||
| 80 | - */ | ||
| 81 | -+ (void)deleteOrder:(CNLiveOrderList *)orderList itemId:(NSString *)itemId superView:(UIView *)view complete:(void(^)(BOOL ret))complete; | ||
| 82 | -/** | ||
| 83 | - * 催单 | ||
| 84 | - */ | ||
| 85 | -+ (void)reminderOrder:(CNLiveOrderList *)orderList superView:(UIView *)view complete:(void(^)(NSString *msg))complete; | ||
| 86 | -/** | ||
| 87 | - * 联系达人 | ||
| 88 | - */ | ||
| 89 | -+ (void)contactUser:(CNLiveOrderList *)orderList pop:(BOOL)pop jumpBlock:(void(^)(BOOL isPop))jumpBlock; | ||
| 90 | -/** | ||
| 91 | - * 退款详情 | ||
| 92 | - */ | ||
| 93 | -+ (void)refundDetail:(CNLiveOrderList *)orderList jumpBlock:(void(^)(NSString *orderId))jumpBlock; | ||
| 94 | -/** | ||
| 95 | - * 订单详情 | ||
| 96 | - */ | ||
| 97 | -+ (void)orderDetail:(CNLiveOrderList *)orderList orderBlock:(void (^)(NSString *orderId))orderBlock; | ||
| 98 | -/** | ||
| 99 | - * 订单详情 | ||
| 100 | - */ | ||
| 101 | -// + (void)orderDetailByOrderId:(NSString *)orderId; | ||
| 102 | -/** | ||
| 103 | - * 申请退款 | ||
| 104 | - */ | ||
| 105 | -+ (void)applyForRefund:(CNLiveOrderList *)orderList jumpBlock:(void (^)(CNLiveOrderList *orderList))jumpBlock; | ||
| 106 | -/** | ||
| 107 | - * 确认收货 | ||
| 108 | - */ | ||
| 109 | -+ (void)confirmRecv:(CNLiveOrderList *)orderList itemId:(NSString *)itemId superView:(UIView *)view complete:(void(^)(BOOL ret))complete; | ||
| 110 | -/** | ||
| 111 | - * 取消订单 | ||
| 112 | - */ | ||
| 113 | -+ (void)cancelOrder:(CNLiveOrderList *)orderList superView:(UIView *)view complete:(void(^)(BOOL ret))complete; | ||
| 114 | -/** | ||
| 115 | - * 订单有误 | ||
| 116 | - */ | ||
| 117 | -+ (void)orderError:(CNLiveOrderList *)orderList superView:(UIView *)view complete:(void(^)(BOOL ret))complete; | ||
| 118 | -/** | ||
| 119 | - * 确认订单 | ||
| 120 | - */ | ||
| 121 | -+ (void)confirmOrder:(CNLiveOrderList *)orderList superView:(UIView *)view complete:(void(^)(BOOL ret))complete; | ||
| 122 | -/** | ||
| 123 | - * 评价订单 | ||
| 124 | - */ | ||
| 125 | -+ (void)evaluateOrder:(CNLiveOrderList *)orderList jumpBlock:(void (^)(CNLiveOrderList *orderList))jumpBlock; | ||
| 126 | -/** | ||
| 127 | - * 达人主页 | ||
| 128 | - */ | ||
| 129 | -+ (void)darenHome:(CNLiveOrderList *)orderList jumpBlock:(void (^)(NSString *userId))jumpBlock; | ||
| 130 | - | ||
| 131 | -/** | ||
| 132 | - * 去支付 | ||
| 133 | - */ | ||
| 134 | + (void)pay:(CNLiveOrderList *)orderList payBlock:(PayBlock)block; | 74 | + (void)pay:(CNLiveOrderList *)orderList payBlock:(PayBlock)block; |
| 135 | @end | 75 | @end |
| 136 | 76 |
CNLiveMyOrderModule/Classes/ViewModel/CNLiveOrderEventHandle.m
| @@ -13,6 +13,8 @@ | @@ -13,6 +13,8 @@ | ||
| 13 | #import <CNLiveRequestBastKit/CNLiveNetworking.h> | 13 | #import <CNLiveRequestBastKit/CNLiveNetworking.h> |
| 14 | #import "CNLiveEnvironment.h" | 14 | #import "CNLiveEnvironment.h" |
| 15 | #import "CNUserInfoManager.h" | 15 | #import "CNUserInfoManager.h" |
| 16 | +#import "CNLiveOrderList.h" | ||
| 17 | +#import "CNLiveAdminAddressModel.h" | ||
| 16 | @implementation CNLiveOrderEventHandle | 18 | @implementation CNLiveOrderEventHandle |
| 17 | #pragma mark -提交订单 | 19 | #pragma mark -提交订单 |
| 18 | + (void)submitOrder:(CNLiveOrderList *)orderList address:(DSAddressModel *)model superView:(UIView *)view complete:(void (^)(BOOL))complete { | 20 | + (void)submitOrder:(CNLiveOrderList *)orderList address:(DSAddressModel *)model superView:(UIView *)view complete:(void (^)(BOOL))complete { |
Example/CNLiveMyOrderModule.xcodeproj/project.pbxproj
| @@ -207,8 +207,7 @@ | @@ -207,8 +207,7 @@ | ||
| 207 | 6003F586195388D20070C39A /* Sources */, | 207 | 6003F586195388D20070C39A /* Sources */, |
| 208 | 6003F587195388D20070C39A /* Frameworks */, | 208 | 6003F587195388D20070C39A /* Frameworks */, |
| 209 | 6003F588195388D20070C39A /* Resources */, | 209 | 6003F588195388D20070C39A /* Resources */, |
| 210 | - B3C4AEE6B682DFE3670D8608 /* [CP] Embed Pods Frameworks */, | ||
| 211 | - F110CD7F28D0CF6F4889A2A2 /* [CP] Copy Pods Resources */, | 210 | + 845F81D6903EC723010F3D5B /* [CP] Embed Pods Frameworks */, |
| 212 | ); | 211 | ); |
| 213 | buildRules = ( | 212 | buildRules = ( |
| 214 | ); | 213 | ); |
| @@ -321,7 +320,7 @@ | @@ -321,7 +320,7 @@ | ||
| 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"; | 320 | 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"; |
| 322 | showEnvVarsInLog = 0; | 321 | showEnvVarsInLog = 0; |
| 323 | }; | 322 | }; |
| 324 | - B3C4AEE6B682DFE3670D8608 /* [CP] Embed Pods Frameworks */ = { | 323 | + 845F81D6903EC723010F3D5B /* [CP] Embed Pods Frameworks */ = { |
| 325 | isa = PBXShellScriptBuildPhase; | 324 | isa = PBXShellScriptBuildPhase; |
| 326 | buildActionMask = 2147483647; | 325 | buildActionMask = 2147483647; |
| 327 | files = ( | 326 | files = ( |
| @@ -330,91 +329,43 @@ | @@ -330,91 +329,43 @@ | ||
| 330 | "${PODS_ROOT}/Target Support Files/Pods-CNLiveMyOrderModule_Example/Pods-CNLiveMyOrderModule_Example-frameworks.sh", | 329 | "${PODS_ROOT}/Target Support Files/Pods-CNLiveMyOrderModule_Example/Pods-CNLiveMyOrderModule_Example-frameworks.sh", |
| 331 | "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", | 330 | "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", |
| 332 | "${BUILT_PRODUCTS_DIR}/CNLiveBaseKit/CNLiveBaseKit.framework", | 331 | "${BUILT_PRODUCTS_DIR}/CNLiveBaseKit/CNLiveBaseKit.framework", |
| 333 | - "${BUILT_PRODUCTS_DIR}/CNLiveBaseTools/CNLiveBaseTools.framework", | ||
| 334 | "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework", | 332 | "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework", |
| 335 | - "${BUILT_PRODUCTS_DIR}/CNLiveBusinessTools/CNLiveBusinessTools.framework", | ||
| 336 | - "${BUILT_PRODUCTS_DIR}/CNLiveCacheManagerKit/CNLiveCacheManagerKit.framework", | ||
| 337 | "${BUILT_PRODUCTS_DIR}/CNLiveCommonCategory/CNLiveCommonCategory.framework", | 333 | "${BUILT_PRODUCTS_DIR}/CNLiveCommonCategory/CNLiveCommonCategory.framework", |
| 338 | "${BUILT_PRODUCTS_DIR}/CNLiveCommonClass/CNLiveCommonClass.framework", | 334 | "${BUILT_PRODUCTS_DIR}/CNLiveCommonClass/CNLiveCommonClass.framework", |
| 339 | "${BUILT_PRODUCTS_DIR}/CNLiveCustomUI/CNLiveCustomUI.framework", | 335 | "${BUILT_PRODUCTS_DIR}/CNLiveCustomUI/CNLiveCustomUI.framework", |
| 340 | "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework", | 336 | "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework", |
| 341 | - "${BUILT_PRODUCTS_DIR}/CNLiveImagePickerController/CNLiveImagePickerController.framework", | ||
| 342 | "${BUILT_PRODUCTS_DIR}/CNLiveMyOrderModule/CNLiveMyOrderModule.framework", | 337 | "${BUILT_PRODUCTS_DIR}/CNLiveMyOrderModule/CNLiveMyOrderModule.framework", |
| 343 | "${BUILT_PRODUCTS_DIR}/CNLiveRequestBastKit/CNLiveRequestBastKit.framework", | 338 | "${BUILT_PRODUCTS_DIR}/CNLiveRequestBastKit/CNLiveRequestBastKit.framework", |
| 344 | "${BUILT_PRODUCTS_DIR}/CNLiveTripartiteManagement/CNLiveTripartiteManagement.framework", | 339 | "${BUILT_PRODUCTS_DIR}/CNLiveTripartiteManagement/CNLiveTripartiteManagement.framework", |
| 345 | - "${BUILT_PRODUCTS_DIR}/CNLiveUploadManager/CNLiveUploadManager.framework", | ||
| 346 | "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework", | 340 | "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework", |
| 347 | - "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", | ||
| 348 | - "${BUILT_PRODUCTS_DIR}/GPUImage/GPUImage.framework", | ||
| 349 | - "${BUILT_PRODUCTS_DIR}/HappyDNS/HappyDNS.framework", | ||
| 350 | "${BUILT_PRODUCTS_DIR}/JXCategoryView/JXCategoryView.framework", | 341 | "${BUILT_PRODUCTS_DIR}/JXCategoryView/JXCategoryView.framework", |
| 351 | - "${BUILT_PRODUCTS_DIR}/Ks3SDK/Ks3SDK.framework", | ||
| 352 | - "${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework", | ||
| 353 | "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework", | 342 | "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework", |
| 354 | "${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework", | 343 | "${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework", |
| 355 | "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework", | 344 | "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework", |
| 356 | - "${BUILT_PRODUCTS_DIR}/PGDatePicker/PGDatePicker.framework", | ||
| 357 | - "${BUILT_PRODUCTS_DIR}/PGPickerView/PGPickerView.framework", | ||
| 358 | - "${PODS_ROOT}/PLPlayerKit/Pod/Library/PLPlayerKit.framework", | ||
| 359 | "${BUILT_PRODUCTS_DIR}/QMUIKit/QMUIKit.framework", | 345 | "${BUILT_PRODUCTS_DIR}/QMUIKit/QMUIKit.framework", |
| 360 | - "${BUILT_PRODUCTS_DIR}/Qiniu/Qiniu.framework", | ||
| 361 | - "${BUILT_PRODUCTS_DIR}/RSKImageCropper/RSKImageCropper.framework", | ||
| 362 | - "${BUILT_PRODUCTS_DIR}/SAMKeychain/SAMKeychain.framework", | ||
| 363 | - "${BUILT_PRODUCTS_DIR}/SDAutoLayout/SDAutoLayout.framework", | ||
| 364 | - "${BUILT_PRODUCTS_DIR}/SDCycleScrollView/SDCycleScrollView.framework", | ||
| 365 | "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", | 346 | "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", |
| 366 | - "${BUILT_PRODUCTS_DIR}/SGPagingView/SGPagingView.framework", | ||
| 367 | - "${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework", | ||
| 368 | - "${PODS_ROOT}/TXIMSDK_iOS/ImSDK.framework", | ||
| 369 | - "${BUILT_PRODUCTS_DIR}/WebViewJavascriptBridge/WebViewJavascriptBridge.framework", | ||
| 370 | "${BUILT_PRODUCTS_DIR}/YYKit/YYKit.framework", | 347 | "${BUILT_PRODUCTS_DIR}/YYKit/YYKit.framework", |
| 371 | - "${BUILT_PRODUCTS_DIR}/libksygpulive_ks3/libksygpulive.framework", | ||
| 372 | - "${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework", | ||
| 373 | ); | 348 | ); |
| 374 | name = "[CP] Embed Pods Frameworks"; | 349 | name = "[CP] Embed Pods Frameworks"; |
| 375 | outputPaths = ( | 350 | outputPaths = ( |
| 376 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", | 351 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", |
| 377 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseKit.framework", | 352 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseKit.framework", |
| 378 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseTools.framework", | ||
| 379 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework", | 353 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework", |
| 380 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBusinessTools.framework", | ||
| 381 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCacheManagerKit.framework", | ||
| 382 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonCategory.framework", | 354 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonCategory.framework", |
| 383 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonClass.framework", | 355 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonClass.framework", |
| 384 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCustomUI.framework", | 356 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCustomUI.framework", |
| 385 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework", | 357 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework", |
| 386 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveImagePickerController.framework", | ||
| 387 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveMyOrderModule.framework", | 358 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveMyOrderModule.framework", |
| 388 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveRequestBastKit.framework", | 359 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveRequestBastKit.framework", |
| 389 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveTripartiteManagement.framework", | 360 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveTripartiteManagement.framework", |
| 390 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUploadManager.framework", | ||
| 391 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework", | 361 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework", |
| 392 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", | ||
| 393 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GPUImage.framework", | ||
| 394 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HappyDNS.framework", | ||
| 395 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXCategoryView.framework", | 362 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXCategoryView.framework", |
| 396 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Ks3SDK.framework", | ||
| 397 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework", | ||
| 398 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework", | 363 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework", |
| 399 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework", | 364 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework", |
| 400 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework", | 365 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework", |
| 401 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PGDatePicker.framework", | ||
| 402 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PGPickerView.framework", | ||
| 403 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PLPlayerKit.framework", | ||
| 404 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QMUIKit.framework", | 366 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QMUIKit.framework", |
| 405 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Qiniu.framework", | ||
| 406 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RSKImageCropper.framework", | ||
| 407 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SAMKeychain.framework", | ||
| 408 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDAutoLayout.framework", | ||
| 409 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDCycleScrollView.framework", | ||
| 410 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", | 367 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", |
| 411 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SGPagingView.framework", | ||
| 412 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SSZipArchive.framework", | ||
| 413 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ImSDK.framework", | ||
| 414 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebViewJavascriptBridge.framework", | ||
| 415 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYKit.framework", | 368 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYKit.framework", |
| 416 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libksygpulive.framework", | ||
| 417 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lottie.framework", | ||
| 418 | ); | 369 | ); |
| 419 | runOnlyForDeploymentPostprocessing = 0; | 370 | runOnlyForDeploymentPostprocessing = 0; |
| 420 | shellPath = /bin/sh; | 371 | shellPath = /bin/sh; |
| @@ -443,26 +394,6 @@ | @@ -443,26 +394,6 @@ | ||
| 443 | 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"; | 394 | 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"; |
| 444 | showEnvVarsInLog = 0; | 395 | showEnvVarsInLog = 0; |
| 445 | }; | 396 | }; |
| 446 | - F110CD7F28D0CF6F4889A2A2 /* [CP] Copy Pods Resources */ = { | ||
| 447 | - isa = PBXShellScriptBuildPhase; | ||
| 448 | - buildActionMask = 2147483647; | ||
| 449 | - files = ( | ||
| 450 | - ); | ||
| 451 | - inputPaths = ( | ||
| 452 | - "${PODS_ROOT}/Target Support Files/Pods-CNLiveMyOrderModule_Example/Pods-CNLiveMyOrderModule_Example-resources.sh", | ||
| 453 | - "${PODS_ROOT}/BaiduMapKit/BaiduMapKit/BaiduMapAPI_Map.framework/mapapi.bundle", | ||
| 454 | - "${PODS_ROOT}/Weibo_SDK/libWeiboSDK/WeiboSDK.bundle", | ||
| 455 | - ); | ||
| 456 | - name = "[CP] Copy Pods Resources"; | ||
| 457 | - outputPaths = ( | ||
| 458 | - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/mapapi.bundle", | ||
| 459 | - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WeiboSDK.bundle", | ||
| 460 | - ); | ||
| 461 | - runOnlyForDeploymentPostprocessing = 0; | ||
| 462 | - shellPath = /bin/sh; | ||
| 463 | - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveMyOrderModule_Example/Pods-CNLiveMyOrderModule_Example-resources.sh\"\n"; | ||
| 464 | - showEnvVarsInLog = 0; | ||
| 465 | - }; | ||
| 466 | /* End PBXShellScriptBuildPhase section */ | 397 | /* End PBXShellScriptBuildPhase section */ |
| 467 | 398 | ||
| 468 | /* Begin PBXSourcesBuildPhase section */ | 399 | /* Begin PBXSourcesBuildPhase section */ |
Example/Podfile
| @@ -5,14 +5,14 @@ platform :ios, '9.0' | @@ -5,14 +5,14 @@ platform :ios, '9.0' | ||
| 5 | 5 | ||
| 6 | target 'CNLiveMyOrderModule_Example' do | 6 | target 'CNLiveMyOrderModule_Example' do |
| 7 | pod 'CNLiveMyOrderModule', :path => '../' | 7 | pod 'CNLiveMyOrderModule', :path => '../' |
| 8 | - pod 'JXCategoryView' | ||
| 9 | - pod 'CNLiveCommonClass' | ||
| 10 | - pod 'CNLiveCommonCategory' | ||
| 11 | - pod 'CNLiveBaseKit' | ||
| 12 | - pod 'CNLiveTripartiteManagement/Masonry' | ||
| 13 | - pod 'CNLiveUserManagement' | ||
| 14 | - pod 'CNLiveEnvironment' | ||
| 15 | - pod 'CNLiveRequestBastKit' | 8 | +# pod 'JXCategoryView' |
| 9 | +# pod 'CNLiveCommonClass' | ||
| 10 | +# pod 'CNLiveCommonCategory' | ||
| 11 | +# pod 'CNLiveBaseKit' | ||
| 12 | +# pod 'CNLiveTripartiteManagement/Masonry' | ||
| 13 | +# pod 'CNLiveUserManagement' | ||
| 14 | +# pod 'CNLiveEnvironment' | ||
| 15 | +# pod 'CNLiveRequestBastKit' | ||
| 16 | pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} | 16 | pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} |
| 17 | end | 17 | end |
| 18 | target 'CNLiveMyOrderModule_Tests' do | 18 | target 'CNLiveMyOrderModule_Tests' do |
README.md
| 1 | # CNLiveMyOrderModule | 1 | # CNLiveMyOrderModule |
| 2 | - | 2 | +本地验证 |
| 3 | +pod lib lint --sources=http://bj.gitlab.cnlive.com/ios-team/CNLiveRepos.git,https://github.com/CocoaPods/Specs.git --allow-warnings --use-libraries | ||
| 4 | +远端验证 | ||
| 5 | +pod spec lint --sources=http://bj.gitlab.cnlive.com/ios-team/CNLiveRepos.git,https://github.com/CocoaPods/Specs.git --allow-warnings --use-libraries | ||
| 6 | +远程推送 | ||
| 7 | +pod repo push CNLiveRepos CNLiveMyOrderModule.podspec --allow-warnings --use-libraries | ||
| 3 | [](https://travis-ci.org/殷巧娟/CNLiveMyOrderModule) | 8 | [](https://travis-ci.org/殷巧娟/CNLiveMyOrderModule) |
| 4 | [](https://cocoapods.org/pods/CNLiveMyOrderModule) | 9 | [](https://cocoapods.org/pods/CNLiveMyOrderModule) |
| 5 | [](https://cocoapods.org/pods/CNLiveMyOrderModule) | 10 | [](https://cocoapods.org/pods/CNLiveMyOrderModule) |