首次提交

This commit is contained in:
启星
2025-08-08 11:05:33 +08:00
parent 1b3bb91b4a
commit adc1a2a25d
8803 changed files with 708874 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
//
// YYApplyUpGiftAlert.h
// YaYin
//
// Created by bj_szd on 2023/7/12.
// Copyright © 2023 YaYin. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface YYApplyUpGiftAlert : UIView
@property (weak, nonatomic) IBOutlet UIImageView *touchImgV;
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
@property (weak, nonatomic) IBOutlet UIButton *confirmBtn;
- (void)onShowWith:(NSString *)rid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,121 @@
//
// YYApplyUpGiftAlert.m
// YaYin
//
// Created by bj_szd on 2023/7/12.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYApplyUpGiftAlert.h"
#import "BJGiftItemCell.h"
#import "HLHorizontalPageLayout.h"
#import "BJRoomGiftModel.h"
@interface YYApplyUpGiftAlert ()<UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
@property (nonatomic, strong) NSArray *dataArray;
@property (nonatomic, assign) NSInteger selectedIndex;
@property (nonatomic, copy) NSString *rid;
@end
@implementation YYApplyUpGiftAlert
- (void)awakeFromNib {
[super awakeFromNib];
self.selectedIndex = -1;
[self createUI];
[self fetchGiftData];
}
- (void)fetchGiftData {
NSDictionary *params = @{@"page":@"1", @"page_limit":@"1000"};
[[AFNetworkRequset shared] postRequestWithParams:params Path:@"/api/room_micro/get_help_gift_list" Loading:NO Hud:NO Success:^(id _Nonnull responseDic) {
NSArray *arr = [BJRoomGiftModel mj_objectArrayWithKeyValuesArray:responseDic[@"data"]];
self.dataArray = arr;
[self.collectionView reloadData];
} Failure:^(id _Nonnull errorData) {
}];
}
- (void)createUI {
[self.confirmBtn setJianBianWithCGSize:CGSizeMake(ScreenWidth-30*2, 44)];
WEAK_SELF
[self.touchImgV dg_Tapped:^{
[weakSelf removeFromSuperview];
}];
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
CGFloat itemW = (ScreenWidth-15*2-15*2)/3;
layout.itemSize = CGSizeMake(itemW, 126);
layout.minimumInteritemSpacing = 15;
layout.minimumLineSpacing = 15;
layout.sectionInset = UIEdgeInsetsMake(0, 15, 0, 15);
_collectionView.collectionViewLayout = layout;
_collectionView.delegate = self;
_collectionView.dataSource = self;
[_collectionView registerClass:[BJGiftItemCell class] forCellWithReuseIdentifier:@"BJGiftItemCell"];
_collectionView.showsHorizontalScrollIndicator = NO;
_collectionView.pagingEnabled = YES;
_collectionView.multipleTouchEnabled = NO;
}
- (void)onShowWith:(NSString *)rid {
self.rid = rid;
[KEYWINDOW addSubview:self];
}
- (IBAction)onConfirm:(id)sender {
if (self.selectedIndex == -1) {
[HelpPageDefine showMessage:@"请选择礼物"];
return;
}
BJRoomGiftModel *model = self.dataArray[self.selectedIndex];
NSDictionary *params = @{@"rid":C_string(self.rid), @"gid":model.gid};
[[AFNetworkRequset shared] postRequestWithParams:params Path:@"/api/room_micro/operate_room_help_gift" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
[self removeFromSuperview];
} Failure:^(id _Nonnull errorData) {
}];
}
#pragma mark - UICollectionViewDelegate && UICollectionViewDataSource
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return self.dataArray.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
BJGiftItemCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"BJGiftItemCell" forIndexPath:indexPath];
BJRoomGiftModel *model = self.dataArray[indexPath.row];
// cell.model = model;
[cell configApplyupMicModel:model];
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
BJRoomGiftModel *model = self.dataArray[indexPath.row];
self.selectedIndex = indexPath.row;
for (BJRoomGiftModel *model in self.dataArray) {
model.isItemSelected = NO;
}
model.isItemSelected = YES;
[self.collectionView reloadData];
}
@end

View File

@@ -0,0 +1,105 @@
<?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_1" 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"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="YYApplyUpGiftAlert">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Tg5-mr-M63">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<color key="backgroundColor" white="0.0" alpha="0.29999999999999999" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e3c-c8-hjW">
<rect key="frame" x="0.0" y="367" width="375" height="445"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="applyUp_gift_bg" translatesAutoresizingMaskIntoConstraints="NO" id="mJ2-Ui-FG3">
<rect key="frame" x="0.0" y="0.0" width="375" height="445"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="设置礼物" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OKo-D1-veG">
<rect key="frame" x="151" y="15" width="73.5" height="21.5"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bRc-Zq-7P8">
<rect key="frame" x="30" y="351" width="315" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="C1g-zl-vDP"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="确定">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="22"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="onConfirm:" destination="iN0-l3-epB" eventType="touchUpInside" id="khQ-Ik-8fQ"/>
</connections>
</button>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="5IG-xR-ASk">
<rect key="frame" x="0.0" y="55" width="375" height="280"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="280" id="Zus-jD-aRT"/>
</constraints>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="FiI-zu-2w6">
<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="mJ2-Ui-FG3" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" id="166-Fh-NC1"/>
<constraint firstItem="5IG-xR-ASk" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" id="41G-2z-bMB"/>
<constraint firstAttribute="trailing" secondItem="bRc-Zq-7P8" secondAttribute="trailing" constant="30" id="4HR-nJ-CBr"/>
<constraint firstAttribute="height" constant="445" id="FQK-QB-MuB"/>
<constraint firstAttribute="bottom" secondItem="mJ2-Ui-FG3" secondAttribute="bottom" id="JAF-6d-zdl"/>
<constraint firstAttribute="trailing" secondItem="mJ2-Ui-FG3" secondAttribute="trailing" id="W4f-68-1JU"/>
<constraint firstAttribute="bottom" secondItem="bRc-Zq-7P8" secondAttribute="bottom" constant="50" id="aRn-R0-XsJ"/>
<constraint firstItem="5IG-xR-ASk" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" constant="55" id="hD8-cb-wfA"/>
<constraint firstItem="mJ2-Ui-FG3" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" id="hDc-JA-W36"/>
<constraint firstItem="OKo-D1-veG" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" constant="15" id="k9y-J3-zwD"/>
<constraint firstItem="bRc-Zq-7P8" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" constant="30" id="onJ-JO-9Zf"/>
<constraint firstAttribute="trailing" secondItem="5IG-xR-ASk" secondAttribute="trailing" id="vWj-dv-cyO"/>
<constraint firstItem="OKo-D1-veG" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" id="x4a-8A-6j8"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="e3c-c8-hjW" secondAttribute="bottom" id="47G-Vw-Dnn"/>
<constraint firstItem="Tg5-mr-M63" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="Ajp-Bi-NrC"/>
<constraint firstItem="Tg5-mr-M63" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="C1U-cI-Wga"/>
<constraint firstAttribute="bottom" secondItem="Tg5-mr-M63" secondAttribute="bottom" id="edO-pm-1fM"/>
<constraint firstAttribute="trailing" secondItem="e3c-c8-hjW" secondAttribute="trailing" id="phH-ga-80f"/>
<constraint firstAttribute="trailing" secondItem="Tg5-mr-M63" secondAttribute="trailing" id="tQS-q4-FdB"/>
<constraint firstItem="e3c-c8-hjW" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="uGX-78-j8U"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="collectionView" destination="5IG-xR-ASk" id="zVV-hw-brb"/>
<outlet property="confirmBtn" destination="bRc-Zq-7P8" id="EHY-bQ-Ajz"/>
<outlet property="touchImgV" destination="Tg5-mr-M63" id="rZP-D8-cyf"/>
</connections>
<point key="canvasLocation" x="137" y="-33"/>
</view>
</objects>
<resources>
<image name="applyUp_gift_bg" width="375" height="445"/>
</resources>
</document>

View File

@@ -0,0 +1,46 @@
//
// YYApplyUpMicModel.h
// YaYin
//
// Created by bj_szd on 2023/4/27.
// Copyright © 2023 YaYin. All rights reserved.
//
#import <Foundation/Foundation.h>
@class YYApplyUpUser;
NS_ASSUME_NONNULL_BEGIN
@interface YYApplyUpMicModel : NSObject
@property(nonatomic, copy) NSString *priority_count;
@property(nonatomic, copy) NSString *priority_total_count;
@property(nonatomic, strong) NSArray *priority_aisle;//优先通道
@property(nonatomic, copy) NSString *common_count;
@property(nonatomic, copy) NSString *common_total_count;
@property(nonatomic, strong) NSArray *common_aisle;//公共通道
@property(nonatomic, copy) NSString *gid;
@property(nonatomic, copy) NSString *gift_name;
@property(nonatomic, copy) NSString *base_image;
@end
@interface YYApplyUpUser : NSObject
@property(nonatomic, copy) NSString *uid;
@property(nonatomic, copy) NSString *id;//通道列表id
@property(nonatomic, copy) NSString *rid;
@property(nonatomic, assign) NSInteger type;//类型 1普通 2优先
@property(nonatomic, copy) NSString *rank_value;
@property(nonatomic, copy) NSString *nick_name;
@property(nonatomic, copy) NSString *head_pic;
//前端添加
@property(nonatomic, assign) BOOL is_sel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,22 @@
//
// YYApplyUpMicModel.m
// YaYin
//
// Created by bj_szd on 2023/4/27.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYApplyUpMicModel.h"
@implementation YYApplyUpMicModel
+ (NSDictionary *)mj_objectClassInArray
{
return @{@"priority_aisle":[YYApplyUpUser class], @"common_aisle":[YYApplyUpUser class]};
}
@end
@implementation YYApplyUpUser
@end

View File

@@ -0,0 +1,28 @@
//
// YYJYApplyUpCell.h
// YaYin
//
// Created by bj_szd on 2023/4/26.
// Copyright © 2023 YaYin. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "YYApplyUpMicModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface YYJYApplyUpCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIImageView *avatarImgV;
@property (weak, nonatomic) IBOutlet UILabel *nicknameLab;
@property (weak, nonatomic) IBOutlet UILabel *bottomPriceLab;
@property (weak, nonatomic) IBOutlet UILabel *topPriceLab;
@property (weak, nonatomic) IBOutlet UIView *topPriceView;
@property (weak, nonatomic) IBOutlet UIButton *selBtn;
@property (weak, nonatomic) IBOutlet UIButton *chaduiBtn;
- (void)onUpdateYYJYApplyUpCell:(YYApplyUpUser *)model isVip:(BOOL)isVip isRoomOwner:(BOOL)isRoomOwner;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,42 @@
//
// YYJYApplyUpCell.m
// YaYin
//
// Created by bj_szd on 2023/4/26.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYJYApplyUpCell.h"
@implementation YYJYApplyUpCell
- (void)awakeFromNib {
[super awakeFromNib];
// self.chaduiBtn.backgroundColor = [UIColor bm_colorGradientChangeWithSize:self.chaduiBtn.size direction:FXGradientChangeDirectionHorizontal startColor:mainDeepColor endColor:mainLightColor];
}
- (void)onUpdateYYJYApplyUpCell:(YYApplyUpUser *)model isVip:(BOOL)isVip isRoomOwner:(BOOL)isRoomOwner {
[self.avatarImgV sd_setImageWithURL:[NSURL URLWithString:model.head_pic] placeholderImage:kDefaultUserIcon];
self.nicknameLab.text = model.nick_name;
self.topPriceLab.text = self.bottomPriceLab.text = [NSString stringWithFormat:@"%@", model.rank_value];
self.selBtn.selected = model.is_sel;
if (isRoomOwner) {
self.selBtn.hidden = NO;
}else {
self.selBtn.hidden = YES;
}
if (isVip) {
self.topPriceView.hidden = NO;
self.bottomPriceLab.hidden = NO;
self.chaduiBtn.hidden = NO;
}else {
self.topPriceView.hidden = YES;
self.bottomPriceLab.hidden = YES;
self.chaduiBtn.hidden = NO;
}
}
@end

View File

@@ -0,0 +1,143 @@
<?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_1" 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="YYJYApplyUpCell">
<rect key="frame" x="0.0" y="0.0" width="80" height="103"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="80" height="103"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LDH-qm-YHG">
<rect key="frame" x="20" y="0.0" width="40" height="40"/>
<constraints>
<constraint firstAttribute="width" constant="40" id="79Q-1i-Y57"/>
<constraint firstAttribute="height" constant="40" id="ArQ-xI-71C"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="20"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RUz-9n-3sL">
<rect key="frame" x="30" y="83.5" width="20" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="35K-1d-nvm"/>
<constraint firstAttribute="height" constant="20" id="YpN-1a-kaP"/>
</constraints>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="applyUp_item_nor"/>
<state key="selected" image="applyUp_item_sel"/>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昵称" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="V1H-JZ-aGx">
<rect key="frame" x="2" y="44" width="76" height="13.5"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/>
<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="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iF0-83-TVt">
<rect key="frame" x="34.5" y="60.5" width="27.5" height="13"/>
<fontDescription key="fontDescription" name="DINAlternate-Bold" family="DIN Alternate" pointSize="11"/>
<color key="textColor" red="0.98431372549019602" green="0.84705882352941175" blue="0.14901960784313725" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="room_gift_coin" translatesAutoresizingMaskIntoConstraints="NO" id="mcq-hw-Aka">
<rect key="frame" x="17.5" y="61" width="12" height="12"/>
<constraints>
<constraint firstAttribute="width" constant="12" id="N91-Tx-9Qk"/>
<constraint firstAttribute="height" constant="12" id="wjr-vW-9hU"/>
</constraints>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a4I-hy-Uob">
<rect key="frame" x="13" y="60.5" width="54" height="18"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="18" id="HJa-yf-Nc4"/>
<constraint firstAttribute="width" constant="54" id="wug-Oi-22j"/>
</constraints>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="bangtachadui">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lU0-lM-cnm">
<rect key="frame" x="25" y="26" width="30.5" height="14"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="room_gift_coin" translatesAutoresizingMaskIntoConstraints="NO" id="P3z-wi-Qd2">
<rect key="frame" x="3" y="1" width="12" height="12"/>
<constraints>
<constraint firstAttribute="width" constant="12" id="EIB-OA-fzS"/>
<constraint firstAttribute="height" constant="12" id="KvG-Yj-UbR"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mhw-aQ-Cfw">
<rect key="frame" x="20" y="0.5" width="5.5" height="13"/>
<fontDescription key="fontDescription" name="DINAlternate-Bold" family="DIN Alternate" pointSize="11"/>
<color key="textColor" red="0.98431372549999996" green="0.84705882349999995" blue="0.14901960780000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.050000000000000003" colorSpace="custom" customColorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="Mhw-aQ-Cfw" firstAttribute="leading" secondItem="lU0-lM-cnm" secondAttribute="leading" constant="20" id="52t-ST-IuP"/>
<constraint firstAttribute="height" constant="14" id="5f4-GN-KZi"/>
<constraint firstItem="Mhw-aQ-Cfw" firstAttribute="centerY" secondItem="lU0-lM-cnm" secondAttribute="centerY" id="Tod-0Z-SpM"/>
<constraint firstItem="P3z-wi-Qd2" firstAttribute="centerY" secondItem="lU0-lM-cnm" secondAttribute="centerY" id="Wc7-21-f7a"/>
<constraint firstAttribute="trailing" secondItem="Mhw-aQ-Cfw" secondAttribute="trailing" constant="5" id="dMK-uV-KrQ"/>
<constraint firstItem="P3z-wi-Qd2" firstAttribute="leading" secondItem="lU0-lM-cnm" secondAttribute="leading" constant="3" id="pwG-Z4-yrn"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="3"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
</view>
<constraints>
<constraint firstItem="LDH-qm-YHG" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="0dz-0H-7k5"/>
<constraint firstItem="V1H-JZ-aGx" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="2" id="2vG-xC-6Gb"/>
<constraint firstItem="a4I-hy-Uob" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="OM4-I6-Z2u"/>
<constraint firstItem="V1H-JZ-aGx" firstAttribute="top" secondItem="LDH-qm-YHG" secondAttribute="bottom" constant="4" id="QdD-bd-hVc"/>
<constraint firstItem="iF0-83-TVt" firstAttribute="leading" secondItem="mcq-hw-Aka" secondAttribute="trailing" constant="5" id="Ssa-jS-d62"/>
<constraint firstItem="lU0-lM-cnm" firstAttribute="bottom" secondItem="LDH-qm-YHG" secondAttribute="bottom" id="Um3-F7-Dpu"/>
<constraint firstItem="mcq-hw-Aka" firstAttribute="centerY" secondItem="iF0-83-TVt" secondAttribute="centerY" id="ZAl-E5-mxV"/>
<constraint firstItem="RUz-9n-3sL" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="b5h-xX-VCB"/>
<constraint firstItem="iF0-83-TVt" firstAttribute="top" secondItem="V1H-JZ-aGx" secondAttribute="bottom" constant="3" id="dw1-Pu-E3d"/>
<constraint firstItem="iF0-83-TVt" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" constant="8" id="eXI-wX-OAb"/>
<constraint firstItem="LDH-qm-YHG" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="kx5-ou-4EM"/>
<constraint firstItem="lU0-lM-cnm" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="n2W-v3-ca5"/>
<constraint firstItem="RUz-9n-3sL" firstAttribute="top" secondItem="a4I-hy-Uob" secondAttribute="bottom" constant="5" id="sr9-Cf-EfC"/>
<constraint firstAttribute="trailing" secondItem="V1H-JZ-aGx" secondAttribute="trailing" constant="2" id="swD-CZ-C7W"/>
<constraint firstItem="a4I-hy-Uob" firstAttribute="top" secondItem="V1H-JZ-aGx" secondAttribute="bottom" constant="3" id="yy4-9j-MqT"/>
</constraints>
<size key="customSize" width="136" height="103"/>
<connections>
<outlet property="avatarImgV" destination="LDH-qm-YHG" id="8Ly-Jy-quc"/>
<outlet property="bottomPriceLab" destination="iF0-83-TVt" id="Rbx-V7-YWy"/>
<outlet property="chaduiBtn" destination="a4I-hy-Uob" id="07Z-JJ-zc8"/>
<outlet property="nicknameLab" destination="V1H-JZ-aGx" id="qh8-EP-3UY"/>
<outlet property="selBtn" destination="RUz-9n-3sL" id="AT1-xc-8bj"/>
<outlet property="topPriceLab" destination="Mhw-aQ-Cfw" id="hje-ts-fQO"/>
<outlet property="topPriceView" destination="lU0-lM-cnm" id="Zfc-pe-8q9"/>
</connections>
<point key="canvasLocation" x="194.20289855072465" y="132.92410714285714"/>
</collectionViewCell>
</objects>
<resources>
<image name="applyUp_item_nor" width="16" height="16"/>
<image name="applyUp_item_sel" width="16" height="16"/>
<image name="bangtachadui" width="54" height="18"/>
<image name="room_gift_coin" width="16" height="16"/>
</resources>
</document>

View File

@@ -0,0 +1,39 @@
//
// YYJYApplyUpView.h
// YaYin
//
// Created by bj_szd on 2023/4/26.
// Copyright © 2023 YaYin. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "RCMicRoomViewModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface YYJYApplyUpView : UIView
@property (weak, nonatomic) IBOutlet UIImageView *touchImgV;
@property (weak, nonatomic) IBOutlet UIView *whiteView;
@property (weak, nonatomic) IBOutlet UILabel *vipLab;
@property (weak, nonatomic) IBOutlet UICollectionView *vipCollectionView;
@property (weak, nonatomic) IBOutlet UILabel *waitLab;
@property (weak, nonatomic) IBOutlet UICollectionView *waitCollectionView;
@property (weak, nonatomic) IBOutlet UIButton *clearBtn;
@property (weak, nonatomic) IBOutlet UIButton *refuseBtn;
@property (weak, nonatomic) IBOutlet UIButton *agreeBtn;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *agreeBtnRightCon;
@property (weak, nonatomic) IBOutlet UIButton *applyBtn;
@property (weak, nonatomic) IBOutlet UIButton *sendBtn;
@property (weak, nonatomic) IBOutlet UIImageView *giftImgV;
@property (weak, nonatomic) IBOutlet UILabel *giftNameLab;
@property (nonatomic, copy) void(^onClickUserBlock)(NSString *uid);
@property (nonatomic, strong) RCMicRoomViewModel *viewModel;
- (void)onReceiveSocketWith:(NSDictionary *)dict;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,318 @@
//
// YYJYApplyUpView.m
// YaYin
//
// Created by bj_szd on 2023/4/26.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYJYApplyUpView.h"
#import "YYJYApplyUpCell.h"
#import "YYApplyUpGiftAlert.h"
#import "YYJYChooseTeamAlert.h"
#import "YYXQPickTimeAlert.h"
@interface YYJYApplyUpView () <UICollectionViewDelegateFlowLayout, UICollectionViewDataSource>
@property (nonatomic, strong) NSArray *vipDataArr;
@property (nonatomic, strong) NSArray *waitDataArr;
@property (nonatomic, strong) YYApplyUpMicModel *model;
@property(nonatomic, assign) NSInteger is_apply;//1 2
@property(nonatomic, copy) NSString *apply_id;//id
@property(nonatomic, assign) BOOL isHost;//
@property(nonatomic, assign) BOOL isManager;//
@property (nonatomic, strong) YYApplyUpUser *selUserModel;
@end
@implementation YYJYApplyUpView
- (void)awakeFromNib {
[super awakeFromNib];
self.is_apply = 2;
self.apply_id = @"";
[self createUI];
}
- (void)setViewModel:(RCMicRoomViewModel *)viewModel {
_viewModel = viewModel;
[self fetchData];
if ([self.viewModel isRoomHost]) {
self.isHost = YES;
[self.sendBtn setTitle:@"设置" forState:UIControlStateNormal];
}else {
self.isHost = NO;
[self.sendBtn setTitle:@"赠送" forState:UIControlStateNormal];
}
if ([self.viewModel isRoomOwner] || [self.viewModel isRoomAdministrator]) {
self.isManager = YES;
self.refuseBtn.hidden = self.agreeBtn.hidden = self.clearBtn.hidden = NO;
}else {
self.isManager = NO;
self.refuseBtn.hidden = self.agreeBtn.hidden = self.clearBtn.hidden = YES;
}
}
- (void)fetchData {
NSDictionary *params = @{@"rid":_viewModel.roomInfo.roomId};
[AFNetworkRequset.shared postRequestWithParams:params Path:@"/api/room_micro/get_room_micro_list" Loading:NO Hud:NO Success:^(id _Nonnull responseDic) {
self.model = [YYApplyUpMicModel mj_objectWithKeyValues:responseDic[@"data"]];
[self onUpdateUIWith:self.model];
} Failure:^(id _Nonnull errorData) {
}];
}
- (void)onUpdateUIWith:(YYApplyUpMicModel *)model {
self.vipLab.text = [NSString stringWithFormat:@"优先通道(%@/%@", model.priority_count, model.priority_total_count];
self.vipDataArr = model.priority_aisle;
[self.vipCollectionView reloadData];
self.waitLab.text = [NSString stringWithFormat:@"等待上台(%@/%@", model.common_count, model.common_total_count];
self.waitDataArr = model.common_aisle;
[self.waitCollectionView reloadData];
self.is_apply = 2;
self.apply_id = @"";
for (YYApplyUpUser *obj in self.vipDataArr) {
if ([obj.uid integerValue] == [BJUserManager.userInfo.uid integerValue]) {
self.is_apply = 1;
self.apply_id = obj.id;
}
}
for (YYApplyUpUser *obj in self.waitDataArr) {
if ([obj.uid integerValue] == [BJUserManager.userInfo.uid integerValue]) {
self.is_apply = 1;
self.apply_id = obj.id;
}
}
if (self.is_apply == 1) {
[self.applyBtn setTitle:@"取消申请" forState:UIControlStateNormal];
}else {
[self.applyBtn setTitle:@"申请" forState:UIControlStateNormal];
}
if (model.gift_name.length > 0) {
[self.giftImgV sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
self.giftNameLab.text = [NSString stringWithFormat:@"赠送%@ 插队", model.gift_name];
}else {
self.giftNameLab.text = @"未设置插队礼物";
}
}
- (void)onReceiveSocketWith:(NSDictionary *)dict {
self.model = [YYApplyUpMicModel mj_objectWithKeyValues:dict];
[self onUpdateUIWith:self.model];
}
- (void)createUI {
WEAK_SELF
[self.touchImgV dg_Tapped:^{
[weakSelf removeFromSuperview];
}];
[self.clearBtn styleGradiBlueColor];
[self.agreeBtn styleGradiBlueColor];
[self.applyBtn styleGradiBlueColor];
[self.sendBtn styleGradiBlueColor];
// UIColor *bgColor = [UIColor bm_colorGradientChangeWithSize:CGSizeMake(ScreenWidth-6*2, 100) direction:FXGradientChangeDirectionHorizontal startColor:HEXCOLOR(0xAE4EFF) endColor:HEXCOLOR(0x403BFF)];
// self.vipCollectionView.backgroundColor = self.waitCollectionView.backgroundColor = [bgColor colorWithAlphaComponent:0.25];
{
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize = CGSizeMake(70, 105);
layout.minimumInteritemSpacing = 0;
layout.minimumLineSpacing = 0;
layout.sectionInset = UIEdgeInsetsMake(0, 8, 0, 8);
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
_vipCollectionView.collectionViewLayout = layout;
_vipCollectionView.delegate = self;
_vipCollectionView.dataSource = self;
[_vipCollectionView registerNib:[UINib nibWithNibName:@"YYJYApplyUpCell" bundle:nil] forCellWithReuseIdentifier:@"YYJYApplyUpCell"];
}
{
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize = CGSizeMake(70, 105);
layout.minimumInteritemSpacing = 0;
layout.minimumLineSpacing = 0;
layout.sectionInset = UIEdgeInsetsMake(0, 8, 0, 8);
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
_waitCollectionView.collectionViewLayout = layout;
_waitCollectionView.delegate = self;
_waitCollectionView.dataSource = self;
[_waitCollectionView registerNib:[UINib nibWithNibName:@"YYJYApplyUpCell" bundle:nil] forCellWithReuseIdentifier:@"YYJYApplyUpCell"];
}
}
- (IBAction)onClear:(id)sender {
NSDictionary *params = @{@"rid":_viewModel.roomInfo.roomId};
[AFNetworkRequset.shared postRequestWithParams:params Path:@"/api/room_micro/clears_room_micro_list" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
} Failure:^(id _Nonnull errorData) {
}];
}
- (IBAction)onRefuse:(id)sender {
if (_selUserModel == nil) {
[HelpPageDefine showMessage:@"请选择人员"];
return;
}
NSDictionary *params = @{@"rid":_viewModel.roomInfo.roomId, @"id":_selUserModel.id, @"type":@"2"};
[AFNetworkRequset.shared postRequestWithParams:params Path:@"/api/room_micro/operate_user_micro" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
} Failure:^(id _Nonnull errorData) {
}];
}
- (IBAction)onAgreeOrApply:(id)sender {
if (_selUserModel == nil) {
[HelpPageDefine showMessage:@"请选择人员"];
return;
}
if (self.viewModel.roomInfo.is_dating == 1) {
YYJYChooseTeamAlert *alert = LoadNib(@"YYJYChooseTeamAlert");
[alert onPopupWithSize:CGSizeMake(338, 250) parent:KEYWINDOW];
NSDictionary *params = @{@"rid":_viewModel.roomInfo.roomId, @"id":_selUserModel.id, @"type":@"1"};
alert.dict = params;
}else if (self.viewModel.roomInfo.is_blind_date == 1) {
YYXQPickTimeAlert *view = LoadNib(@"YYXQPickTimeAlert");
view.frame = [UIScreen mainScreen].bounds;
[MainWindow() addSubview:view];
view.onConfirmBlock = ^(NSString * _Nonnull time) {
NSDictionary *params = @{@"rid":self.viewModel.roomInfo.roomId, @"id":self.selUserModel.id, @"type":@"1", @"time":time};
[AFNetworkRequset.shared postRequestWithParams:params Path:@"/api/room_micro/operate_user_micro" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
} Failure:^(id _Nonnull errorData) {
}];
};
}else {
NSDictionary *params = @{@"rid":_viewModel.roomInfo.roomId, @"id":_selUserModel.id, @"type":@"1"};
[AFNetworkRequset.shared postRequestWithParams:params Path:@"/api/room_micro/operate_user_micro" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
} Failure:^(id _Nonnull errorData) {
}];
}
}
- (IBAction)onApply:(id)sender {
NSString *urlStr = self.is_apply == 1 ? @"/api/room_micro/unapply_room_micro" : @"/api/room_micro/apply_room_micro";
NSDictionary *params = @{@"rid":_viewModel.roomInfo.roomId, @"id":C_string(self.apply_id)};
[AFNetworkRequset.shared postRequestWithParams:params Path:urlStr Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
} Failure:^(id _Nonnull errorData) {
}];
}
- (IBAction)onSendOrSetGift:(id)sender {
if (self.isHost) {
YYApplyUpGiftAlert *view = LoadNib(@"YYApplyUpGiftAlert");
view.frame = [UIScreen mainScreen].bounds;
[view onShowWith:_viewModel.roomInfo.roomId];
}else {
[self onSendGiftWithHelpUid:BJUserManager.userInfo.uid];
}
}
- (void)onSendGiftWithHelpUid:(NSString *)help_uid {
NSDictionary *params = @{@"rid":_viewModel.roomInfo.roomId, @"help_uid":help_uid, @"gid":self.model.gid, @"num":@"1"};
[AFNetworkRequset.shared postRequestWithParams:params Path:@"/api/room_micro/send_gift_user_micro_help" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
} Failure:^(id _Nonnull errorData) {
}];
}
#pragma mark -------- collectionView ------
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
if (collectionView == _vipCollectionView) {
return self.vipDataArr.count;
}else {
return self.waitDataArr.count;
}
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
if (collectionView == _vipCollectionView) {
YYJYApplyUpCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"YYJYApplyUpCell" forIndexPath:indexPath];
YYApplyUpUser *model = self.vipDataArr[indexPath.row];
[cell onUpdateYYJYApplyUpCell:model isVip:YES isRoomOwner:self.isManager];
WEAK_SELF
[cell.selBtn buttonAddTaget:^(UIButton *btn) {
[weakSelf onSelWith:model];
} forControlEvents:UIControlEventTouchUpInside];
[cell.chaduiBtn buttonAddTaget:^(UIButton *btn) {
[weakSelf onSendGiftWithHelpUid:model.uid];
} forControlEvents:UIControlEventTouchUpInside];
return cell;
}else {
YYJYApplyUpCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"YYJYApplyUpCell" forIndexPath:indexPath];
YYApplyUpUser *model = self.waitDataArr[indexPath.row];
[cell onUpdateYYJYApplyUpCell:model isVip:NO isRoomOwner:self.isManager];
WEAK_SELF
[cell.selBtn buttonAddTaget:^(UIButton *btn) {
[weakSelf onSelWith:model];
} forControlEvents:UIControlEventTouchUpInside];
[cell.chaduiBtn buttonAddTaget:^(UIButton *btn) {
[weakSelf onSendGiftWithHelpUid:model.uid];
} forControlEvents:UIControlEventTouchUpInside];
return cell;
}
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
if (collectionView == _vipCollectionView) {
YYApplyUpUser *model = self.vipDataArr[indexPath.row];
if (self.onClickUserBlock) {
self.onClickUserBlock(model.uid);
}
}else {
YYApplyUpUser *model = self.waitDataArr[indexPath.row];
if (self.onClickUserBlock) {
self.onClickUserBlock(model.uid);
}
}
}
- (void)onSelWith:(YYApplyUpUser *)model {
for (YYApplyUpUser *obj in self.vipDataArr) {
obj.is_sel = NO;
}
for (YYApplyUpUser *obj in self.waitDataArr) {
obj.is_sel = NO;
}
model.is_sel = YES;
_selUserModel = model;
[_vipCollectionView reloadData];
[_waitCollectionView reloadData];
}
@end

View File

@@ -0,0 +1,259 @@
<?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_1" 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"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="YYJYApplyUpView">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="bWw-OO-VAf">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3Mf-oJ-HDv">
<rect key="frame" x="0.0" y="370" width="375" height="457"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="applyUp_bg" translatesAutoresizingMaskIntoConstraints="NO" id="iYH-YT-Ngc">
<rect key="frame" x="0.0" y="0.0" width="375" height="457"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="优先通道0/20" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wwX-m1-kQf">
<rect key="frame" x="15" y="15" width="134.5" height="19.5"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="kvH-cZ-GMg">
<rect key="frame" x="6" y="59.5" width="363" height="105"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="105" id="BR6-DS-C82"/>
</constraints>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="YgP-ap-Xen">
<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>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</collectionView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="等待上台0/20" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="U4K-Np-dee">
<rect key="frame" x="15" y="194.5" width="134.5" height="19.5"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="S7W-Sa-JWm">
<rect key="frame" x="6" y="239" width="363" height="105"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="105" id="Yld-x9-Co5"/>
</constraints>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="mMx-4q-1if">
<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>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</collectionView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3AT-Xf-XGV">
<rect key="frame" x="159.5" y="192.5" width="48" height="24"/>
<color key="backgroundColor" red="1" green="0.59215686270000001" blue="0.8980392157" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="24" id="fc9-XD-CWN"/>
<constraint firstAttribute="width" constant="48" id="jbj-Jd-UdH"/>
</constraints>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="清空">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="12"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="onClear:" destination="iN0-l3-epB" eventType="touchUpInside" id="ZUu-FR-k5c"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="iPw-2A-vsM">
<rect key="frame" x="195" y="359" width="165" height="44"/>
<color key="backgroundColor" red="1" green="0.59215686270000001" blue="0.8980392157" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="165" id="0W7-5s-UJ5"/>
<constraint firstAttribute="height" constant="44" id="ucc-OP-3zn"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="同意">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="22"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="onAgreeOrApply:" destination="iN0-l3-epB" eventType="touchUpInside" id="6de-SD-pDQ"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5vT-lJ-VIz">
<rect key="frame" x="15" y="359" width="165" height="44"/>
<color key="backgroundColor" white="1" alpha="0.10031854538690477" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="165" id="dJZ-ai-mF0"/>
<constraint firstAttribute="height" constant="44" id="wDQ-kc-C0m"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="拒绝">
<color key="titleColor" red="1" green="1" blue="1" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="22"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="onRefuse:" destination="iN0-l3-epB" eventType="touchUpInside" id="OnB-TX-bhl"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uY8-Vl-UuO">
<rect key="frame" x="300" y="192.5" width="60" height="24"/>
<color key="backgroundColor" red="1" green="0.59215686270000001" blue="0.8980392157" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="24" id="LhH-V5-gOh"/>
<constraint firstAttribute="width" constant="60" id="pdk-tZ-NOs"/>
</constraints>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="申请">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="12"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="onApply:" destination="iN0-l3-epB" eventType="touchUpInside" id="p8q-MI-brh"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dnf-vl-j5Z">
<rect key="frame" x="312" y="13" width="48" height="24"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="48" id="2VK-nq-tZK"/>
<constraint firstAttribute="height" constant="24" id="DOD-IK-VPg"/>
</constraints>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="赠送">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="12"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="onSendOrSetGift:" destination="iN0-l3-epB" eventType="touchUpInside" id="ncs-pw-4sZ"/>
</connections>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="赠送冰淇淋 插队" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k0L-2j-pdD">
<rect key="frame" x="193.5" y="16.5" width="103.5" height="17"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="14"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="2Ye-6k-jeg">
<rect key="frame" x="163.5" y="12.5" width="25" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="25" id="aiO-c8-PTo"/>
<constraint firstAttribute="height" constant="25" id="pIh-wb-BuA"/>
</constraints>
</imageView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="iPw-2A-vsM" firstAttribute="top" secondItem="S7W-Sa-JWm" secondAttribute="bottom" constant="15" id="6iG-aw-Ld1"/>
<constraint firstItem="uY8-Vl-UuO" firstAttribute="centerY" secondItem="U4K-Np-dee" secondAttribute="centerY" id="8wu-dO-Yms"/>
<constraint firstAttribute="trailing" secondItem="iPw-2A-vsM" secondAttribute="trailing" constant="15" id="Byy-hb-JAM"/>
<constraint firstAttribute="height" constant="457" id="DtD-uS-Ria"/>
<constraint firstAttribute="trailing" secondItem="iYH-YT-Ngc" secondAttribute="trailing" id="J0Z-MR-QCH"/>
<constraint firstAttribute="bottom" secondItem="iYH-YT-Ngc" secondAttribute="bottom" id="KRB-9R-CUE"/>
<constraint firstAttribute="trailing" secondItem="dnf-vl-j5Z" secondAttribute="trailing" constant="15" id="KpJ-SU-UeU"/>
<constraint firstItem="dnf-vl-j5Z" firstAttribute="leading" secondItem="k0L-2j-pdD" secondAttribute="trailing" constant="15" id="NsH-gC-sze"/>
<constraint firstItem="5vT-lJ-VIz" firstAttribute="centerY" secondItem="iPw-2A-vsM" secondAttribute="centerY" id="Owc-sh-ERR"/>
<constraint firstItem="3AT-Xf-XGV" firstAttribute="centerY" secondItem="U4K-Np-dee" secondAttribute="centerY" id="Qj5-a3-qhe"/>
<constraint firstItem="U4K-Np-dee" firstAttribute="leading" secondItem="wwX-m1-kQf" secondAttribute="leading" id="Slw-BD-ieL"/>
<constraint firstItem="iYH-YT-Ngc" firstAttribute="leading" secondItem="3Mf-oJ-HDv" secondAttribute="leading" id="Yqc-A6-7q5"/>
<constraint firstItem="k0L-2j-pdD" firstAttribute="centerY" secondItem="dnf-vl-j5Z" secondAttribute="centerY" id="coL-qY-JkH"/>
<constraint firstItem="kvH-cZ-GMg" firstAttribute="leading" secondItem="3Mf-oJ-HDv" secondAttribute="leading" constant="6" id="dij-yd-7cC"/>
<constraint firstAttribute="trailing" secondItem="uY8-Vl-UuO" secondAttribute="trailing" constant="15" id="du0-Rc-lVB"/>
<constraint firstItem="k0L-2j-pdD" firstAttribute="leading" secondItem="2Ye-6k-jeg" secondAttribute="trailing" constant="5" id="eIf-Cb-Dba"/>
<constraint firstItem="3AT-Xf-XGV" firstAttribute="leading" secondItem="U4K-Np-dee" secondAttribute="trailing" constant="10" id="eoD-aD-gXD"/>
<constraint firstItem="U4K-Np-dee" firstAttribute="top" secondItem="kvH-cZ-GMg" secondAttribute="bottom" constant="30" id="f9Y-OG-YP5"/>
<constraint firstAttribute="trailing" secondItem="kvH-cZ-GMg" secondAttribute="trailing" constant="6" id="gPf-EM-m4C"/>
<constraint firstItem="S7W-Sa-JWm" firstAttribute="top" secondItem="U4K-Np-dee" secondAttribute="bottom" constant="25" id="gca-Cn-LQh"/>
<constraint firstItem="2Ye-6k-jeg" firstAttribute="centerY" secondItem="k0L-2j-pdD" secondAttribute="centerY" id="gg1-Kd-K5N"/>
<constraint firstItem="dnf-vl-j5Z" firstAttribute="centerY" secondItem="wwX-m1-kQf" secondAttribute="centerY" id="ido-a4-ELI"/>
<constraint firstItem="S7W-Sa-JWm" firstAttribute="trailing" secondItem="kvH-cZ-GMg" secondAttribute="trailing" id="jOv-nu-Isp"/>
<constraint firstItem="iYH-YT-Ngc" firstAttribute="top" secondItem="3Mf-oJ-HDv" secondAttribute="top" id="mMS-VV-ASM"/>
<constraint firstItem="5vT-lJ-VIz" firstAttribute="leading" secondItem="3Mf-oJ-HDv" secondAttribute="leading" constant="15" id="oi5-wV-GHo"/>
<constraint firstItem="kvH-cZ-GMg" firstAttribute="top" secondItem="wwX-m1-kQf" secondAttribute="bottom" constant="25" id="phG-Qd-I2s"/>
<constraint firstItem="wwX-m1-kQf" firstAttribute="top" secondItem="3Mf-oJ-HDv" secondAttribute="top" constant="15" id="t1l-3I-yeM"/>
<constraint firstItem="S7W-Sa-JWm" firstAttribute="leading" secondItem="kvH-cZ-GMg" secondAttribute="leading" id="vIn-VP-0Im"/>
<constraint firstItem="wwX-m1-kQf" firstAttribute="leading" secondItem="3Mf-oJ-HDv" secondAttribute="leading" constant="15" id="z4M-v0-sMt"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.29547243702168369" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="bWw-OO-VAf" secondAttribute="bottom" id="16U-9B-KU6"/>
<constraint firstItem="bWw-OO-VAf" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="8TK-Bg-ep4"/>
<constraint firstAttribute="trailing" secondItem="bWw-OO-VAf" secondAttribute="trailing" id="Qkg-PV-LWO"/>
<constraint firstAttribute="bottom" secondItem="3Mf-oJ-HDv" secondAttribute="bottom" constant="-15" id="ewk-53-q6d"/>
<constraint firstAttribute="trailing" secondItem="3Mf-oJ-HDv" secondAttribute="trailing" id="l6C-CQ-O2Y"/>
<constraint firstItem="3Mf-oJ-HDv" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="mY8-IC-cfY"/>
<constraint firstItem="bWw-OO-VAf" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="vqs-AY-n55"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="agreeBtn" destination="iPw-2A-vsM" id="Xcx-iQ-BYm"/>
<outlet property="agreeBtnRightCon" destination="Byy-hb-JAM" id="SJu-GC-Tc3"/>
<outlet property="applyBtn" destination="uY8-Vl-UuO" id="0oj-65-Ytz"/>
<outlet property="clearBtn" destination="3AT-Xf-XGV" id="CdG-0b-keD"/>
<outlet property="giftImgV" destination="2Ye-6k-jeg" id="ini-EV-z7h"/>
<outlet property="giftNameLab" destination="k0L-2j-pdD" id="1JQ-kK-ggq"/>
<outlet property="refuseBtn" destination="5vT-lJ-VIz" id="tIi-3W-cpE"/>
<outlet property="sendBtn" destination="dnf-vl-j5Z" id="fnO-QT-KOR"/>
<outlet property="touchImgV" destination="bWw-OO-VAf" id="pQR-he-dSD"/>
<outlet property="vipCollectionView" destination="kvH-cZ-GMg" id="C0C-Fd-bxO"/>
<outlet property="vipLab" destination="wwX-m1-kQf" id="NH6-hI-y1A"/>
<outlet property="waitCollectionView" destination="S7W-Sa-JWm" id="kfl-Wm-Pvc"/>
<outlet property="waitLab" destination="U4K-Np-dee" id="fBu-17-tde"/>
<outlet property="whiteView" destination="3Mf-oJ-HDv" id="kxW-LO-3sQ"/>
</connections>
<point key="canvasLocation" x="-454" y="-96"/>
</view>
</objects>
<resources>
<image name="applyUp_bg" width="375" height="457"/>
</resources>
</document>