This commit is contained in:
启星
2025-08-11 10:43:19 +08:00
commit fb2c58d96f
8839 changed files with 709982 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
//
// LMCurrentWeekGiftRankListModel.h
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface LMCurrentWeekGiftRankListModel : NSObject
@property (nonatomic, strong) NSString *uid;
@property (nonatomic, strong) NSString *head_pic;
@property (nonatomic, strong) NSString *nick_name;
@property (nonatomic, strong) NSString *total_gift_num;
@property (nonatomic, strong) NSString *give_uid;
@property (nonatomic, strong) NSString *give_head_pic;
@property (nonatomic, strong) NSString *give_nick_name;
@property (nonatomic, strong) NSString *give_total_gift_num;
@property (nonatomic, strong) NSString *gift_name;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,13 @@
//
// LMCurrentWeekGiftRankListModel.m
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import "LMCurrentWeekGiftRankListModel.h"
@implementation LMCurrentWeekGiftRankListModel
@end

View File

@@ -0,0 +1,24 @@
//
// LMLastWeekRankListModel.h
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface LMLastWeekRankListModel : NSObject
@property (nonatomic, strong) NSString *nick_name;
@property (nonatomic, strong) NSString *receive_uid;
@property (nonatomic, strong) NSString *total_gift_num;
@property (nonatomic, strong) NSString *head_pic;
@property (nonatomic, strong) NSString *gift_name;
@property (nonatomic, strong) NSString *gid;
@property (nonatomic, strong) NSString *base_image;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// LMLastWeekRankListModel.m
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import "LMLastWeekRankListModel.h"
@implementation LMLastWeekRankListModel
@end

View File

@@ -0,0 +1,22 @@
//
// LMWeekCurrentCollectionViewCell.h
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import <UIKit/UIKit.h>
#import "LMWeekStarGitfListModel.h"
NS_ASSUME_NONNULL_BEGIN
static NSString *LMWeekCurrentCollectionViewCellID = @"LMWeekCurrentCollectionViewCellID";
@interface LMWeekCurrentCollectionViewCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIImageView *giftBgImage;
@property (weak, nonatomic) IBOutlet UIImageView *giftBaseImage;
@property (weak, nonatomic) IBOutlet UILabel *giftNameLabel;
@property (nonatomic, strong) LMWeekStarGitfListModel *model;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,30 @@
//
// LMWeekCurrentCollectionViewCell.m
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import "LMWeekCurrentCollectionViewCell.h"
@implementation LMWeekCurrentCollectionViewCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
- (void)setModel:(LMWeekStarGitfListModel *)model
{
_model = model;
[self.giftBaseImage sd_setImageWithURL:[NSURL URLWithString:model.base_image] placeholderImage:kDefaultUserIcon];
self.giftNameLabel.text = model.gift_name;
if (model.isSelect == YES){
self.giftBgImage.image = ImageNamed(@"week_item_current_sel");
}else{
self.giftBgImage.image = ImageNamed(@"week_item_current_nor");
}
}
@end

View File

@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="LMWeekCurrentCollectionViewCell">
<rect key="frame" x="0.0" y="0.0" width="100" height="100"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="100" height="100"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="week_item_current_nor" translatesAutoresizingMaskIntoConstraints="NO" id="Gyg-XH-v0H">
<rect key="frame" x="15" y="0.0" width="70" height="70"/>
<constraints>
<constraint firstAttribute="width" constant="70" id="Sjk-8Y-WXD"/>
<constraint firstAttribute="height" constant="70" id="z1p-sk-aBr"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="DdP-fK-6R7">
<rect key="frame" x="25" y="10" width="50" height="50"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="WBJ-gK-JSp"/>
<constraint firstAttribute="width" constant="50" id="uSJ-9H-g8d"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="礼物昵称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DVC-dP-2CY">
<rect key="frame" x="25.333333333333332" y="75" width="49.333333333333343" height="14.333333333333329"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</view>
<constraints>
<constraint firstItem="Gyg-XH-v0H" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="FHy-RG-E9A"/>
<constraint firstItem="DdP-fK-6R7" firstAttribute="centerX" secondItem="Gyg-XH-v0H" secondAttribute="centerX" id="Qfd-zg-vYT"/>
<constraint firstItem="DdP-fK-6R7" firstAttribute="centerY" secondItem="Gyg-XH-v0H" secondAttribute="centerY" id="UcM-0c-4nN"/>
<constraint firstItem="DVC-dP-2CY" firstAttribute="top" secondItem="Gyg-XH-v0H" secondAttribute="bottom" constant="5" id="WR0-Gl-ybv"/>
<constraint firstItem="Gyg-XH-v0H" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="hdG-Ib-FI3"/>
<constraint firstItem="DVC-dP-2CY" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="sR4-xe-ug4"/>
</constraints>
<size key="customSize" width="101" height="105"/>
<connections>
<outlet property="giftBaseImage" destination="DdP-fK-6R7" id="SLe-Wa-B6O"/>
<outlet property="giftBgImage" destination="Gyg-XH-v0H" id="0Na-fk-B65"/>
<outlet property="giftNameLabel" destination="DVC-dP-2CY" id="jTe-DJ-Tpv"/>
</connections>
<point key="canvasLocation" x="168.70229007633588" y="8.0985915492957758"/>
</collectionViewCell>
</objects>
<resources>
<image name="week_item_current_nor" width="64" height="63.5"/>
</resources>
</document>

View File

@@ -0,0 +1,24 @@
//
// LMWeekLastCollectionViewCell.h
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import <UIKit/UIKit.h>
#import "LMLastWeekRankListModel.h"
NS_ASSUME_NONNULL_BEGIN
static NSString *LMWeekLastCollectionViewCellID = @"LMWeekLastCollectionViewCellID";
@interface LMWeekLastCollectionViewCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIImageView *giftBaseImage;
@property (weak, nonatomic) IBOutlet UILabel *giftName;
@property (weak, nonatomic) IBOutlet UIImageView *userHeader;
@property (weak, nonatomic) IBOutlet UILabel *userNameLabel;
@property (weak, nonatomic) IBOutlet UILabel *receiveCount;
@property (nonatomic, strong) LMLastWeekRankListModel *model;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,29 @@
//
// LMWeekLastCollectionViewCell.m
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import "LMWeekLastCollectionViewCell.h"
@implementation LMWeekLastCollectionViewCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
- (void)setModel:(LMLastWeekRankListModel *)model
{
_model = model;
[self.giftBaseImage sd_setImageWithURL:[NSURL URLWithString:model.base_image] placeholderImage:kDefaultUserIcon];
self.giftName.text = model.gift_name;
[self.userHeader sd_setImageWithURL:[NSURL URLWithString:model.head_pic] placeholderImage:kDefaultUserIcon];
self.userNameLabel.text = model.nick_name;
self.receiveCount.text = [NSString stringWithFormat:@"收到%@个",model.total_gift_num];
}
@end

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="LMWeekLastCollectionViewCell">
<rect key="frame" x="0.0" y="0.0" width="87" height="140"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="87" height="140"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="V0K-5P-XPk">
<rect key="frame" x="18.666666666666671" y="5" width="50" height="50"/>
<constraints>
<constraint firstAttribute="width" constant="50" id="BKX-Tg-2MC"/>
<constraint firstAttribute="height" constant="50" id="SxG-w3-PbU"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="txI-sv-QNt">
<rect key="frame" x="27.666666666666664" y="60.000000000000007" width="31.666666666666664" height="14.333333333333336"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wlG-XR-eVL">
<rect key="frame" x="0.0" y="80.333333333333329" width="87" height="40"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rYP-Hl-cGg">
<rect key="frame" x="18" y="0.0" width="51" height="20"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="bt3-ev-rUz">
<rect key="frame" x="0.0" y="0.0" width="20" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="jD2-0F-V2h"/>
<constraint firstAttribute="height" constant="20" id="mt1-rZ-KzZ"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jPD-0B-acY">
<rect key="frame" x="23" y="4" width="28" height="12"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="10"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="jPD-0B-acY" firstAttribute="leading" secondItem="bt3-ev-rUz" secondAttribute="trailing" constant="3" id="DPr-E9-ZzK"/>
<constraint firstItem="jPD-0B-acY" firstAttribute="centerY" secondItem="rYP-Hl-cGg" secondAttribute="centerY" id="FOE-NL-ss6"/>
<constraint firstItem="bt3-ev-rUz" firstAttribute="centerY" secondItem="rYP-Hl-cGg" secondAttribute="centerY" id="MVF-Yb-yYS"/>
<constraint firstItem="bt3-ev-rUz" firstAttribute="leading" secondItem="rYP-Hl-cGg" secondAttribute="leading" id="f6b-EU-Fqa"/>
<constraint firstAttribute="height" constant="20" id="nw3-jh-cNX"/>
<constraint firstAttribute="trailing" secondItem="jPD-0B-acY" secondAttribute="trailing" id="z2b-md-0Jd"/>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="80" id="zLn-cn-QPB"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="收到0个" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nOm-QU-rJI">
<rect key="frame" x="21" y="25" width="45" height="13.333333333333336"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
<color key="textColor" red="1" green="0.83529411764705885" blue="0.38823529411764707" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="nOm-QU-rJI" firstAttribute="centerX" secondItem="wlG-XR-eVL" secondAttribute="centerX" id="MUx-k8-RKC"/>
<constraint firstItem="rYP-Hl-cGg" firstAttribute="centerX" secondItem="wlG-XR-eVL" secondAttribute="centerX" id="RYZ-4u-vQE"/>
<constraint firstItem="nOm-QU-rJI" firstAttribute="top" secondItem="rYP-Hl-cGg" secondAttribute="bottom" constant="5" id="VrP-2t-ftI"/>
<constraint firstItem="rYP-Hl-cGg" firstAttribute="top" secondItem="wlG-XR-eVL" secondAttribute="top" id="Wh5-TF-eca"/>
<constraint firstAttribute="height" constant="40" id="lE0-dF-FDd"/>
</constraints>
</view>
</subviews>
</view>
<constraints>
<constraint firstItem="wlG-XR-eVL" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="1Rm-ql-btj"/>
<constraint firstAttribute="trailing" secondItem="wlG-XR-eVL" secondAttribute="trailing" id="3FV-cZ-RCR"/>
<constraint firstItem="txI-sv-QNt" firstAttribute="top" secondItem="V0K-5P-XPk" secondAttribute="bottom" constant="5" id="5lb-Ad-tcs"/>
<constraint firstItem="txI-sv-QNt" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="81I-LS-vUI"/>
<constraint firstItem="wlG-XR-eVL" firstAttribute="top" secondItem="txI-sv-QNt" secondAttribute="bottom" constant="6" id="8bJ-1v-Y3d"/>
<constraint firstItem="wlG-XR-eVL" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="9hw-NP-A17"/>
<constraint firstItem="V0K-5P-XPk" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="5" id="eVY-iS-g3A"/>
<constraint firstItem="V0K-5P-XPk" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="wdZ-72-Njf"/>
</constraints>
<size key="customSize" width="151" height="152"/>
<connections>
<outlet property="giftBaseImage" destination="V0K-5P-XPk" id="yZj-HF-sfC"/>
<outlet property="giftName" destination="txI-sv-QNt" id="lgN-cU-cJS"/>
<outlet property="receiveCount" destination="nOm-QU-rJI" id="Dk7-bj-oXi"/>
<outlet property="userHeader" destination="bt3-ev-rUz" id="1Xb-AO-q4E"/>
<outlet property="userNameLabel" destination="jPD-0B-acY" id="bXw-8o-rSj"/>
</connections>
<point key="canvasLocation" x="206.87022900763358" y="24.647887323943664"/>
</collectionViewCell>
</objects>
<resources>
<image name="default_userIcon" width="512" height="512"/>
</resources>
</document>

View File

@@ -0,0 +1,21 @@
//
// LMWeekListHeaderView.h
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
typedef void(^selectGiftUpdateListBlock)(NSString *gid);
@interface LMWeekListHeaderView : UIView
@property (weak, nonatomic) IBOutlet UICollectionView *giftItemView;
@property (nonatomic, copy) selectGiftUpdateListBlock updateListBlock;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,86 @@
//
// LMWeekListHeaderView.m
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import "LMWeekListHeaderView.h"
#import "LMWeekCurrentCollectionViewCell.h"
@interface LMWeekListHeaderView ()<UICollectionViewDelegate,UICollectionViewDataSource>
@property (nonatomic, strong) NSMutableArray *dataArr;
@end
@implementation LMWeekListHeaderView
- (void)awakeFromNib
{
[super awakeFromNib];
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
flowLayout.itemSize = CGSizeMake((APPW-50)/4, 100);
flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
flowLayout.minimumLineSpacing = 0;
self.giftItemView.delegate = self;
self.giftItemView.dataSource = self;
self.giftItemView.collectionViewLayout = flowLayout;
[self.giftItemView registerNib:[UINib nibWithNibName:@"LMWeekCurrentCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:LMWeekCurrentCollectionViewCellID];
[self requestWeekStarGiftList];
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return self.dataArr.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
LMWeekCurrentCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:LMWeekCurrentCollectionViewCellID forIndexPath:indexPath];
cell.model = self.dataArr[indexPath.row];
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
[self.dataArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
LMWeekStarGitfListModel *model = obj;
model.isSelect = NO;
}];
LMWeekStarGitfListModel *model = self.dataArr[indexPath.row];
model.isSelect = YES;
[collectionView reloadData];
if (self.updateListBlock){
self.updateListBlock(model.gid);
}
}
- (void)requestWeekStarGiftList
{
[BJHttpTool BJ_Week_star_gift_listWithParameters:@{} success:^(id response) {
self.dataArr = [LMWeekStarGitfListModel mj_objectArrayWithKeyValuesArray:response[@"data"]];
if (self.dataArr.count > 0){
LMWeekStarGitfListModel *model = self.dataArr[0];
model.isSelect = YES;
if (self.updateListBlock){
self.updateListBlock(model.gid);
}
}
[self.giftItemView reloadData];
} failure:^(NSError *error) {
}];
}
@end

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="LMWeekListHeaderView">
<rect key="frame" x="0.0" y="0.0" width="375" height="110"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="hXD-hc-TlR">
<rect key="frame" x="0.0" y="0.0" width="375" height="110"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="ohO-mf-Kdd">
<size key="itemSize" width="128" height="128"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
</collectionView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="hXD-hc-TlR" secondAttribute="trailing" id="57C-Vk-Xww"/>
<constraint firstItem="hXD-hc-TlR" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="MgY-3E-2Cs"/>
<constraint firstAttribute="bottom" secondItem="hXD-hc-TlR" secondAttribute="bottom" id="UdS-1z-boC"/>
<constraint firstItem="hXD-hc-TlR" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="br0-GZ-tIm"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="giftItemView" destination="hXD-hc-TlR" id="mx2-b2-Z3O"/>
</connections>
<point key="canvasLocation" x="130.53435114503816" y="237.67605633802819"/>
</view>
</objects>
</document>

View File

@@ -0,0 +1,30 @@
//
// LMWeekListTableViewCell.h
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import <UIKit/UIKit.h>
#import "LMCurrentWeekGiftRankListModel.h"
NS_ASSUME_NONNULL_BEGIN
static NSString *LMWeekListTableViewCellID = @"LMWeekListTableViewCellID";
@interface LMWeekListTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIImageView *rankIcon;
@property (weak, nonatomic) IBOutlet UILabel *rankLabel;
@property (weak, nonatomic) IBOutlet UIImageView *receiveHeaderPic;
@property (weak, nonatomic) IBOutlet UILabel *nickNameLabel;
@property (weak, nonatomic) IBOutlet UILabel *receiveCountLabel;
@property (weak, nonatomic) IBOutlet UIImageView *sendHeaderPic;
@property (weak, nonatomic) IBOutlet UILabel *sendCountLabel;
@property (nonatomic, strong) LMCurrentWeekGiftRankListModel *model;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,44 @@
//
// LMWeekListTableViewCell.m
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import "LMWeekListTableViewCell.h"
@implementation LMWeekListTableViewCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
WEAK_SELF;
[self.receiveHeaderPic dg_Tapped:^{
[UIViewController goUserMainpageWith:weakSelf.model.uid withRid:@""];
}];
[self.sendHeaderPic dg_Tapped:^{
[UIViewController goUserMainpageWith:weakSelf.model.give_uid withRid:@""];
}];
}
- (void)setModel:(LMCurrentWeekGiftRankListModel *)model
{
_model = model;
[self.receiveHeaderPic sd_setImageWithURL:[NSURL URLWithString:model.head_pic] placeholderImage:kDefaultUserIcon];
self.nickNameLabel.text = model.nick_name;
self.receiveCountLabel.text = [NSString stringWithFormat:@"收到%@个%@",model.total_gift_num,model.gift_name];
[self.sendHeaderPic sd_setImageWithURL:[NSURL URLWithString:model.give_head_pic] placeholderImage:kDefaultUserIcon];
self.sendCountLabel.text = [NSString stringWithFormat:@"打赏%@个",model.give_total_gift_num];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end

View File

@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="84" id="KGk-i7-Jjw" customClass="LMWeekListTableViewCell">
<rect key="frame" x="0.0" y="0.0" width="375" height="84"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="375" height="84"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GzT-PV-RnA">
<rect key="frame" x="5" y="5" width="365" height="74"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="6C2-dv-vd7">
<rect key="frame" x="15" y="25" width="24" height="24"/>
<constraints>
<constraint firstAttribute="width" constant="24" id="67a-ct-v12"/>
<constraint firstAttribute="height" constant="24" id="tKR-Qm-e3J"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="U5M-Yg-pma">
<rect key="frame" x="45" y="15" width="44" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="DRM-FX-IUW"/>
<constraint firstAttribute="width" constant="44" id="VI3-o7-R9T"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="22"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="color" keyPath="borderColor">
<color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昵称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7km-CZ-ehR">
<rect key="frame" x="94" y="17" width="26.666666666666671" height="15.666666666666664"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="收到0个冰淇淋" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Rw-lZ-3FH">
<rect key="frame" x="94" y="40.666666666666664" width="82" height="13.333333333333336"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
<color key="textColor" red="1" green="0.83529411764705885" blue="0.38823529411764707" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="打赏0个" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2kd-ib-EeH">
<rect key="frame" x="305" y="29.999999999999996" width="45" height="14.333333333333332"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="kLq-Bo-X4m">
<rect key="frame" x="268" y="21" width="32" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="bIT-Hg-KLc"/>
<constraint firstAttribute="height" constant="32" id="kjB-M3-0Di"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="16"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="03" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h2r-Da-TvP">
<rect key="frame" x="15.333333333333334" y="26.333333333333329" width="23.333333333333329" height="21.666666666666671"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.10000000000000001" colorSpace="custom" customColorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="2kd-ib-EeH" firstAttribute="centerY" secondItem="GzT-PV-RnA" secondAttribute="centerY" id="4wG-WZ-LMp"/>
<constraint firstItem="U5M-Yg-pma" firstAttribute="centerY" secondItem="GzT-PV-RnA" secondAttribute="centerY" id="5LL-20-cmI"/>
<constraint firstItem="7km-CZ-ehR" firstAttribute="top" secondItem="U5M-Yg-pma" secondAttribute="top" constant="2" id="6gu-AU-QH0"/>
<constraint firstItem="2kd-ib-EeH" firstAttribute="leading" secondItem="kLq-Bo-X4m" secondAttribute="trailing" constant="5" id="A8B-Xh-d00"/>
<constraint firstAttribute="trailing" secondItem="2kd-ib-EeH" secondAttribute="trailing" constant="15" id="DyE-VT-ljQ"/>
<constraint firstItem="0Rw-lZ-3FH" firstAttribute="top" secondItem="7km-CZ-ehR" secondAttribute="bottom" constant="8" id="FKv-pm-xhf"/>
<constraint firstItem="7km-CZ-ehR" firstAttribute="leading" secondItem="U5M-Yg-pma" secondAttribute="trailing" constant="5" id="MPt-6t-N4T"/>
<constraint firstItem="kLq-Bo-X4m" firstAttribute="centerY" secondItem="GzT-PV-RnA" secondAttribute="centerY" id="NLd-7y-ZVG"/>
<constraint firstItem="h2r-Da-TvP" firstAttribute="centerY" secondItem="GzT-PV-RnA" secondAttribute="centerY" id="WGl-yu-apu"/>
<constraint firstItem="6C2-dv-vd7" firstAttribute="leading" secondItem="GzT-PV-RnA" secondAttribute="leading" constant="15" id="XoL-pX-d7r"/>
<constraint firstItem="6C2-dv-vd7" firstAttribute="centerY" secondItem="GzT-PV-RnA" secondAttribute="centerY" id="bN5-m9-Oo3"/>
<constraint firstItem="h2r-Da-TvP" firstAttribute="centerX" secondItem="6C2-dv-vd7" secondAttribute="centerX" id="n5B-dV-TCV"/>
<constraint firstItem="0Rw-lZ-3FH" firstAttribute="leading" secondItem="7km-CZ-ehR" secondAttribute="leading" id="x6h-Zp-0Sx"/>
<constraint firstItem="U5M-Yg-pma" firstAttribute="leading" secondItem="GzT-PV-RnA" secondAttribute="leading" constant="45" id="ysL-FP-6f0"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="16"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
<constraints>
<constraint firstItem="GzT-PV-RnA" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="5" id="HwQ-uJ-LhD"/>
<constraint firstAttribute="bottom" secondItem="GzT-PV-RnA" secondAttribute="bottom" constant="5" id="PXk-tf-GWh"/>
<constraint firstItem="GzT-PV-RnA" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="5" id="UV3-Km-Ubs"/>
<constraint firstAttribute="trailing" secondItem="GzT-PV-RnA" secondAttribute="trailing" constant="5" id="XR3-ZR-Szn"/>
</constraints>
</tableViewCellContentView>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<outlet property="nickNameLabel" destination="7km-CZ-ehR" id="AW4-6X-OQK"/>
<outlet property="rankIcon" destination="6C2-dv-vd7" id="zjW-ng-PK1"/>
<outlet property="rankLabel" destination="h2r-Da-TvP" id="Tj2-EP-sbl"/>
<outlet property="receiveCountLabel" destination="0Rw-lZ-3FH" id="2NC-TP-xXP"/>
<outlet property="receiveHeaderPic" destination="U5M-Yg-pma" id="jjt-qv-1Yq"/>
<outlet property="sendCountLabel" destination="2kd-ib-EeH" id="eus-4Z-0Ji"/>
<outlet property="sendHeaderPic" destination="kLq-Bo-X4m" id="uAa-pN-Q5R"/>
</connections>
<point key="canvasLocation" x="180.91603053435114" y="2.8169014084507045"/>
</tableViewCell>
</objects>
<resources>
<image name="default_userIcon" width="512" height="512"/>
</resources>
</document>

View File

@@ -0,0 +1,24 @@
//
// LMWeekStarGitfListModel.h
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface LMWeekStarGitfListModel : NSObject
@property (nonatomic, strong) NSString *gid;
@property (nonatomic, strong) NSString *gift_name;
@property (nonatomic, strong) NSString *gift_price;
@property (nonatomic, strong) NSString *base_image;
@property (nonatomic, strong) NSString *tag_name;
@property (nonatomic, assign) BOOL isSelect;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// LMWeekStarGitfListModel.m
// SweetParty
//
// Created by Xmac on 2024/8/7.
//
#import "LMWeekStarGitfListModel.h"
@implementation LMWeekStarGitfListModel
@end

View File

@@ -0,0 +1,16 @@
//
// LMWeekStarViewController.h
// SweetParty
//
// Created by Xmac on 2024/8/6.
//
#import "BaseController.h"
NS_ASSUME_NONNULL_BEGIN
@interface LMWeekStarViewController : BaseController
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,201 @@
//
// LMWeekStarViewController.m
// SweetParty
//
// Created by Xmac on 2024/8/6.
//
#import "LMWeekStarViewController.h"
#import "LMWeekLastCollectionViewCell.h"
#import "LMWeekListTableViewCell.h"
#import "LMWeekListHeaderView.h"
@interface LMWeekStarViewController ()<UITableViewDelegate,UITableViewDataSource,UICollectionViewDelegate,UICollectionViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *currentTableView;
@property (weak, nonatomic) IBOutlet UICollectionView *lastWeekTopItemView;
@property (nonatomic, strong) LMWeekListHeaderView *headerView;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *topLayout;
@property (nonatomic, strong) NSMutableArray *lastWeekDataArr;
@property (nonatomic, strong) NSMutableArray *currentListDataArr;
@property (weak, nonatomic) IBOutlet UILabel *meInfoisRank;
@property (weak, nonatomic) IBOutlet UIImageView *meInfoHeaderPic;
@property (weak, nonatomic) IBOutlet UILabel *meInfoNicknameLabel;
@property (weak, nonatomic) IBOutlet UILabel *meInfoDeffNumLabel;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint;
@end
@implementation LMWeekStarViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.navTitle = @"周星榜";
[self.customNavBar styleClear];
self.customNavBar.titleLab.textColor = kWhiteColor;
[self.customNavBar.left0Btn setImage:ImageNamed(@"whiteBack") forState:(UIControlStateNormal)];
self.view.backgroundColor = HEXCOLOR(0x390780);
UIButton *btn = [UIButton buttonWithType:(UIButtonTypeCustom)];
[btn setImage:ImageNamed(@"week_home_yiwen") forState:(UIControlStateNormal)];
[self.customNavBar addSubview:btn];
[btn buttonAddTaget:^(UIButton *btn) {
[UIViewController goWebWithUrl:[VERSION_HTTPS_SERVER stringByAppendingString:@"index.php/index/index/page_show?id=20"]];
} forControlEvents:(UIControlEventTouchUpInside)];
[btn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-15);
make.width.height.mas_equalTo(30);
make.top.mas_equalTo(yb_StatusBar_H+7);
}];
[self setupUI];
[self requestGiftLastWeekRank];
}
- (void)setupUI
{
self.topLayout.constant = yb_NavigationBar_H;
[self.currentTableView registerNib:[UINib nibWithNibName:@"LMWeekListTableViewCell" bundle:nil] forCellReuseIdentifier:LMWeekListTableViewCellID];
self.currentTableView.tableHeaderView = self.headerView;
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
flowLayout.itemSize = CGSizeMake((APPW-30)/4, 140);
flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
flowLayout.minimumLineSpacing = 0;
self.lastWeekTopItemView.collectionViewLayout = flowLayout;
self.lastWeekTopItemView.delegate = self;
self.lastWeekTopItemView.dataSource = self;
[self.lastWeekTopItemView registerNib:[UINib nibWithNibName:@"LMWeekLastCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:LMWeekLastCollectionViewCellID];
}
- (void)setmeInfoWithDict:(NSDictionary *)myinfo
{
NSInteger is_top_rank = [myinfo safeIntForKey:@"is_top_rank"];//1 2
if (is_top_rank == 1){
self.meInfoisRank.text = @"已上榜";
self.meInfoDeffNumLabel.hidden = YES;
}else{
self.meInfoisRank.text = @"未上榜";
self.meInfoDeffNumLabel.text = [NSString stringWithFormat:@"距上榜还差%@个",[myinfo safeStringForKey:@"diff_num"]];
self.meInfoDeffNumLabel.hidden = NO;
}
self.meInfoNicknameLabel.text = [myinfo safeStringForKey:@"nick_name"];
[self.meInfoHeaderPic sd_setImageWithURL:[NSURL URLWithString:[myinfo safeStringForKey:@"head_pic"]] placeholderImage:kDefaultUserIcon];
}
#pragma mark
- (void)requestGiftLastWeekRank
{
[BJHttpTool BJ_Last_week_rankWithParameters:@{} success:^(id response) {
self.lastWeekDataArr = [LMLastWeekRankListModel mj_objectArrayWithKeyValuesArray:response[@"data"]];
[self.lastWeekTopItemView reloadData];
if (self.lastWeekDataArr.count > 0) {
self.heightConstraint.constant = 200;
}else {
self.heightConstraint.constant = 55;
}
} failure:^(NSError *error) {
}];
}
- (void)requestGiftCurrentWeekRankListWithGid:(NSString *)gid
{
[BJHttpTool BJ_Now_week_rankWithParameters:@{@"gid":gid} success:^(id response) {
NSDictionary *data = [response safeDictionaryForKey:@"data"];
self.currentListDataArr = [LMCurrentWeekGiftRankListModel mj_objectArrayWithKeyValuesArray:[data safeArrayForKey:@"list"]];
[self.currentTableView reloadData];
NSDictionary *myinfo = [data safeDictionaryForKey:@"my_user_info"];
[self setmeInfoWithDict:myinfo];
} failure:^(NSError *error) {
}];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.currentListDataArr.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
LMWeekListTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:LMWeekListTableViewCellID forIndexPath:indexPath];
cell.model = self.currentListDataArr[indexPath.row];
cell.rankLabel.text = [NSString stringWithFormat:@"%02ld",indexPath.row+1];
if (indexPath.row < 3){
NSString *rankiconStr = [NSString stringWithFormat:@"week_rank_%ld",indexPath.row+1];
cell.rankIcon.image = ImageNamed(rankiconStr);
cell.rankIcon.hidden = NO;
cell.rankLabel.hidden = YES;
// if (indexPath.row == 0){
// cell.receiveHeaderPic.layer.borderColor = HEXCOLOR(0xF9A920).CGColor;
// }else if (indexPath.row == 1){
// cell.receiveHeaderPic.layer.borderColor = HEXCOLOR(0xAEBAC3).CGColor;
// }else if (indexPath.row == 2){
// cell.receiveHeaderPic.layer.borderColor = HEXCOLOR(0xF36745).CGColor;
// }
}else{
cell.receiveHeaderPic.layer.borderColor = kClearColor.CGColor;
cell.rankIcon.hidden = YES;
cell.rankLabel.hidden = NO;
}
return cell;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return self.lastWeekDataArr.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
LMWeekLastCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:LMWeekLastCollectionViewCellID forIndexPath:indexPath];
cell.model = self.lastWeekDataArr[indexPath.row];
return cell;
}
- (LMWeekListHeaderView *)headerView
{
if (!_headerView){
_headerView = LoadNib(@"LMWeekListHeaderView");
_headerView.frame = CGRectMake(0, 0, APPW-30, 110);
WEAK_SELF;
_headerView.updateListBlock = ^(NSString * _Nonnull gid) {
[weakSelf requestGiftCurrentWeekRankListWithGid:gid];
};
}
return _headerView;
}
- (NSMutableArray *)lastWeekDataArr
{
if (!_lastWeekDataArr){
_lastWeekDataArr = [NSMutableArray array];
}
return _lastWeekDataArr;
}
- (NSMutableArray *)currentListDataArr
{
if (!_currentListDataArr){
_currentListDataArr = [NSMutableArray array];
}
return _currentListDataArr;
}
@end

View File

@@ -0,0 +1,206 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LMWeekStarViewController">
<connections>
<outlet property="currentTableView" destination="hYP-dn-D93" id="PL1-Ma-5dy"/>
<outlet property="heightConstraint" destination="TX3-KR-YTz" id="FCO-1w-n67"/>
<outlet property="lastWeekTopItemView" destination="WwQ-Ah-x5L" id="KYa-5S-5CT"/>
<outlet property="meInfoDeffNumLabel" destination="YLy-KF-d4I" id="8hd-sx-6KO"/>
<outlet property="meInfoHeaderPic" destination="AU3-Qa-uP0" id="a2b-Wo-1V6"/>
<outlet property="meInfoNicknameLabel" destination="vGt-1P-9lW" id="Hvc-eK-xT7"/>
<outlet property="meInfoisRank" destination="Vim-Jo-T1g" id="jf9-Ai-0MB"/>
<outlet property="topLayout" destination="j75-lx-UtM" id="Vrm-ht-REu"/>
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="T6L-Ky-FPj">
<rect key="frame" x="0.0" y="100" width="375" height="626"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="q5p-hQ-hNV">
<rect key="frame" x="0.0" y="0.0" width="375" height="966"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="week_home_top" translatesAutoresizingMaskIntoConstraints="NO" id="hdt-Rw-tEu">
<rect key="frame" x="0.0" y="0.0" width="375" height="306"/>
</imageView>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TR3-n7-5nn">
<rect key="frame" x="15" y="256" width="345" height="200"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="week_current_last_bg" translatesAutoresizingMaskIntoConstraints="NO" id="iSM-oJ-V8O">
<rect key="frame" x="0.0" y="0.0" width="345" height="192"/>
</imageView>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="WwQ-Ah-x5L">
<rect key="frame" x="0.0" y="55" width="345" height="145"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="nhz-wt-VvE">
<size key="itemSize" width="128" height="128"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
</collectionView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="WwQ-Ah-x5L" firstAttribute="leading" secondItem="TR3-n7-5nn" secondAttribute="leading" id="91o-D9-7fH"/>
<constraint firstItem="iSM-oJ-V8O" firstAttribute="top" secondItem="TR3-n7-5nn" secondAttribute="top" id="TJt-ip-m4f"/>
<constraint firstAttribute="height" constant="200" id="TX3-KR-YTz"/>
<constraint firstAttribute="trailing" secondItem="WwQ-Ah-x5L" secondAttribute="trailing" id="obw-X2-c9O"/>
<constraint firstItem="iSM-oJ-V8O" firstAttribute="leading" secondItem="TR3-n7-5nn" secondAttribute="leading" id="rvK-Cx-xMj"/>
<constraint firstAttribute="trailing" secondItem="iSM-oJ-V8O" secondAttribute="trailing" id="sJd-x0-uDQ"/>
<constraint firstAttribute="bottom" secondItem="WwQ-Ah-x5L" secondAttribute="bottom" id="uY5-gd-3B2"/>
<constraint firstItem="WwQ-Ah-x5L" firstAttribute="top" secondItem="TR3-n7-5nn" secondAttribute="top" constant="55" id="ynZ-g4-dfV"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UTr-o3-KDk">
<rect key="frame" x="15" y="466" width="345" height="500"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="week_current_list_bg" translatesAutoresizingMaskIntoConstraints="NO" id="xTm-Xf-Cyh">
<rect key="frame" x="0.0" y="0.0" width="345" height="500"/>
<constraints>
<constraint firstAttribute="width" secondItem="xTm-Xf-Cyh" secondAttribute="height" multiplier="345:500" id="rp7-OK-L1g"/>
</constraints>
</imageView>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="77" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="hYP-dn-D93">
<rect key="frame" x="10" y="55" width="325" height="445"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<outlet property="dataSource" destination="-1" id="ro7-gs-2CM"/>
<outlet property="delegate" destination="-1" id="GKT-fZ-9n4"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="hYP-dn-D93" secondAttribute="bottom" id="LQf-el-rwC"/>
<constraint firstItem="xTm-Xf-Cyh" firstAttribute="top" secondItem="UTr-o3-KDk" secondAttribute="top" id="Mpk-U0-PDj"/>
<constraint firstItem="hYP-dn-D93" firstAttribute="top" secondItem="UTr-o3-KDk" secondAttribute="top" constant="55" id="PJl-qe-oXi"/>
<constraint firstAttribute="trailing" secondItem="hYP-dn-D93" secondAttribute="trailing" constant="10" id="TmB-zL-MF9"/>
<constraint firstAttribute="bottom" secondItem="xTm-Xf-Cyh" secondAttribute="bottom" id="bSS-EQ-c3l"/>
<constraint firstItem="hYP-dn-D93" firstAttribute="leading" secondItem="UTr-o3-KDk" secondAttribute="leading" constant="10" id="d7Z-1Z-GMX"/>
<constraint firstItem="xTm-Xf-Cyh" firstAttribute="leading" secondItem="UTr-o3-KDk" secondAttribute="leading" id="ea9-ZT-AZa"/>
<constraint firstAttribute="trailing" secondItem="xTm-Xf-Cyh" secondAttribute="trailing" id="jlK-qR-H4f"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="TR3-n7-5nn" secondAttribute="trailing" constant="15" id="4qI-yP-j8P"/>
<constraint firstItem="hdt-Rw-tEu" firstAttribute="leading" secondItem="q5p-hQ-hNV" secondAttribute="leading" id="98i-sv-hyW"/>
<constraint firstItem="hdt-Rw-tEu" firstAttribute="top" secondItem="q5p-hQ-hNV" secondAttribute="top" id="9ts-YJ-vCF"/>
<constraint firstAttribute="bottom" secondItem="UTr-o3-KDk" secondAttribute="bottom" id="EaK-XV-Uin"/>
<constraint firstItem="TR3-n7-5nn" firstAttribute="leading" secondItem="q5p-hQ-hNV" secondAttribute="leading" constant="15" id="GRM-Do-S8b"/>
<constraint firstItem="UTr-o3-KDk" firstAttribute="leading" secondItem="q5p-hQ-hNV" secondAttribute="leading" constant="15" id="TSa-Y3-Dfc"/>
<constraint firstAttribute="height" constant="966" id="bxK-HG-K96"/>
<constraint firstAttribute="trailing" secondItem="UTr-o3-KDk" secondAttribute="trailing" constant="15" id="p3P-fk-oIG"/>
<constraint firstItem="UTr-o3-KDk" firstAttribute="top" secondItem="TR3-n7-5nn" secondAttribute="bottom" constant="10" id="sbq-CU-QSf"/>
<constraint firstAttribute="trailing" secondItem="hdt-Rw-tEu" secondAttribute="trailing" id="xWR-YA-f6E"/>
<constraint firstItem="TR3-n7-5nn" firstAttribute="top" secondItem="hdt-Rw-tEu" secondAttribute="bottom" constant="-50" id="xnL-bn-Jv0"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="q5p-hQ-hNV" firstAttribute="top" secondItem="T6L-Ky-FPj" secondAttribute="top" id="51g-dA-N1K"/>
<constraint firstItem="q5p-hQ-hNV" firstAttribute="leading" secondItem="T6L-Ky-FPj" secondAttribute="leading" id="L2w-Dp-usg"/>
<constraint firstItem="q5p-hQ-hNV" firstAttribute="bottom" secondItem="T6L-Ky-FPj" secondAttribute="bottom" id="NZk-4W-Rrw"/>
<constraint firstItem="q5p-hQ-hNV" firstAttribute="centerX" secondItem="T6L-Ky-FPj" secondAttribute="centerX" id="Nar-X8-Uib"/>
<constraint firstItem="q5p-hQ-hNV" firstAttribute="trailing" secondItem="T6L-Ky-FPj" secondAttribute="trailing" id="emN-LE-bde"/>
</constraints>
<viewLayoutGuide key="contentLayoutGuide" id="mge-ec-tc5"/>
<viewLayoutGuide key="frameLayoutGuide" id="R5L-W6-Nop"/>
</scrollView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0Eo-JM-tle">
<rect key="frame" x="0.0" y="726" width="375" height="86"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="week_home_bottom_bg" translatesAutoresizingMaskIntoConstraints="NO" id="BXm-Sf-j6w">
<rect key="frame" x="0.0" y="0.0" width="375" height="86"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未上榜" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vim-Jo-T1g">
<rect key="frame" x="15" y="22" width="40" height="15.666666666666664"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<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="vGt-1P-9lW">
<rect key="frame" x="101" y="22" width="26.666666666666671" height="15.666666666666664"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距上榜还差1个" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YLy-KF-d4I">
<rect key="frame" x="274" y="22" width="86" height="15.666666666666664"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
<color key="textColor" red="1" green="1" blue="1" alpha="0.5" colorSpace="custom" customColorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="AU3-Qa-uP0">
<rect key="frame" x="60" y="12" width="36" height="36"/>
<constraints>
<constraint firstAttribute="height" constant="36" id="2ty-T4-Ke7"/>
<constraint firstAttribute="width" constant="36" id="sLA-OD-jjd"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="18"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="color" keyPath="borderColor">
<color key="value" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
<real key="value" value="1"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="86" id="9At-c2-Srp"/>
<constraint firstItem="vGt-1P-9lW" firstAttribute="leading" secondItem="AU3-Qa-uP0" secondAttribute="trailing" constant="5" id="EA4-8t-me6"/>
<constraint firstAttribute="trailing" secondItem="BXm-Sf-j6w" secondAttribute="trailing" id="GZ6-WM-TVK"/>
<constraint firstItem="vGt-1P-9lW" firstAttribute="centerY" secondItem="AU3-Qa-uP0" secondAttribute="centerY" id="KHs-nv-zbl"/>
<constraint firstItem="BXm-Sf-j6w" firstAttribute="top" secondItem="0Eo-JM-tle" secondAttribute="top" id="Ksc-x7-fiY"/>
<constraint firstItem="AU3-Qa-uP0" firstAttribute="leading" secondItem="Vim-Jo-T1g" secondAttribute="trailing" constant="5" id="MzL-7X-2VI"/>
<constraint firstAttribute="trailing" secondItem="YLy-KF-d4I" secondAttribute="trailing" constant="15" id="NEx-qS-GEL"/>
<constraint firstAttribute="bottom" secondItem="BXm-Sf-j6w" secondAttribute="bottom" id="Nr4-Id-h3a"/>
<constraint firstItem="AU3-Qa-uP0" firstAttribute="centerY" secondItem="Vim-Jo-T1g" secondAttribute="centerY" id="fdh-X6-5LL"/>
<constraint firstItem="BXm-Sf-j6w" firstAttribute="leading" secondItem="0Eo-JM-tle" secondAttribute="leading" id="hOZ-h7-ZrX"/>
<constraint firstItem="YLy-KF-d4I" firstAttribute="centerY" secondItem="AU3-Qa-uP0" secondAttribute="centerY" id="o1J-De-kJB"/>
<constraint firstItem="Vim-Jo-T1g" firstAttribute="top" secondItem="0Eo-JM-tle" secondAttribute="top" constant="22" id="oRX-hu-p9J"/>
<constraint firstItem="Vim-Jo-T1g" firstAttribute="leading" secondItem="0Eo-JM-tle" secondAttribute="leading" constant="15" id="vMn-M1-7Uh"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" red="0.22352941176470587" green="0.027450980392156862" blue="0.50196078431372548" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="0Eo-JM-tle" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="0of-t9-kkd"/>
<constraint firstItem="0Eo-JM-tle" firstAttribute="trailing" secondItem="i5M-Pr-FkT" secondAttribute="trailing" id="2dW-0n-KHj"/>
<constraint firstItem="T6L-Ky-FPj" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="TCV-Pu-8dG"/>
<constraint firstAttribute="bottom" secondItem="0Eo-JM-tle" secondAttribute="bottom" id="UpJ-jO-29f"/>
<constraint firstItem="T6L-Ky-FPj" firstAttribute="trailing" secondItem="i5M-Pr-FkT" secondAttribute="trailing" id="aZn-Dz-OmN"/>
<constraint firstItem="T6L-Ky-FPj" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="100" id="j75-lx-UtM"/>
<constraint firstItem="0Eo-JM-tle" firstAttribute="top" secondItem="T6L-Ky-FPj" secondAttribute="bottom" id="wBc-x8-2m9"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="-1019" y="-373"/>
</view>
</objects>
<resources>
<image name="default_userIcon" width="512" height="512"/>
<image name="week_current_last_bg" width="345" height="192"/>
<image name="week_current_list_bg" width="172.5" height="251.5"/>
<image name="week_home_bottom_bg" width="375" height="83"/>
<image name="week_home_top" width="375" height="306"/>
</resources>
</document>