Kaynağa Gözat

首页去掉精品扩展区,合并到热门曲目中

Steven 2 yıl önce
ebeveyn
işleme
9762d815aa

BIN
KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate


+ 8 - 123
KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m

@@ -38,8 +38,6 @@
 #import "HomeAlbumModel.h"
 #import "HomeHotAlbumCell.h"
 
-#import "HomeQualityMusic.h"
-#import "HomeQualityMusicCollectionCell.h"
 
 #import "HomeHotMusicView.h"
 #import "HomeHotMusicCollectionCell.h"
@@ -113,11 +111,6 @@
 @property (nonatomic, strong) UICollectionView *albumCollectionView; // 专辑容器
 @property (nonatomic, assign) CGFloat albumViewHeight; // album 高度
 
-// 精品曲谱
-@property (nonatomic, strong) HomeQualityMusic *qualityMusicView;
-@property (nonatomic, strong) UICollectionView *qualityMusicCollectionView; // 精品曲谱容器
-@property (nonatomic, strong) NSMutableArray *qualityMusicArray; // 精品曲谱数据
-@property (nonatomic, assign) CGFloat qualityMusicViewHeight; // 精品music高度
 
 // 热门曲谱
 @property (nonatomic, strong) HomeHotMusicView *hotMusicView;
@@ -246,21 +239,12 @@
         make.height.mas_equalTo(self.albumViewHeight);
     }];
     
-    // 精品曲谱
-    [self.headView addSubview:self.qualityMusicView];
-    self.qualityMusicViewHeight = [HomeQualityMusic getViewHeight];
-    [self.qualityMusicView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.right.mas_equalTo(self.headView);
-        make.top.mas_equalTo(self.albumView.mas_bottom);
-        make.height.mas_equalTo(self.self.qualityMusicViewHeight);
-    }];
-    
     // 热门曲目
     [self.headView addSubview:self.hotMusicView];
     self.musicViewHeight = [HomeHotMusicView getViewHeight];
     [self.hotMusicView mas_makeConstraints:^(MASConstraintMaker *make) {
         make.left.right.mas_equalTo(self.headView);
-        make.top.mas_equalTo(self.qualityMusicView.mas_bottom);
+        make.top.mas_equalTo(self.albumView.mas_bottom);
         make.height.mas_equalTo(self.musicViewHeight);
     }];
     
@@ -308,7 +292,7 @@
 
 - (void)refreshHeadHeight {
     CGFloat bottomSpace = 20.0f;
-    self.headViewHeight = self.bannerViewHeight + self.buttonViewHeight + self.noticeViewHeight + self.courseViewHeight + self.albumViewHeight + self.qualityMusicViewHeight + self.musicViewHeight + self.talentViewHeight + self.liveViewHeight + self.videoViewHeight + bottomSpace;
+    self.headViewHeight = self.bannerViewHeight + self.buttonViewHeight + self.noticeViewHeight + self.courseViewHeight + self.albumViewHeight + self.musicViewHeight + self.talentViewHeight + self.liveViewHeight + self.videoViewHeight + bottomSpace;
     [self.pagerView reloadData];
 }
 
@@ -576,31 +560,12 @@
     }];
 }
 
-- (void)requestQualityMusic {
-    [KSNetworkingManager homeQualityMusicListRequest:KS_POST version:[USER_MANAGER getCurrentVersion] success:^(NSDictionary * _Nonnull dic) {
-        dispatch_group_leave(self.requestGroup);
-        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
-            NSArray *sourceArray = [[dic dictionaryValueForKey:@"data"] arrayValueForKey:@"rows"];
-            NSMutableArray *musicArray = [NSMutableArray array];
-            for (NSDictionary *parm in sourceArray) {
-                HomeHotMusicModel *model = [[HomeHotMusicModel alloc] initWithDictionary:parm];
-                [musicArray addObject:model];
-            }
-            self.qualityMusicArray = [NSMutableArray arrayWithArray:musicArray];
-        }
-        else {
-            [self MBPShow:MESSAGEKEY];
-        }
-    } faliure:^(NSError * _Nonnull error) {
-        dispatch_group_leave(self.requestGroup);
-    }];
-}
 
 
 - (void)requestHotMusic {
     dispatch_group_enter(self.requestGroup);
     [KSNetworkingManager homeMusicListRequest:KS_POST version:[USER_MANAGER getCurrentVersion] success:^(NSDictionary * _Nonnull dic) {
-        
+        dispatch_group_leave(self.requestGroup);
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
             NSArray *sourceArray = [[dic dictionaryValueForKey:@"data"] arrayValueForKey:@"rows"];
             NSMutableArray *musicArray = [NSMutableArray array];
@@ -613,9 +578,8 @@
         else {
             [self MBPShow:MESSAGEKEY];
         }
-        [self requestQualityMusic];
     } faliure:^(NSError * _Nonnull error) {
-        [self requestQualityMusic];
+        dispatch_group_leave(self.requestGroup);
     }];
 }
 
@@ -733,9 +697,7 @@
     [self refreshCourseView:self.recentCourseModel];
     
     [self refreshAlbumView];
-    
-    [self refreshQualityView];
-    
+        
     [self refreshMusicView];
     // 达人
     [self refreshTalentView];
@@ -998,20 +960,6 @@
     [self.albumCollectionView reloadData];
 }
 
-- (void)refreshQualityView {
-    if (self.qualityMusicArray.count) {
-        self.qualityMusicViewHeight = [HomeQualityMusic getViewHeight];
-        self.qualityMusicView.hidden = NO;
-    }
-    else {
-        self.qualityMusicViewHeight = CGFLOAT_MIN;
-        self.qualityMusicView.hidden = YES;
-    }
-    [self.qualityMusicView mas_updateConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(self.qualityMusicViewHeight);
-    }];
-    [self.qualityMusicCollectionView reloadData];
-}
 
 
 - (void)refreshMusicView {
@@ -1196,11 +1144,6 @@
     if (collectionView == self.albumCollectionView) { // 专辑
         return self.albumArray.count;
     }
-    else if (collectionView == self.qualityMusicCollectionView) {
-        NSInteger lastRowCount = (self.qualityMusicArray.count % 3) > 0 ? 1 : 0;
-        NSInteger count = self.qualityMusicArray.count / 3 + lastRowCount;
-        return count;
-    }
     else if (collectionView == self.musicCollectionView) { // 乐谱
         NSInteger lastRowCount = (self.musicArray.count % 3) > 0 ? 1 : 0;
         NSInteger count = self.musicArray.count / 3 + lastRowCount;
@@ -1225,19 +1168,6 @@
         [cell configWithAlbumModel:model];
         return cell;
     }
-    else if (collectionView == self.qualityMusicCollectionView) {
-        NSMutableArray *songArray = [NSMutableArray array];
-        NSInteger length = indexPath.item * 3 + 3 > self.qualityMusicArray.count ? self.qualityMusicArray.count - indexPath.item * 3: 3;
-        NSRange range = NSMakeRange(indexPath.item * 3, length);
-        
-        songArray = [NSMutableArray arrayWithArray:[self.qualityMusicArray subarrayWithRange:range]];
-        HomeQualityMusicCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"HomeQualityMusicCollectionCell" forIndexPath:indexPath];
-        MJWeakSelf;
-        [cell configWithSourceArray:songArray callback:^(NSString * _Nonnull songId) {
-            [weakSelf displaySongDetail:songId];
-        }];
-        return cell;
-    }
     else if (collectionView == self.musicCollectionView) {
         NSMutableArray *songArray = [NSMutableArray array];
         NSInteger length = indexPath.item * 3 + 3 > self.musicArray.count ? self.musicArray.count - indexPath.item * 3: 3;
@@ -1373,9 +1303,6 @@
     if (collectionView == self.albumCollectionView) {
         return CGSizeMake(100, 134);
     }
-    else if (collectionView == self.qualityMusicCollectionView) {
-        return CGSizeMake(KPortraitWidth * 0.83, 240);
-    }
     else if (collectionView == self.musicCollectionView) {
         return CGSizeMake(KPortraitWidth * 0.83, 240);
     }
@@ -1700,47 +1627,6 @@
     [self.navigationController pushViewController:ctrl animated:YES];
 }
 
-#pragma mark ---- 精品曲目
-- (HomeQualityMusic *)qualityMusicView {
-    if (!_qualityMusicView) {
-        _qualityMusicView = [HomeQualityMusic shareInstance];
-        MJWeakSelf;
-        [_qualityMusicView homeMusicMore:^{
-            [weakSelf moreHotMusic:YES];
-        }];
-        [_qualityMusicView.musicContentView addSubview:self.qualityMusicCollectionView];
-        [self.qualityMusicCollectionView mas_makeConstraints:^(MASConstraintMaker *make) {
-            make.left.right.bottom.top.mas_equalTo(_qualityMusicView.musicContentView);
-        }];
-    }
-    return _qualityMusicView;
-}
-
-- (UICollectionView *)qualityMusicCollectionView {
-    if (!_qualityMusicCollectionView) {
-        UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
-        layout.sectionInset = UIEdgeInsetsMake(12, 14, 12, 14);
-        layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
-        _qualityMusicCollectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
-        _qualityMusicCollectionView.backgroundColor = [UIColor clearColor];
-        _qualityMusicCollectionView.delegate = self;
-        _qualityMusicCollectionView.dataSource = self;
-        _qualityMusicCollectionView.showsVerticalScrollIndicator = NO;
-        _qualityMusicCollectionView.showsHorizontalScrollIndicator = NO;
-        if (@available(iOS 11.0, *)) {
-            _qualityMusicCollectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
-        } else {
-            // Fallback on earlier versions
-            if (@available(iOS 13.0, *)) {
-                _qualityMusicCollectionView.automaticallyAdjustsScrollIndicatorInsets = NO;
-            } else {
-                // Fallback on earlier versions
-            }
-        }
-        [_qualityMusicCollectionView registerNib:[UINib nibWithNibName:@"HomeQualityMusicCollectionCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"HomeQualityMusicCollectionCell"];
-    }
-    return _qualityMusicCollectionView;
-}
 
 #pragma mark ---- 热门曲目
 - (HomeHotMusicView *)hotMusicView {
@@ -1748,7 +1634,7 @@
         _hotMusicView = [HomeHotMusicView shareInstance];
         MJWeakSelf;
         [_hotMusicView homeMusicMore:^{
-            [weakSelf moreHotMusic:NO];
+            [weakSelf moreHotMusic];
         }];
         [_hotMusicView.musicContentView addSubview:self.musicCollectionView];
         [self.musicCollectionView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -1759,10 +1645,9 @@
 }
 
 
-- (void)moreHotMusic:(BOOL)isQuality {
-    NSString *type = isQuality ? @"?type=fine" : @"?type=list";
+- (void)moreHotMusic {
     KSBaseWKWebViewController *ctrl = [[KSBaseWKWebViewController alloc] init];
-    ctrl.url = [NSString stringWithFormat:@"%@%@%@", WEBHOST, @"/#/music-list",type];
+    ctrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/music-list"];
     [self.navigationController pushViewController:ctrl animated:YES];
 }
 

+ 1 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeHotMusicModel.h

@@ -54,6 +54,7 @@
 @property (nonatomic, strong) NSString *musicSubject;
 @property (nonatomic, assign) double userId;
 @property (nonatomic, strong) NSString *submitAuditTime;
+@property (nonatomic, assign) BOOL exquisiteFlag;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
 - (instancetype)initWithDictionary:(NSDictionary *)dict;

+ 7 - 3
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeHotMusicModel.m

@@ -52,6 +52,7 @@ NSString *const kHomeHotMusicModelMusicSubject = @"musicSubject";
 NSString *const kHomeHotMusicModelUserId = @"userId";
 NSString *const kHomeHotMusicModelSubmitAuditTime = @"submitAuditTime";
 
+NSString *const kHomeHotMusicModelExquisiteFlag = @"exquisiteFlag";
 
 @interface HomeHotMusicModel ()
 
@@ -104,7 +105,7 @@ NSString *const kHomeHotMusicModelSubmitAuditTime = @"submitAuditTime";
 @synthesize musicSubject = _musicSubject;
 @synthesize userId = _userId;
 @synthesize submitAuditTime = _submitAuditTime;
-
+@synthesize exquisiteFlag = _exquisiteFlag;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
 {
@@ -161,7 +162,7 @@ NSString *const kHomeHotMusicModelSubmitAuditTime = @"submitAuditTime";
             self.musicSubject = [self objectOrNilForKey:kHomeHotMusicModelMusicSubject fromDictionary:dict];
             self.userId = [[self objectOrNilForKey:kHomeHotMusicModelUserId fromDictionary:dict] doubleValue];
             self.submitAuditTime = [self objectOrNilForKey:kHomeHotMusicModelSubmitAuditTime fromDictionary:dict];
-
+        self.exquisiteFlag = [[self objectOrNilForKey:kHomeHotMusicModelExquisiteFlag fromDictionary:dict] boolValue];
     }
     
     return self;
@@ -214,7 +215,7 @@ NSString *const kHomeHotMusicModelSubmitAuditTime = @"submitAuditTime";
     [mutableDict setValue:self.musicSubject forKey:kHomeHotMusicModelMusicSubject];
     [mutableDict setValue:[NSNumber numberWithDouble:self.userId] forKey:kHomeHotMusicModelUserId];
     [mutableDict setValue:self.submitAuditTime forKey:kHomeHotMusicModelSubmitAuditTime];
-
+    [mutableDict setValue:[NSNumber numberWithBool:self.exquisiteFlag] forKey:kHomeHotMusicModelExquisiteFlag];
     return [NSDictionary dictionaryWithDictionary:mutableDict];
 }
 
@@ -284,6 +285,7 @@ NSString *const kHomeHotMusicModelSubmitAuditTime = @"submitAuditTime";
     self.musicSubject = [aDecoder decodeObjectForKey:kHomeHotMusicModelMusicSubject];
     self.userId = [aDecoder decodeDoubleForKey:kHomeHotMusicModelUserId];
     self.submitAuditTime = [aDecoder decodeObjectForKey:kHomeHotMusicModelSubmitAuditTime];
+    self.exquisiteFlag = [aDecoder decodeBoolForKey:kHomeHotMusicModelExquisiteFlag];
     return self;
 }
 
@@ -333,6 +335,7 @@ NSString *const kHomeHotMusicModelSubmitAuditTime = @"submitAuditTime";
     [aCoder encodeObject:_musicSubject forKey:kHomeHotMusicModelMusicSubject];
     [aCoder encodeDouble:_userId forKey:kHomeHotMusicModelUserId];
     [aCoder encodeObject:_submitAuditTime forKey:kHomeHotMusicModelSubmitAuditTime];
+    [aCoder encodeBool:_exquisiteFlag forKey:kHomeHotMusicModelExquisiteFlag];
 }
 
 - (id)copyWithZone:(NSZone *)zone
@@ -384,6 +387,7 @@ NSString *const kHomeHotMusicModelSubmitAuditTime = @"submitAuditTime";
         copy.musicSubject = [self.musicSubject copyWithZone:zone];
         copy.userId = self.userId;
         copy.submitAuditTime = [self.submitAuditTime copyWithZone:zone];
+        copy.exquisiteFlag = self.exquisiteFlag;
     }
     
     return copy;

+ 15 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HotMusic/HomeHotMusicCellView.m

@@ -22,6 +22,10 @@
 
 @property (nonatomic, strong) HomeHotMusicModel *model;
 
+@property (weak, nonatomic) IBOutlet UIImageView *qualityMusicTag;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *qualityTagWidth;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *qualityLeft;
+
 @end
 
 @implementation HomeHotMusicCellView
@@ -35,6 +39,17 @@
         self.callback = callback;
     }
     self.model = sourceModel;
+    if (sourceModel.exquisiteFlag) {
+        self.qualityMusicTag.hidden = NO;
+        self.qualityTagWidth.constant = 14.0f;
+        self.qualityLeft.constant = 5.0f;
+    }
+    else {
+        self.qualityMusicTag.hidden = NO;
+        self.qualityTagWidth.constant = 0.0f;
+        self.qualityLeft.constant = 0.0f;
+    }
+    
     if ([NSString isEmptyString:sourceModel.musicSheetName]) {
         self.songNameLabel.text = @"";
     }

+ 16 - 3
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HotMusic/HomeHotMusicCellView.xib

@@ -50,13 +50,13 @@
                     </userDefinedRuntimeAttributes>
                 </view>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最伟大的作品" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7xw-r5-qc1">
-                    <rect key="frame" x="48" y="17.5" width="98" height="20"/>
+                    <rect key="frame" x="66" y="17.5" width="98" height="20"/>
                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
                     <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="calibratedRGB"/>
                     <nil key="highlightedColor"/>
                 </label>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="-周杰伦" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jm2-P7-5K9">
-                    <rect key="frame" x="151" y="20" width="43" height="15"/>
+                    <rect key="frame" x="169" y="20" width="43" height="15"/>
                     <fontDescription key="fontDescription" type="system" pointSize="12"/>
                     <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
                     <nil key="highlightedColor"/>
@@ -88,6 +88,13 @@
                         <constraint firstAttribute="height" constant="0.5" id="MXY-Ik-nnJ"/>
                     </constraints>
                 </view>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="quality_tag" translatesAutoresizingMaskIntoConstraints="NO" id="nUD-13-vp7">
+                    <rect key="frame" x="47" y="19" width="14" height="17"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="14" id="1wc-7R-Rd1"/>
+                        <constraint firstAttribute="height" constant="17" id="dpI-He-aFb"/>
+                    </constraints>
+                </imageView>
                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fGG-J1-J8q">
                     <rect key="frame" x="0.0" y="0.0" width="414" height="80"/>
                     <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
@@ -98,11 +105,13 @@
             </subviews>
             <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
-                <constraint firstItem="7xw-r5-qc1" firstAttribute="leading" secondItem="N1D-TV-iWW" secondAttribute="trailing" constant="6" id="8oE-D5-SWI"/>
+                <constraint firstItem="nUD-13-vp7" firstAttribute="centerY" secondItem="N1D-TV-iWW" secondAttribute="centerY" id="9kp-XG-xs3"/>
                 <constraint firstItem="6eO-qE-g8x" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="jm2-P7-5K9" secondAttribute="trailing" constant="10" id="BiV-XL-Qww"/>
                 <constraint firstAttribute="bottom" secondItem="28W-1K-xs7" secondAttribute="bottom" id="EEi-j6-bXC"/>
+                <constraint firstItem="7xw-r5-qc1" firstAttribute="leading" secondItem="nUD-13-vp7" secondAttribute="trailing" constant="5" id="GIe-Zj-QDP"/>
                 <constraint firstItem="N1D-TV-iWW" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="19" id="Gyv-2L-yeF"/>
                 <constraint firstItem="qrG-kH-VRz" firstAttribute="leading" secondItem="yx5-8B-fUi" secondAttribute="trailing" constant="12" id="Jbt-JJ-kdQ"/>
+                <constraint firstItem="nUD-13-vp7" firstAttribute="leading" secondItem="N1D-TV-iWW" secondAttribute="trailing" constant="5" id="LNt-pH-K0U"/>
                 <constraint firstAttribute="trailing" secondItem="6eO-qE-g8x" secondAttribute="trailing" constant="19" id="OFX-bH-zcc"/>
                 <constraint firstItem="N1D-TV-iWW" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="11" id="Q0e-D9-JXV"/>
                 <constraint firstItem="6eO-qE-g8x" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="Rjr-rO-hGW"/>
@@ -125,6 +134,9 @@
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
             <connections>
                 <outlet property="lineView" destination="28W-1K-xs7" id="4mk-r2-0Cz"/>
+                <outlet property="qualityLeft" destination="LNt-pH-K0U" id="aqL-h3-zpK"/>
+                <outlet property="qualityMusicTag" destination="nUD-13-vp7" id="gbb-4d-GRc"/>
+                <outlet property="qualityTagWidth" destination="1wc-7R-Rd1" id="LMy-l9-qZs"/>
                 <outlet property="songAuth" destination="jm2-P7-5K9" id="rS6-tU-qwV"/>
                 <outlet property="songNameLabel" destination="7xw-r5-qc1" id="fzV-Mi-66B"/>
                 <outlet property="statusLabel" destination="Py1-eU-jUO" id="NYg-Iw-DCP"/>
@@ -137,6 +149,7 @@
     </objects>
     <resources>
         <image name="home_music_play" width="24" height="24"/>
+        <image name="quality_tag" width="14" height="17"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
         </systemColor>