Commit 7ee046582e1af8a8f54ab29371c4a21ca609b98c

Authored by 王军波
1 parent 4aa2d729

评论

LiveVideoCloud.xcodeproj/project.pbxproj
... ... @@ -261,6 +261,8 @@
261 261 D2EBC8A61F03926E00F198FB /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */; };
262 262 D2EBC8A71F03927200F198FB /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */; };
263 263 D2EBC8A81F03927200F198FB /* CNLiveChatManager.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
  264 + D2EBC8AB1F039E8100F198FB /* LVCCommentTitleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8AA1F039E8100F198FB /* LVCCommentTitleCell.m */; };
  265 + D2EBC8AE1F03A99800F198FB /* LVCCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8AD1F03A99800F198FB /* LVCCommentCell.m */; };
264 266 /* End PBXBuildFile section */
265 267  
266 268 /* Begin PBXContainerItemProxy section */
... ... @@ -807,6 +809,10 @@
807 809 D2EBC89F1F034C5500F198FB /* LVCCommentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCCommentView.m; sourceTree = "<group>"; };
808 810 D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLivePlayerSDK.framework; sourceTree = "<group>"; };
809 811 D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveChatManager.framework; sourceTree = "<group>"; };
  812 + D2EBC8A91F039E8100F198FB /* LVCCommentTitleCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCCommentTitleCell.h; sourceTree = "<group>"; };
  813 + D2EBC8AA1F039E8100F198FB /* LVCCommentTitleCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCCommentTitleCell.m; sourceTree = "<group>"; };
  814 + D2EBC8AC1F03A99800F198FB /* LVCCommentCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCCommentCell.h; sourceTree = "<group>"; };
  815 + D2EBC8AD1F03A99800F198FB /* LVCCommentCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCCommentCell.m; sourceTree = "<group>"; };
810 816 /* End PBXFileReference section */
811 817  
812 818 /* Begin PBXFrameworksBuildPhase section */
... ... @@ -2040,6 +2046,10 @@
2040 2046 children = (
2041 2047 D2EBC89E1F034C5500F198FB /* LVCCommentView.h */,
2042 2048 D2EBC89F1F034C5500F198FB /* LVCCommentView.m */,
  2049 + D2EBC8A91F039E8100F198FB /* LVCCommentTitleCell.h */,
  2050 + D2EBC8AA1F039E8100F198FB /* LVCCommentTitleCell.m */,
  2051 + D2EBC8AC1F03A99800F198FB /* LVCCommentCell.h */,
  2052 + D2EBC8AD1F03A99800F198FB /* LVCCommentCell.m */,
2043 2053 );
2044 2054 path = View;
2045 2055 sourceTree = "<group>";
... ... @@ -2274,6 +2284,7 @@
2274 2284 D245715F1E83B09900AA85D6 /* userInfoModel.m in Sources */,
2275 2285 8178D4241F02043500AA78A4 /* LVCFullScreenPlayerController.m in Sources */,
2276 2286 D2029C861E6EADE10027CD92 /* Tools.m in Sources */,
  2287 + D2EBC8AB1F039E8100F198FB /* LVCCommentTitleCell.m in Sources */,
2277 2288 4B42A6C41EC00CC800DA09D7 /* UIAlertView+Blocks.m in Sources */,
2278 2289 4B45CE861EB86A590079AFB7 /* LVCLoginShowView.m in Sources */,
2279 2290 D2029CA01E6EADE10027CD92 /* NSObject+MJProperty.m in Sources */,
... ... @@ -2450,6 +2461,7 @@
2450 2461 D2029D001E6EAE2E0027CD92 /* NSNumber+ScaleHeight.m in Sources */,
2451 2462 4BD856041EBACD530082061D /* UIActivityIndicatorView+AFNetworking.m in Sources */,
2452 2463 4B45CE781EB86A590079AFB7 /* LVCMineViewController.m in Sources */,
  2464 + D2EBC8AE1F03A99800F198FB /* LVCCommentCell.m in Sources */,
2453 2465 D2888D9E1E6EBF1B003A77C8 /* LVCLiveViewController.m in Sources */,
2454 2466 4B42A6C71EC0171800DA09D7 /* PlayRecordCell.m in Sources */,
2455 2467 D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */,
... ...
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCVodPlayerController.m
... ... @@ -82,6 +82,7 @@ typedef enum {
82 82 _currentTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timeChange) userInfo:nil repeats:YES];
83 83  
84 84 [self playerInitialize];
  85 + self.commentView.model = model;
85 86 }
86 87  
87 88 #pragma mark - 初始化播放器
... ...
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCVodPlayerListController.m
... ... @@ -45,14 +45,20 @@ static NSString *vodCellId = @&quot;vodCellId&quot;;
45 45  
46 46 _failedView.hidden = YES;
47 47  
48   - NSInteger time = [[NSDate date] timeIntervalSince1970];
49   - NSString *timeString = [NSString stringWithFormat:@"%ld", (long)time];
50   - NSDictionary *parameter = @{
51   - @"appId" : UserAppId,
52   - @"timestamp": timeString
53   - };
54   -
55   - [[AFHTTPRequestOperationManager manager] POST:@"http://test.open.cnlive.com/openapi/api2/vod_epg/getVodListInfo4App" parameters:[parameter addParameters] success:^(AFHTTPRequestOperation *operation, id responseObject) {
  48 + NSString *uid;
  49 + if ([UserTools isLogin]) {
  50 + uid = [UserInformationModel manager].uid;
  51 + } else {
  52 + uid = [NSString stringWithFormat:@"%u", arc4random()%3];
  53 + }
  54 + NSString *tm = [NSString stringWithFormat:@"%u_%@", arc4random()%10, uid];
  55 +
  56 + NSDictionary *parameter = @{@"cid": @"82_news/",
  57 + @"page": [NSString stringWithFormat:@"%d", 1],
  58 + @"pagesize": @"15",
  59 + @"tm": tm};
  60 +
  61 + [[AFHTTPRequestOperationManager manager] GET:Newslist parameters:[self addParameters:parameter] success:^(AFHTTPRequestOperation *operation, id responseObject) {
56 62  
57 63 responseObject = [responseObject validatedDictionary];
58 64  
... ... @@ -183,6 +189,21 @@ static NSString *vodCellId = @&quot;vodCellId&quot;;
183 189 self.tableView.scrollsToTop = scrollToTop;
184 190 }
185 191  
  192 +#pragma mark ------------------------------ 分割线 ----------------------------------------------
  193 +- (NSDictionary *)addParameters:(NSDictionary *)dict {
  194 +
  195 + if (![dict isKindOfClass:[NSDictionary class]]) {
  196 + return dict;
  197 + }
  198 + if (!dict) {
  199 + return @{@"appid": JBAppId, @"plat": @"i", @"version": JBAppVersion};
  200 + } else {
  201 + NSMutableDictionary *dic = [[NSMutableDictionary alloc] initWithDictionary:dict];
  202 + [dic addEntriesFromDictionary:@{@"appid": JBAppId, @"plat": @"i", @"version": JBAppVersion}];
  203 + return [[NSDictionary alloc] initWithDictionary:dic];
  204 + }
  205 +}
  206 +
186 207 - (void)didReceiveMemoryWarning {
187 208 [super didReceiveMemoryWarning];
188 209 // Dispose of any resources that can be recreated.
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCCommentCell.h 0 → 100644
  1 +//
  2 +// LVCCommentCell.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/28.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface LVCCommentCell : UITableViewCell
  12 +
  13 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCCommentCell.m 0 → 100644
  1 +//
  2 +// LVCCommentCell.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/28.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCCommentCell.h"
  10 +
  11 +@interface LVCCommentCell()
  12 +
  13 +@property (nonatomic, strong) UIImageView *iconView;
  14 +@property (nonatomic, strong) UILabel *nameLabel;
  15 +@property (nonatomic, strong) UIButton *likeButton;
  16 +@property (nonatomic, strong) UILabel *commentLabel;
  17 +
  18 +@end
  19 +
  20 +@implementation LVCCommentCell
  21 +
  22 +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
  23 +{
  24 + self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  25 + if (self) {
  26 + [self addSubview:self.nameLabel];
  27 + [self addSubview:self.commentLabel];
  28 + }
  29 + return self;
  30 +}
  31 +
  32 +#pragma mark - GetMethod !!!!!!!!!!!!!!!!!!!!!!!!!!!
  33 +- (UIImageView *)iconView {
  34 + if (!_iconView) {
  35 + _iconView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 40, 40)];
  36 + }
  37 + return _iconView;
  38 +}
  39 +
  40 +- (UILabel *)nameLabel {
  41 + if (!_nameLabel) {
  42 + _nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(60, 10, KScreenWidth-130, 30)];
  43 + }
  44 + return _nameLabel;
  45 +}
  46 +
  47 +- (UIButton *)likeButton {
  48 + if (!_likeButton) {
  49 + _likeButton = [UIButton buttonWithType:UIButtonTypeCustom];
  50 + _likeButton.frame = CGRectMake(self.contentView.bounds.size.width - 60, 0, 60, 44);
  51 + [_likeButton setImage:[UIImage imageNamed:@"videoSupportNormal"] forState:UIControlStateNormal];
  52 + [_likeButton setImage:[UIImage imageNamed:@"videoSupport"] forState:UIControlStateSelected];
  53 + _likeButton.titleLabel.font = [UIFont systemFontOfSize:12];
  54 + [_likeButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  55 + _likeButton.backgroundColor = [UIColor whiteColor];
  56 + [_likeButton addTarget:self action:@selector(praiseAction:) forControlEvents:UIControlEventTouchUpInside];
  57 + }
  58 + return _likeButton;
  59 +}
  60 +
  61 +- (void)awakeFromNib {
  62 + [super awakeFromNib];
  63 + // Initialization code
  64 +}
  65 +
  66 +- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  67 + [super setSelected:selected animated:animated];
  68 +
  69 + // Configure the view for the selected state
  70 +}
  71 +
  72 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCCommentTitleCell.h 0 → 100644
  1 +//
  2 +// LVCCommentTitleCell.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/28.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface LVCCommentTitleCell : UITableViewCell
  12 +
  13 +@property (nonatomic, strong) ProgramModel *model;
  14 +
  15 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCCommentTitleCell.m 0 → 100644
  1 +//
  2 +// LVCCommentTitleCell.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/28.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCCommentTitleCell.h"
  10 +
  11 +@interface LVCCommentTitleCell()
  12 +
  13 +@property (nonatomic, strong) UILabel *titleLabel;
  14 +
  15 +@property (nonatomic, strong) UILabel *contentLabel;
  16 +
  17 +@end
  18 +
  19 +@implementation LVCCommentTitleCell
  20 +
  21 +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
  22 +{
  23 + self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  24 + if (self) {
  25 + [self addSubview:self.titleLabel];
  26 + [self addSubview:self.contentLabel];
  27 + }
  28 + return self;
  29 +}
  30 +
  31 +- (void)setModel:(ProgramModel *)model {
  32 +
  33 + self.titleLabel.text = model.title;
  34 + self.contentLabel.text = model.desc;
  35 + [_contentLabel sizeToFit];
  36 +}
  37 +
  38 +#pragma mark - GetMethod !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  39 +- (UILabel *)titleLabel {
  40 +
  41 + if (!_titleLabel) {
  42 + _titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, KScreenWidth-20, 40)];
  43 + [_contentLabel setFont:[UIFont systemFontOfSize:22]];
  44 + _titleLabel.text = @"标题";
  45 + }
  46 + return _titleLabel;
  47 +}
  48 +
  49 +- (UILabel *)contentLabel {
  50 +
  51 + if (!_contentLabel) {
  52 + _contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, KScreenWidth-20, 100)];
  53 + [_contentLabel setFont:[UIFont systemFontOfSize:14]];
  54 + _contentLabel.textColor = [UIColor grayColor];
  55 + _contentLabel.text = @"描述";
  56 + _contentLabel.numberOfLines = 0;
  57 + }
  58 + return _contentLabel;
  59 +}
  60 +
  61 +- (void)awakeFromNib {
  62 + [super awakeFromNib];
  63 + // Initialization code
  64 +}
  65 +
  66 +- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  67 + [super setSelected:selected animated:animated];
  68 +
  69 + // Configure the view for the selected state
  70 +}
  71 +
  72 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCCommentView.m
... ... @@ -7,15 +7,11 @@
7 7 //
8 8  
9 9 #import "LVCCommentView.h"
  10 +#import "LVCCommentTitleCell.h"
10 11  
11   -@interface LVCCommentView()<UITableViewDelegate, UITableViewDataSource> {
12   -
13   - CGSize _contentSize;
14   -}
15   -
16   -@property (nonatomic, strong) UILabel *titleLabel;
  12 +static NSString *titleCellId = @"titleCellId";
17 13  
18   -@property (nonatomic, strong) UILabel *contentLabel;
  14 +@interface LVCCommentView()<UITableViewDelegate, UITableViewDataSource>
19 15  
20 16 @property (nonatomic, strong) UITableView *tableview;
21 17  
... ... @@ -27,25 +23,25 @@
27 23 {
28 24 self = [super initWithFrame:frame];
29 25 if (self) {
30   - [self addSubview:self.titleLabel];
31   - [self addSubview:self.contentLabel];
  26 + [self addSubview:self.tableview];
32 27 }
33 28 return self;
34 29 }
35 30  
36 31 - (void)setModel:(ProgramModel *)model {
37 32  
38   - _titleLabel.text = model.title;
39   - _contentLabel.text = model.desc;
  33 + if (_model != model) {
  34 + _model = model;
  35 + }
  36 + [self.tableview reloadData];
40 37 }
41 38  
42 39 #pragma mark - UITableViewDelegate !!!!!!!!!!!!!!!!!!!!!
43   -
44   -#pragma mark - UITableViewDataSource !!!!!!!!!!!!!!!!!!!!!!!!
45   -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
46   - return 2;
  40 +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
  41 + return SCREEN_WIDTH*9/16+40;
47 42 }
48 43  
  44 +#pragma mark - UITableViewDataSource !!!!!!!!!!!!!!!!!!!!!!!
49 45 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
50 46  
51 47 return 2;
... ... @@ -53,7 +49,13 @@
53 49  
54 50 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
55 51  
56   - return nil;
  52 + if (indexPath.row == 0) {
  53 +
  54 + }
  55 +
  56 + LVCCommentTitleCell *cell = [tableView dequeueReusableCellWithIdentifier:titleCellId forIndexPath:indexPath];
  57 + cell.model = self.model;
  58 + return cell;
57 59 }
58 60  
59 61 #pragma mark - GetMethod !!!!!!!!!!!!!!!!!!!!!!
... ... @@ -63,35 +65,12 @@
63 65 _tableview = [[UITableView alloc] initWithFrame:self.bounds style:UITableViewStylePlain];
64 66 _tableview.delegate = self;
65 67 _tableview.dataSource = self;
  68 + _tableview.showsVerticalScrollIndicator = NO;
  69 + _tableview.showsHorizontalScrollIndicator = NO;
66 70 _tableview.separatorStyle = UITableViewCellSeparatorStyleNone;
  71 + [_tableview registerClass:[LVCCommentTitleCell class] forCellReuseIdentifier:titleCellId];
67 72 }
68 73 return _tableview;
69 74 }
70 75  
71   -- (UILabel *)titleLabel {
72   -
73   - if (!_titleLabel) {
74   - _titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, KScreenWidth-20, 40)];
75   - [_contentLabel setFont:[UIFont systemFontOfSize:22]];
76   - _titleLabel.text = @"标题";
77   - }
78   - return _titleLabel;
79   -}
80   -
81   -- (UILabel *)contentLabel {
82   -
83   - if (!_contentLabel) {
84   - _contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, KScreenWidth-20, 100)];
85   - [_contentLabel setFont:[UIFont systemFontOfSize:14]];
86   - _contentLabel.textColor = [UIColor grayColor];
87   - _contentLabel.text = @"描述";
88   - _contentLabel.numberOfLines = 0;
89   - [_contentLabel sizeToFit];
90   - _contentSize = _contentLabel.bounds.size;
91   - }
92   - return _contentLabel;
93   -}
94   -
95   -
96   -
97 76 @end
... ...
LiveVideoCloud/PrefixHeader.pch
... ... @@ -79,8 +79,8 @@
79 79 #define UserAppKey @"4c8658abc5d66f270f9bf5dcd1ef11e3597fab4c4e0af9"//@"13c6f0ad6f459cd479834b0b39cff99c6cf20c970815bb"//
80 80 #define UserAppSceret @"c2faeb120f0ea2e2d47020d4b03cb8a93bed2585897a94"//@"14c887b76ec2ecdf7083fb4c62808f13f6ab77a0f9dfec"//
81 81  
82   -//#define JBAppId @"hdtv"
83   -//#define JBAppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] ///debug用 "CFBundleVersion"
  82 +#define JBAppId @"hdtv"
  83 +#define JBAppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] ///debug用 "CFBundleVersion"
84 84  
85 85 //#define UserAppId @"60_itax25eq82"
86 86 //#define UserAppKey @"55a25a7f7e1124937fba06c82999d9a7c18379e2d24784"
... ...