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,24 @@
//
// YYXQInviteAlert.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 YYXQInviteAlert : UIView
@property (weak, nonatomic) IBOutlet UIImageView *touchImgV;
@property (weak, nonatomic) IBOutlet UILabel *titleLab;
@property (weak, nonatomic) IBOutlet UILabel *timeLab;
@property (weak, nonatomic) IBOutlet UIButton *agreeBtn;
@property (nonatomic, strong) NSDictionary *dataDict;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,83 @@
//
// YYXQInviteAlert.m
// YaYin
//
// Created by bj_szd on 2023/7/12.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYXQInviteAlert.h"
#import "ZWTimer.h"
@interface YYXQInviteAlert () <ZWTimerDelegate>
@property (nonatomic, strong) ZWTimer *timer;
@property (nonatomic, assign) NSInteger leftSecond;
@property (weak, nonatomic) IBOutlet UIView *containerView;
@end
@implementation YYXQInviteAlert
- (void)awakeFromNib {
[super awakeFromNib];
[self createUI];
}
- (void)createUI {
self.containerView.backgroundColor = [UIColor bm_colorGradientChangeWithSize:CGSizeMake(APPW-30, 200) direction:FXGradientChangeDirectionVertical startColor:HEXCOLOR(0xDFFFF6) endColor:HEXCOLOR(0xFFFFFF)];
[self.agreeBtn styleGradiBlueColor];
WEAK_SELF
[self.touchImgV dg_Tapped:^{
[weakSelf removeFromSuperview];
}];
}
- (void)setDataDict:(NSDictionary *)dataDict {
_dataDict = dataDict;
self.titleLab.text = [NSString stringWithFormat:@"主持人邀请您上台%@分钟,是否同意?", dataDict[@"time"]];
self.leftSecond = 10;
[self.timer startGCDTimer:1 delegate:self];
}
- (IBAction)onRefuse:(id)sender {
[self onRequestWith:NO];
}
- (IBAction)onAgree:(id)sender {
[self onRequestWith:YES];
}
- (void)onRequestWith:(BOOL)isAgree {
[self.timer stopTimer];
NSDictionary *params = @{@"rid":[self.dataDict safeStringForKey:@"rid"], @"id":[self.dataDict safeStringForKey:@"id"], @"micro_id":[self.dataDict safeStringForKey:@"micro_id"], @"type":isAgree?@"1":@"2"};
[[AFNetworkRequset shared] postRequestWithParams:params Path:@"/api/room/operate_room_owner_up_micro" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
[self removeFromSuperview];
} Failure:^(id _Nonnull errorData) {
}];
}
- (void)onTimerFired:(ZWTimer *)timer {
self.timeLab.text = [NSString stringWithFormat:@"%ld秒后自动拒绝", self.leftSecond];
self.leftSecond -= 1;
if (self.leftSecond < 0) {
[self.timer stopTimer];
[self onRefuse:nil];
}
}
- (ZWTimer *)timer {
if (!_timer) {
_timer = [[ZWTimer alloc] init];
}
return _timer;
}
@end

View File

@@ -0,0 +1,138 @@
<?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="YYXQInviteAlert">
<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 clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e3c-c8-hjW">
<rect key="frame" x="15" y="265.5" width="345" height="200"/>
<subviews>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="applyUp_gift_bg" translatesAutoresizingMaskIntoConstraints="NO" id="b6l-4x-bOA">
<rect key="frame" x="0.0" y="0.0" width="345" height="200"/>
</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="154" y="15" width="37" height="21.5"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bRc-Zq-7P8">
<rect key="frame" x="190" y="136" width="125" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="NpV-5g-AG1"/>
<constraint firstAttribute="width" constant="125" id="zBx-Vi-Grb"/>
</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="onAgree:" destination="iN0-l3-epB" eventType="touchUpInside" id="7sT-b2-dhf"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3S0-Z7-bmg">
<rect key="frame" x="30" y="136" width="125" height="44"/>
<color key="backgroundColor" red="0.80000000000000004" green="0.80000000000000004" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="UDJ-IE-fUF"/>
<constraint firstAttribute="width" constant="125" id="uT6-BF-HqR"/>
</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="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="22"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="color" keyPath="borderColor">
<color key="value" red="0.63137254901960782" green="0.29803921568627451" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="onRefuse:" destination="iN0-l3-epB" eventType="touchUpInside" id="FzN-Ch-PDe"/>
</connections>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="主持人邀请您上台5分钟是否同意" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AJM-cI-utn">
<rect key="frame" x="45" y="54.5" width="255" height="18"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<color key="textColor" red="0.23921568627450979" green="0.23921568627450979" blue="0.23921568627450979" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="10秒后自动拒绝" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D3K-Ck-JIC">
<rect key="frame" x="116.5" y="82.5" width="112" height="14.5"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
<color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="200" id="FQK-QB-MuB"/>
<constraint firstItem="AJM-cI-utn" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" id="K30-Nl-RUg"/>
<constraint firstAttribute="trailing" secondItem="bRc-Zq-7P8" secondAttribute="trailing" constant="30" id="Ks2-Kv-Gbf"/>
<constraint firstItem="D3K-Ck-JIC" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" id="XnP-0z-7wl"/>
<constraint firstAttribute="bottom" secondItem="b6l-4x-bOA" secondAttribute="bottom" id="Y3Z-lK-Tpm"/>
<constraint firstItem="b6l-4x-bOA" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" id="cs3-4k-nXx"/>
<constraint firstAttribute="trailing" secondItem="b6l-4x-bOA" secondAttribute="trailing" id="dGn-Yz-fB3"/>
<constraint firstItem="D3K-Ck-JIC" firstAttribute="top" secondItem="AJM-cI-utn" secondAttribute="bottom" constant="10" id="eVM-5T-goQ"/>
<constraint firstAttribute="bottom" secondItem="bRc-Zq-7P8" secondAttribute="bottom" constant="20" id="hCB-89-ct1"/>
<constraint firstItem="OKo-D1-veG" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" constant="15" id="k9y-J3-zwD"/>
<constraint firstItem="b6l-4x-bOA" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" id="lk6-aX-NHR"/>
<constraint firstItem="3S0-Z7-bmg" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" constant="30" id="smw-ac-3qR"/>
<constraint firstItem="AJM-cI-utn" firstAttribute="top" secondItem="OKo-D1-veG" secondAttribute="bottom" constant="18" id="tVw-X2-Nj9"/>
<constraint firstAttribute="bottom" secondItem="3S0-Z7-bmg" secondAttribute="bottom" constant="20" id="vdS-di-IAt"/>
<constraint firstItem="OKo-D1-veG" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" id="x4a-8A-6j8"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="16"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<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" constant="15" 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" constant="15" id="uGX-78-j8U"/>
<constraint firstItem="e3c-c8-hjW" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" multiplier="0.9" id="wdE-Wj-Ndc"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="agreeBtn" destination="bRc-Zq-7P8" id="c1T-VA-gR3"/>
<outlet property="containerView" destination="e3c-c8-hjW" id="skg-BU-wkP"/>
<outlet property="timeLab" destination="D3K-Ck-JIC" id="EeV-NE-oFZ"/>
<outlet property="titleLab" destination="AJM-cI-utn" id="lUs-NH-GkF"/>
<outlet property="touchImgV" destination="Tg5-mr-M63" id="rZP-D8-cyf"/>
</connections>
<point key="canvasLocation" x="122" y="58"/>
</view>
</objects>
<resources>
<image name="applyUp_gift_bg" width="375" height="445"/>
</resources>
</document>

View File

@@ -0,0 +1,23 @@
//
// YYXQPickGiftAlert.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 YYXQPickGiftAlert : UIView
@property (weak, nonatomic) IBOutlet UIImageView *touchImgV;
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
@property (weak, nonatomic) IBOutlet UIButton *confirmBtn;
- (void)onShowWith:(NSString *)rid micro_id:(NSString *)micro_id;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,121 @@
//
// YYXQPickGiftAlert.m
// YaYin
//
// Created by bj_szd on 2023/7/12.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYXQPickGiftAlert.h"
#import "BJGiftItemCell.h"
#import "BJRoomGiftModel.h"
@interface YYXQPickGiftAlert ()<UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
@property (nonatomic, strong) NSArray *dataArray;
@property (nonatomic, assign) NSInteger selectedIndex;
@property (nonatomic, copy) NSString *rid;
@property (nonatomic, copy) NSString *micro_id;
@end
@implementation YYXQPickGiftAlert
- (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/pub_room/get_wish_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 micro_id:(NSString *)micro_id {
self.rid = rid;
self.micro_id = micro_id;
[MainWindow() 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), @"micro_id":C_string(self.micro_id), @"gid":model.gid};
[[AFNetworkRequset shared] postRequestWithParams:params Path:@"/api/pub_room/oprate_user_wish_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;
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,103 @@
<?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="YYXQPickGiftAlert">
<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="common_alert_bg" translatesAutoresizingMaskIntoConstraints="NO" id="AQV-yS-ey1">
<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="114" y="15" width="147" 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" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bRc-Zq-7P8">
<rect key="frame" x="30" y="361" 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="286"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<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="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 firstItem="AQV-yS-ey1" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" id="LzL-OB-bNC"/>
<constraint firstAttribute="trailing" secondItem="AQV-yS-ey1" secondAttribute="trailing" id="ZuH-RL-COy"/>
<constraint firstAttribute="bottom" secondItem="bRc-Zq-7P8" secondAttribute="bottom" constant="40" id="aRn-R0-XsJ"/>
<constraint firstAttribute="bottom" secondItem="AQV-yS-ey1" secondAttribute="bottom" id="bN6-eJ-xah"/>
<constraint firstItem="5IG-xR-ASk" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" constant="55" id="hD8-cb-wfA"/>
<constraint firstItem="AQV-yS-ey1" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" id="jaw-Hr-vhY"/>
<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="top" secondItem="5IG-xR-ASk" secondAttribute="bottom" constant="20" id="o6g-mL-e0O"/>
<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="4EO-5X-MPB"/>
<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="131.8840579710145" y="95.758928571428569"/>
</view>
</objects>
<resources>
<image name="common_alert_bg" width="375" height="358"/>
</resources>
</document>

View File

@@ -0,0 +1,25 @@
//
// YYXQPickTimeAlert.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 YYXQPickTimeAlert : UIView
@property (weak, nonatomic) IBOutlet UIImageView *touchImgV;
@property (weak, nonatomic) IBOutlet UIButton *timeBtn_1;
@property (weak, nonatomic) IBOutlet UIButton *timeBtn_2;
@property (weak, nonatomic) IBOutlet UIButton *agreeBtn;
@property (weak, nonatomic) IBOutlet UIButton *timeBtn_3;
@property (nonatomic, copy) void(^onConfirmBlock)(NSString *time);
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,81 @@
//
// YYXQPickTimeAlert.m
// YaYin
//
// Created by bj_szd on 2023/7/12.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYXQPickTimeAlert.h"
@interface YYXQPickTimeAlert ()
@property (nonatomic, copy) NSString *timeStr;
@property (weak, nonatomic) IBOutlet UIView *containerView;
@end
@implementation YYXQPickTimeAlert
- (void)awakeFromNib {
[super awakeFromNib];
[self createUI];
}
- (void)createUI {
self.containerView.backgroundColor = [UIColor bm_colorGradientChangeWithSize:CGSizeMake(APPW-30, 200) direction:FXGradientChangeDirectionVertical startColor:HEXCOLOR(0xDFFFF6) endColor:HEXCOLOR(0xFFFFFF)];
[self.agreeBtn setJianBianWithCGSize:CGSizeMake(ScreenWidth-35*2, 44)];
WEAK_SELF
[self.touchImgV dg_Tapped:^{
[weakSelf removeFromSuperview];
}];
}
- (IBAction)onTimeBtn_1:(id)sender {
self.timeStr = @"5";
self.timeBtn_1.selected = YES;
self.timeBtn_2.selected = NO;
self.timeBtn_3.selected = NO;
[self.timeBtn_1 styleGradiBlueColor];
self.timeBtn_2.backgroundColor = HEXCOLORA(0x000000, 0.2);
self.timeBtn_3.backgroundColor = HEXCOLORA(0x000000, 0.2);
}
- (IBAction)onTimeBtn_2:(id)sender {
self.timeStr = @"30";
self.timeBtn_1.selected = NO;
self.timeBtn_2.selected = YES;
self.timeBtn_3.selected = NO;
self.timeBtn_1.backgroundColor = HEXCOLORA(0x000000, 0.2);
self.timeBtn_3.backgroundColor = HEXCOLORA(0x000000, 0.2);
[self.timeBtn_2 styleGradiBlueColor];
}
- (IBAction)onTimeBtn_3:(UIButton *)sender {
self.timeStr = @"15";
self.timeBtn_1.selected = NO;
self.timeBtn_2.selected = NO;
self.timeBtn_3.selected = YES;
self.timeBtn_1.backgroundColor = HEXCOLORA(0x000000, 0.2);
self.timeBtn_2.backgroundColor = HEXCOLORA(0x000000, 0.2);
[self.timeBtn_3 styleGradiBlueColor];
}
- (IBAction)onAgree:(id)sender {
if (self.timeStr.length <= 0) {
[HelpPageDefine showMessage:@"请选择时间"];
return;
}
if (self.onConfirmBlock) {
self.onConfirmBlock(self.timeStr);
}
[self removeFromSuperview];
}
@end

View File

@@ -0,0 +1,177 @@
<?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="YYXQPickTimeAlert">
<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 clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e3c-c8-hjW">
<rect key="frame" x="15" y="265.5" width="345" height="200"/>
<subviews>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="applyUp_gift_bg" translatesAutoresizingMaskIntoConstraints="NO" id="dps-QZ-PI3">
<rect key="frame" x="0.0" y="0.0" width="345" height="200"/>
</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="99" y="15" width="147" height="21.5"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bRc-Zq-7P8">
<rect key="frame" x="20" y="133" width="305" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="imR-Nr-wBA"/>
</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="onAgree:" destination="iN0-l3-epB" eventType="touchUpInside" id="7sT-b2-dhf"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uwJ-LD-K3D">
<rect key="frame" x="235" y="59" width="95" height="44"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.20000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="cWD-4u-PYN"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="30分钟">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<state key="selected">
<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="onTimeBtn_2:" destination="iN0-l3-epB" eventType="touchUpInside" id="OCv-cG-aYy"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WZt-Ve-SOU">
<rect key="frame" x="15" y="59" width="95" height="44"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.20000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="MQ8-V9-LMD"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="5分钟">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<state key="selected">
<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="onTimeBtn_1:" destination="iN0-l3-epB" eventType="touchUpInside" id="Tfe-WE-noT"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5KF-0V-5Zf">
<rect key="frame" x="125" y="60" width="95" height="44"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.20000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="qLU-Nm-pdb"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="15分钟">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<state key="selected">
<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="onTimeBtn_1:" destination="iN0-l3-epB" eventType="touchUpInside" id="1h9-TF-HIi"/>
<action selector="onTimeBtn_3:" destination="iN0-l3-epB" eventType="touchUpInside" id="JU5-DV-zcc"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="dps-QZ-PI3" secondAttribute="trailing" id="1gr-WE-QYF"/>
<constraint firstItem="WZt-Ve-SOU" firstAttribute="centerY" secondItem="uwJ-LD-K3D" secondAttribute="centerY" id="1uX-wV-iI4"/>
<constraint firstItem="5KF-0V-5Zf" firstAttribute="width" secondItem="WZt-Ve-SOU" secondAttribute="width" id="9Vh-3q-dIf"/>
<constraint firstItem="bRc-Zq-7P8" firstAttribute="top" secondItem="uwJ-LD-K3D" secondAttribute="bottom" constant="30" id="Asv-Ua-KMJ"/>
<constraint firstItem="5KF-0V-5Zf" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" id="CX0-Hw-lfh"/>
<constraint firstAttribute="height" constant="200" id="FQK-QB-MuB"/>
<constraint firstItem="bRc-Zq-7P8" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" constant="20" id="JEb-CK-e83"/>
<constraint firstItem="WZt-Ve-SOU" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" constant="15" id="JzH-Fr-rQb"/>
<constraint firstItem="5KF-0V-5Zf" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" constant="60" id="QKV-rV-5jg"/>
<constraint firstItem="uwJ-LD-K3D" firstAttribute="width" secondItem="WZt-Ve-SOU" secondAttribute="width" id="UFC-K9-mDA"/>
<constraint firstAttribute="bottom" secondItem="bRc-Zq-7P8" secondAttribute="bottom" constant="23" id="YF1-BA-Eff"/>
<constraint firstAttribute="trailing" secondItem="uwJ-LD-K3D" secondAttribute="trailing" constant="15" id="Yo8-2c-w9R"/>
<constraint firstItem="uwJ-LD-K3D" firstAttribute="leading" secondItem="5KF-0V-5Zf" secondAttribute="trailing" constant="15" id="Yz2-vl-Ila"/>
<constraint firstItem="dps-QZ-PI3" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" id="fFr-dt-3dN"/>
<constraint firstItem="OKo-D1-veG" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" constant="15" id="k9y-J3-zwD"/>
<constraint firstAttribute="bottom" secondItem="dps-QZ-PI3" secondAttribute="bottom" id="kRp-MG-x4C"/>
<constraint firstAttribute="trailing" secondItem="bRc-Zq-7P8" secondAttribute="trailing" constant="20" id="nuo-mf-HxB"/>
<constraint firstItem="dps-QZ-PI3" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" id="tJ4-6G-K6t"/>
<constraint firstItem="OKo-D1-veG" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" id="x4a-8A-6j8"/>
<constraint firstItem="5KF-0V-5Zf" firstAttribute="leading" secondItem="WZt-Ve-SOU" secondAttribute="trailing" constant="15" id="ztG-j8-IFq"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="16"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="e3c-c8-hjW" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" multiplier="0.9" id="4jv-ge-k7a"/>
<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" constant="15" 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" constant="15" id="uGX-78-j8U"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="agreeBtn" destination="bRc-Zq-7P8" id="c1T-VA-gR3"/>
<outlet property="containerView" destination="e3c-c8-hjW" id="FWD-IK-0p2"/>
<outlet property="timeBtn_1" destination="WZt-Ve-SOU" id="gNy-Ig-Mhg"/>
<outlet property="timeBtn_2" destination="uwJ-LD-K3D" id="dGL-Mi-39W"/>
<outlet property="timeBtn_3" destination="5KF-0V-5Zf" id="JCm-Hs-fam"/>
<outlet property="touchImgV" destination="Tg5-mr-M63" id="rZP-D8-cyf"/>
</connections>
<point key="canvasLocation" x="-163" y="168"/>
</view>
</objects>
<resources>
<image name="applyUp_gift_bg" width="375" height="445"/>
</resources>
</document>

View File

@@ -0,0 +1,28 @@
//
// YYXQYueTAAlert.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 YYXQYueTAAlert : UIView
@property (weak, nonatomic) IBOutlet UIImageView *touchImgV;
@property (weak, nonatomic) IBOutlet UIImageView *avatarImgV;
@property (weak, nonatomic) IBOutlet UILabel *nicknameLab;
@property (weak, nonatomic) IBOutlet UIView *giftBgView;
@property (weak, nonatomic) IBOutlet UIImageView *giftImgV;
@property (weak, nonatomic) IBOutlet UILabel *giftNameLab;
@property (weak, nonatomic) IBOutlet UILabel *giftPriceLab;
@property (weak, nonatomic) IBOutlet UIButton *agreeBtn;
- (void)onShowWith:(NSString *)rid receive_uid:(NSString *)receive_uid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,68 @@
//
// YYXQYueTAAlert.m
// YaYin
//
// Created by bj_szd on 2023/7/12.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYXQYueTAAlert.h"
#import "YYXQYueTAModel.h"
@interface YYXQYueTAAlert ()
@property (nonatomic, copy) NSString *rid;
@property (nonatomic, copy) NSString *receive_uid;
@end
@implementation YYXQYueTAAlert
- (void)awakeFromNib {
[super awakeFromNib];
[self createUI];
}
- (void)createUI {
[self.agreeBtn setJianBianWithCGSize:CGSizeMake(ScreenWidth-30*2, 44)];
WEAK_SELF
[self.touchImgV dg_Tapped:^{
[weakSelf removeFromSuperview];
}];
}
- (void)onShowWith:(NSString *)rid receive_uid:(NSString *)receive_uid {
self.rid = rid;
self.receive_uid = receive_uid;
[KEYWINDOW addSubview:self];
[self onFetchData];
}
- (void)onFetchData {
NSDictionary *params = @{@"rid":self.rid, @"receive_uid":self.receive_uid};
[[AFNetworkRequset shared] postRequestWithParams:params Path:@"/api/pub_room/wish_gift_info" Loading:NO Hud:NO Success:^(id _Nonnull responseDic) {
YYXQYueTAModel *model = [YYXQYueTAModel mj_objectWithKeyValues:responseDic[@"data"]];
[self.avatarImgV sd_setImageWithURL:[NSURL URLWithString:model.head_pic] placeholderImage:kDefaultUserIcon];
self.nicknameLab.text = model.nick_name;
[self.giftImgV sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
self.giftNameLab.text = model.gift_name;
self.giftPriceLab.text = [NSString stringWithFormat:@"%@", model.gift_price];
} Failure:^(id _Nonnull errorData) {
[self removeFromSuperview];
}];
}
- (IBAction)onAgree:(id)sender {
NSDictionary *params = @{@"rid":self.rid, @"receive_uid":self.receive_uid};
[[AFNetworkRequset shared] postRequestWithParams:params Path:@"/api/pub_room/date_user_send_gift" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
[self removeFromSuperview];
} Failure:^(id _Nonnull errorData) {
}];
}
@end

View File

@@ -0,0 +1,176 @@
<?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="YYXQYueTAAlert">
<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="482" width="375" height="330"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="common_alert_bg" translatesAutoresizingMaskIntoConstraints="NO" id="mb4-rE-3QX">
<rect key="frame" x="0.0" y="0.0" width="375" height="330"/>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bRc-Zq-7P8">
<rect key="frame" x="30" y="236" width="315" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="imR-Nr-wBA"/>
</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="onAgree:" destination="iN0-l3-epB" eventType="touchUpInside" id="7sT-b2-dhf"/>
</connections>
</button>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="L3z-GQ-Hz0">
<rect key="frame" x="161.5" y="10" width="32" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="32" id="8Cf-Ym-vPz"/>
<constraint firstAttribute="width" constant="32" id="Eva-Dl-wzf"/>
</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="赠送" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F3C-hG-vBU">
<rect key="frame" x="123.5" y="16.5" width="33" 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>
<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="198.5" y="16.5" width="33" 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>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2dx-vH-wz3">
<rect key="frame" x="135" y="62" width="105" height="126"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="BRi-zn-rBr">
<rect key="frame" x="18.5" y="10" width="68" height="68"/>
<constraints>
<constraint firstAttribute="width" constant="68" id="6LL-41-0pv"/>
<constraint firstAttribute="height" constant="68" id="Yew-RC-mDx"/>
</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="gqG-f2-ZY6">
<rect key="frame" x="32" y="83" width="41" height="12"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="10"/>
<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="3fg-4A-GKt">
<rect key="frame" x="54.5" y="102" width="7" height="12"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="10"/>
<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" image="room_gift_coin" translatesAutoresizingMaskIntoConstraints="NO" id="Ido-n3-fO4">
<rect key="frame" x="35.5" y="100" width="16" height="16"/>
<constraints>
<constraint firstAttribute="width" constant="16" id="BN8-vD-qkM"/>
<constraint firstAttribute="height" constant="16" id="dYf-07-H9O"/>
</constraints>
</imageView>
</subviews>
<color key="backgroundColor" white="1" alpha="0.10000000000000001" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="Ido-n3-fO4" firstAttribute="centerY" secondItem="3fg-4A-GKt" secondAttribute="centerY" id="5uH-Ad-GiN"/>
<constraint firstAttribute="width" constant="105" id="DCS-Jb-boP"/>
<constraint firstItem="BRi-zn-rBr" firstAttribute="top" secondItem="2dx-vH-wz3" secondAttribute="top" constant="10" id="FMi-A9-57V"/>
<constraint firstItem="3fg-4A-GKt" firstAttribute="centerX" secondItem="2dx-vH-wz3" secondAttribute="centerX" multiplier="1.1" id="JlU-Mx-DMU"/>
<constraint firstItem="gqG-f2-ZY6" firstAttribute="top" secondItem="BRi-zn-rBr" secondAttribute="bottom" constant="5" id="QVq-5v-Qgs"/>
<constraint firstAttribute="height" constant="126" id="dB1-J4-DNn"/>
<constraint firstItem="BRi-zn-rBr" firstAttribute="centerX" secondItem="2dx-vH-wz3" secondAttribute="centerX" id="dka-Em-tV5"/>
<constraint firstItem="3fg-4A-GKt" firstAttribute="top" secondItem="gqG-f2-ZY6" secondAttribute="bottom" constant="7" id="kOT-ow-LCA"/>
<constraint firstItem="3fg-4A-GKt" firstAttribute="leading" secondItem="Ido-n3-fO4" secondAttribute="trailing" constant="3" id="rVa-Gj-OrF"/>
<constraint firstItem="gqG-f2-ZY6" firstAttribute="centerX" secondItem="2dx-vH-wz3" secondAttribute="centerX" id="uDx-Qm-jEf"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="16"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="开启私密房间,一起甜蜜约会吧~" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Cb8-BI-epE">
<rect key="frame" x="98" y="203" width="179.5" height="14.5"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
<color key="textColor" white="1" alpha="0.5" 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="L3z-GQ-Hz0" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" constant="10" id="7qa-ic-poo"/>
<constraint firstItem="OKo-D1-veG" firstAttribute="leading" secondItem="L3z-GQ-Hz0" secondAttribute="trailing" constant="5" id="Cas-Aw-6VT"/>
<constraint firstItem="mb4-rE-3QX" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" id="D4S-W0-m1h"/>
<constraint firstAttribute="height" constant="330" id="FQK-QB-MuB"/>
<constraint firstAttribute="bottom" secondItem="mb4-rE-3QX" secondAttribute="bottom" id="Hz7-ey-eEo"/>
<constraint firstItem="bRc-Zq-7P8" firstAttribute="leading" secondItem="e3c-c8-hjW" secondAttribute="leading" constant="30" id="JEb-CK-e83"/>
<constraint firstItem="L3z-GQ-Hz0" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" constant="-10" id="NqB-bK-oMk"/>
<constraint firstItem="OKo-D1-veG" firstAttribute="centerY" secondItem="L3z-GQ-Hz0" secondAttribute="centerY" id="Qmv-bV-Agf"/>
<constraint firstItem="L3z-GQ-Hz0" firstAttribute="leading" secondItem="F3C-hG-vBU" secondAttribute="trailing" constant="5" id="SEX-mR-zjn"/>
<constraint firstAttribute="bottom" secondItem="bRc-Zq-7P8" secondAttribute="bottom" constant="50" id="YF1-BA-Eff"/>
<constraint firstItem="Cb8-BI-epE" firstAttribute="top" secondItem="2dx-vH-wz3" secondAttribute="bottom" constant="15" id="Yyy-Nt-H43"/>
<constraint firstItem="mb4-rE-3QX" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" id="Z8X-RL-Pc6"/>
<constraint firstAttribute="trailing" secondItem="mb4-rE-3QX" secondAttribute="trailing" id="cZb-4s-LUX"/>
<constraint firstItem="2dx-vH-wz3" firstAttribute="top" secondItem="e3c-c8-hjW" secondAttribute="top" constant="62" id="heR-SP-2Zp"/>
<constraint firstAttribute="trailing" secondItem="bRc-Zq-7P8" secondAttribute="trailing" constant="30" id="nuo-mf-HxB"/>
<constraint firstItem="2dx-vH-wz3" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" id="pym-U2-kdP"/>
<constraint firstItem="Cb8-BI-epE" firstAttribute="centerX" secondItem="e3c-c8-hjW" secondAttribute="centerX" id="rQ3-UN-8R1"/>
<constraint firstItem="F3C-hG-vBU" firstAttribute="centerY" secondItem="L3z-GQ-Hz0" secondAttribute="centerY" id="zgO-Ee-F79"/>
</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="4EO-5X-MPB"/>
<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="agreeBtn" destination="bRc-Zq-7P8" id="c1T-VA-gR3"/>
<outlet property="avatarImgV" destination="L3z-GQ-Hz0" id="fI0-Sh-30c"/>
<outlet property="giftBgView" destination="2dx-vH-wz3" id="dcJ-Cb-e9O"/>
<outlet property="giftImgV" destination="BRi-zn-rBr" id="gl2-Pi-Re8"/>
<outlet property="giftNameLab" destination="gqG-f2-ZY6" id="3UN-bq-TNE"/>
<outlet property="giftPriceLab" destination="3fg-4A-GKt" id="Tgz-H3-vMU"/>
<outlet property="nicknameLab" destination="OKo-D1-veG" id="mcl-aI-iCa"/>
<outlet property="touchImgV" destination="Tg5-mr-M63" id="rZP-D8-cyf"/>
</connections>
<point key="canvasLocation" x="-172" y="-50"/>
</view>
</objects>
<resources>
<image name="common_alert_bg" width="375" height="358"/>
<image name="room_gift_coin" width="24" height="24"/>
</resources>
</document>

View File

@@ -0,0 +1,24 @@
//
// YYXQYueTAModel.h
// YaYin
//
// Created by bj_szd on 2023/10/11.
// Copyright © 2023 YaYin. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface YYXQYueTAModel : NSObject
@property (nonatomic,copy) NSString *uid;
@property (nonatomic,copy) NSString *nick_name;
@property (nonatomic,copy) NSString *head_pic;
@property (nonatomic,copy) NSString *gift_name;
@property (nonatomic,copy) NSString *base_image;
@property (nonatomic,copy) NSString *gift_price;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,13 @@
//
// YYXQYueTAModel.m
// YaYin
//
// Created by bj_szd on 2023/10/11.
// Copyright © 2023 YaYin. All rights reserved.
//
#import "YYXQYueTAModel.h"
@implementation YYXQYueTAModel
@end