Commit 649aff8a by ludi

完成新人七天签到更新

parent 499806c0
Showing with 944 additions and 18 deletions
...@@ -43,6 +43,9 @@ Pod::Spec.new do |s| ...@@ -43,6 +43,9 @@ Pod::Spec.new do |s|
s.dependency 'AliyunOSSiOS' s.dependency 'AliyunOSSiOS'
s.dependency 'TenjinSDK' s.dependency 'TenjinSDK'
s.dependency 'HyphenateChat','3.8.3.1' s.dependency 'HyphenateChat','3.8.3.1'
s.dependency 'RxCocoa'
s.dependency 'RxSwift'
s.dependency 'RxDataSources'
s.prefix_header_contents = ['#import <FUSFoundation/FUSFoundation.h>', '#import <Bifrost/BifrostHeader.h>', '#import "FUSCommonBundle.h"', '#import "FUSCommonURLs.h"'] s.prefix_header_contents = ['#import <FUSFoundation/FUSFoundation.h>', '#import <Bifrost/BifrostHeader.h>', '#import "FUSCommonBundle.h"', '#import "FUSCommonURLs.h"']
......
//
// FUSAuthCenter.swift
// FUSCommon
//
// Created by aaa on 2024/9/23.
//
import UIKit
@objcMembers public class FUSAuthCenter: NSObject {
@objc static let shared = FUSAuthCenter()
private override init() {
}
// MARK: 推送
/// 检测推送是否开启
/// - Parameter handler: 返回是否开启
@objc public static func isAPNSEnable(handler: @escaping (_ enable: Bool) -> Void) {
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().getNotificationSettings { settings in
DispatchQueue.main.async {
if settings.authorizationStatus == .authorized {
handler(true)
} else {
handler(false)
}
}
}
} else {
let types = UIApplication.shared.currentUserNotificationSettings?.types ?? []
if types.isEmpty == true {
handler(false)
} else {
handler(true)
}
}
}
}
//
// FUSOCCollectionViewCell.h
// FUSCommon
//
// Created by aaa on 2024/9/24.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface FUSOCCollectionViewCell : UICollectionViewCell
- (void)makeUI;
- (void)bindViewModel;
@end
NS_ASSUME_NONNULL_END
//
// FUSOCCollectionViewCell.m
// FUSCommon
//
// Created by aaa on 2024/9/24.
//
#import "FUSOCCollectionViewCell.h"
@implementation FUSOCCollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self makeUI];
[self bindViewModel];
}
return self;
}
- (void)makeUI {
}
- (void)bindViewModel {
}
@end
...@@ -17,6 +17,7 @@ typedef NS_ENUM(NSInteger,FUSPushNoticeViewType){ ...@@ -17,6 +17,7 @@ typedef NS_ENUM(NSInteger,FUSPushNoticeViewType){
FUSPushNoticeViewTypeZoneAddFriend = 5, FUSPushNoticeViewTypeZoneAddFriend = 5,
FUSPushNoticeViewTypeNewsFeed = 6, FUSPushNoticeViewTypeNewsFeed = 6,
FUSPushNoticeViewTypeLinkMic = 7, FUSPushNoticeViewTypeLinkMic = 7,
FUSPushNoticeViewTypeCheckIn = 8,
}; };
@interface FUSRoomPushNoticeView : UIView @interface FUSRoomPushNoticeView : UIView
......
...@@ -74,6 +74,12 @@ ...@@ -74,6 +74,12 @@
_noticeTitleLabel.text = [NSString fus_localString:@"已切换成聊天房"]; _noticeTitleLabel.text = [NSString fus_localString:@"已切换成聊天房"];
_noticeWordsLabel.text = [NSString fus_localString:@"请保持房间活跃,5分钟内房间内无人时,房间将自动解散"]; _noticeWordsLabel.text = [NSString fus_localString:@"请保持房间活跃,5分钟内房间内无人时,房间将自动解散"];
[_noticeBottomBtn setTitle:[NSString fus_localString:@"知道了"] forState:UIControlStateNormal]; [_noticeBottomBtn setTitle:[NSString fus_localString:@"知道了"] forState:UIControlStateNormal];
break;
}
case FUSPushNoticeViewTypeCheckIn:
{
_noticeWordsLabel.text = [NSString fus_versionLocalString:@"开启系统通知权限,不再错过每天的连续签到奖励"];
break;
} }
default: default:
break; break;
......
//
// FUSSwiftCollectionViewCell.swift
// AFNetworking
//
// Created by aaa on 2024/9/24.
//
import UIKit
import RxSwift
@objcMembers open class FUSSwiftCollectionViewCell: FUSOCCollectionViewCell {
/// 垃圾袋
public let disposeBag = DisposeBag()
/// 复用垃圾袋
public var reuseDisposeBag = DisposeBag()
}
...@@ -216,6 +216,7 @@ ...@@ -216,6 +216,7 @@
#import "FUSAssetModel.h" #import "FUSAssetModel.h"
#import "FUSUserPublicDefine.h" #import "FUSUserPublicDefine.h"
#import "FUSUserRouterProtocol.h" #import "FUSUserRouterProtocol.h"
#import "FUSOCCollectionViewCell.h"
#endif /* FUSCommon_h */ #endif /* FUSCommon_h */
...@@ -88,7 +88,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -88,7 +88,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, copy) NSString *appUpdateDownloadUrl; @property (nonatomic, copy) NSString *appUpdateDownloadUrl;
/// 拥有新人签到资格 (0:无、1:有) /// 拥有新人签到资格 (0:无、1:有)
@property (nonatomic, assign) NSNumber *haveNoviceCheckIn; @property (nonatomic, assign) NSInteger haveNoviceCheckIn;
/// App是否有存在更新的版本号(-1:无版本更新) /// App是否有存在更新的版本号(-1:无版本更新)
@property (nonatomic, assign) NSNumber *versionUpdate; @property (nonatomic, assign) NSNumber *versionUpdate;
......
...@@ -179,6 +179,18 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -179,6 +179,18 @@ NS_ASSUME_NONNULL_BEGIN
*/ */
- (void)showDifferentLoginWithTime:(NSString *)timeStr; - (void)showDifferentLoginWithTime:(NSString *)timeStr;
/// 显示获取物品动画
/// @param currency 物品分类(1:道具、2:礼物、3:座驾、4:宝石、5:露水、6:萤火)
/// @param classify 奖励类型(3:宝石、4:萤火、5:露水)
/// @param tips 提示
/// @param icon 图片
/// @param amount 数量
-(void)fus_showAwardAnimateWithCurrency:(NSInteger)currency
classify:(NSInteger)classify
tips:(NSString *)tips
icon:(NSString *)icon
amount:(NSInteger)amount;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -214,3 +214,4 @@ ...@@ -214,3 +214,4 @@
#import "FUSConfig.h" #import "FUSConfig.h"
#import "UIColor+FUSTheme.h" #import "UIColor+FUSTheme.h"
#import "UIFont+FUSTheme.h" #import "UIFont+FUSTheme.h"
#import "YYAnimatedImageView+FUSLayerFix.h"
...@@ -29,6 +29,8 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -29,6 +29,8 @@ NS_ASSUME_NONNULL_BEGIN
- (void)addRoundedCorners:(UIRectCorner)corners - (void)addRoundedCorners:(UIRectCorner)corners
withRadii:(CGSize)radii withRadii:(CGSize)radii
viewRect:(CGRect)rect; viewRect:(CGRect)rect;
-(void)fus_addShadow;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -42,4 +42,11 @@ ...@@ -42,4 +42,11 @@
self.layer.mask = shape; self.layer.mask = shape;
} }
- (void)fus_addShadow{
self.layer.shadowColor = [UIColor colorWithRed:65/255.f green:94/255.f blue:94/255.f alpha:148/255.f].CGColor;
self.layer.shadowOffset = CGSizeMake(1, 0);
self.layer.shadowOpacity = 1;
self.layer.shadowRadius = 3.0;
}
@end @end
//
// FUSSwiftLocalizationHelper.swift
// FUSFoundation
//
// Created by aaa on 2024/9/24.
//
import UIKit
class FUSSwiftLocalizationHelper: NSObject {
}
public extension String {
static func fus_localString(_ key: String) -> String {
// if let tableName = UserDefaults.standard.object(forKey: LANGUAGE_CORE_KEY_SWIFT) as? String{
// return FUSFoundationBundle.bundle().localizedString(forKey: key, value: "", table: tableName)
// }
// return ""
return NSString.fus_localString(key)
}
static func fus_versionLocalString(_ key: String) -> String{
return self.fus_localString(key)
}
}
//
// YYAnimatedImageView+FUSLayerFix.h
// FUSFoundation
//
// Created by aaa on 2024/9/25.
//
#import <YYKit/YYKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface YYAnimatedImageView (FUSLayerFix)
@end
NS_ASSUME_NONNULL_END
//
// YYAnimatedImageView+FUSLayerFix.m
// FUSFoundation
//
// Created by aaa on 2024/9/25.
//
#import "YYAnimatedImageView+FUSLayerFix.h"
@implementation YYAnimatedImageView (FUSLayerFix)
+ (void)load {
Method displayLayerMethod = class_getInstanceMethod(self, @selector(displayLayer:));
Method displayLayerNewMethod = class_getInstanceMethod(self, @selector(displayLayerNew:));
method_exchangeImplementations(displayLayerMethod, displayLayerNewMethod);
}
- (void)displayLayerNew:(CALayer *)layer {
Ivar imgIvar = class_getInstanceVariable([self class], "_curFrame");
UIImage *img = object_getIvar(self, imgIvar);
if (img) {
[self displayLayerNew:layer];
} else {
if (@available(iOS 14.0, *)) {
[super displayLayer:layer];
}
}
}
@end
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
<key>FUSChatCenterBundle.xcscheme_^#shared#^_</key> <key>FUSChatCenterBundle.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>65</integer> <integer>73</integer>
</dict> </dict>
<key>FUSChatCenterModule.xcscheme_^#shared#^_</key> <key>FUSChatCenterModule.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>76</integer> <integer>72</integer>
</dict> </dict>
</dict> </dict>
</dict> </dict>
......
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
<key>FUSShowRoomBundle.xcscheme_^#shared#^_</key> <key>FUSShowRoomBundle.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>69</integer> <integer>71</integer>
</dict> </dict>
<key>FUSShowRoomModule.xcscheme_^#shared#^_</key> <key>FUSShowRoomModule.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>66</integer> <integer>74</integer>
</dict> </dict>
</dict> </dict>
</dict> </dict>
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "home_newUser_Checkin_backgroundTop_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "home_newUser_Checkin_backgroundTop_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "home_newUser_checkin_reward_item_has_checkin@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "home_newUser_checkin_reward_item_has_checkin@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
...@@ -19,3 +19,5 @@ FOUNDATION_EXPORT const unsigned char FUSShowRoomModuleVersionString[]; ...@@ -19,3 +19,5 @@ FOUNDATION_EXPORT const unsigned char FUSShowRoomModuleVersionString[];
#import "FUSLiveChatInputView.h" #import "FUSLiveChatInputView.h"
#import "FUSLiveHttpHelper.h" #import "FUSLiveHttpHelper.h"
#import "FUSShowRoomCenterBunble.h" #import "FUSShowRoomCenterBunble.h"
#import "FUSCheckInDayRewardModel.h"
#import "FUSCheckInRewardItemModel.h"
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#import "FUSHomePageViewController.h" #import "FUSHomePageViewController.h"
#import "FUSFloatTabbarView.h" #import "FUSFloatTabbarView.h"
#import "FUSHomeView.h" #import "FUSHomeView.h"
#import "FUSSevenDayCheckinAlertView.h"
#import "FUSBaoFangHttpHelper.h" #import "FUSBaoFangHttpHelper.h"
#import "FUSZhaixinRecommendedViewController.h" #import "FUSZhaixinRecommendedViewController.h"
...@@ -35,6 +36,8 @@ ...@@ -35,6 +36,8 @@
/// 是否展示开屏推送 /// 是否展示开屏推送
@property (nonatomic, assign) BOOL isShowOpenScreenPush; @property (nonatomic, assign) BOOL isShowOpenScreenPush;
@property (nonatomic, assign) BOOL isShowNewUserAlert;
@end @end
@implementation FUSHomePageViewController @implementation FUSHomePageViewController
...@@ -45,6 +48,7 @@ ...@@ -45,6 +48,7 @@
self.hiddenNavigationBar = YES; self.hiddenNavigationBar = YES;
self.homeTabbarShouldScrollToHide = NO; self.homeTabbarShouldScrollToHide = NO;
self.firstLoad = YES; self.firstLoad = YES;
self.isShowNewUserAlert = NO;
[self fus_createTabbarView]; [self fus_createTabbarView];
[self fus_createHomeScrollView]; [self fus_createHomeScrollView];
...@@ -64,6 +68,7 @@ ...@@ -64,6 +68,7 @@
selector:@selector(fus_applicationDidBecomeActiveNotification:) selector:@selector(fus_applicationDidBecomeActiveNotification:)
name:UIApplicationDidBecomeActiveNotification name:UIApplicationDidBecomeActiveNotification
object:nil]; object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(fus_enterForegroundNotification) name:UIApplicationWillEnterForegroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newRegistRecommend:) name:FUSUserNotificationKeys.fus_NEW_REGISTER_RECOMMEND object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newRegistRecommend:) name:FUSUserNotificationKeys.fus_NEW_REGISTER_RECOMMEND object:nil];
} }
...@@ -110,6 +115,8 @@ ...@@ -110,6 +115,8 @@
[super viewWillAppear:animated]; [super viewWillAppear:animated];
if (!self.firstLoad) { if (!self.firstLoad) {
[self.contentViewList[self.tabbarView.currentIndex] fus_viewWillShow]; [self.contentViewList[self.tabbarView.currentIndex] fus_viewWillShow];
[self fus_showSevenDayCheckinAlertViewIfInNeedWithType:FUSSevenDayCheckinTypeBackToHomePage];
} }
self.firstLoad = NO; self.firstLoad = NO;
...@@ -120,6 +127,21 @@ ...@@ -120,6 +127,21 @@
[self.contentViewList[self.tabbarView.currentIndex] fus_viewDidDisappear]; [self.contentViewList[self.tabbarView.currentIndex] fus_viewDidDisappear];
} }
#pragma mark - other method
/// 按需弹出七日签到
-(void)fus_showSevenDayCheckinAlertViewIfInNeedWithType:(FUSSevenDayCheckinType)type{
if ([[UIViewController fus_topViewController] isKindOfClass:[self class]]) {
if (self.isShowNewUserAlert) {
return;
}
MJWeakSelf
self.isShowNewUserAlert = [FUSSevenDayCheckinAlertView fus_createIfNeededWithType:type dismissHandler:^{
weakSelf.isShowNewUserAlert = NO;
}];
}
}
#pragma mark - 开屏推送相关 ludy: 这里我看老包也没有使用,先记着,到时候需要的时候就直接用 #pragma mark - 开屏推送相关 ludy: 这里我看老包也没有使用,先记着,到时候需要的时候就直接用
- (void)fus_getOpenScreenPushData { - (void)fus_getOpenScreenPushData {
if ([[[NSUserDefaults standardUserDefaults] objectForKey:FUSUserUDKeys.fus_IS_FIRST_ENTER_APP_CURRENT] boolValue]) { if ([[[NSUserDefaults standardUserDefaults] objectForKey:FUSUserUDKeys.fus_IS_FIRST_ENTER_APP_CURRENT] boolValue]) {
...@@ -255,6 +277,9 @@ ...@@ -255,6 +277,9 @@
[obj fus_applicationDidBecomeActiveNotification:noti]; [obj fus_applicationDidBecomeActiveNotification:noti];
}]; }];
} }
-(void)fus_enterForegroundNotification{
[self fus_showSevenDayCheckinAlertViewIfInNeedWithType:FUSSevenDayCheckinTypeBackToForground];
}
- (void)newRegistRecommend:(NSNotification *)notification { - (void)newRegistRecommend:(NSNotification *)notification {
NSArray *array = notification.object; NSArray *array = notification.object;
...@@ -267,9 +292,9 @@ ...@@ -267,9 +292,9 @@
} }
} }
// __weak typeof(self) weakSelf = self; MJWeakSelf
remVc.deallocBlock = ^{ remVc.deallocBlock = ^{
[weakSelf fus_showSevenDayCheckinAlertViewIfInNeedWithType:FUSSevenDayCheckinTypeLogin];
}; };
} }
......
//
// FUSSevenDayCheckinAlertView.h
// FUSShowRoomModule
//
// Created by aaa on 2024/9/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, FUSSevenDayCheckinType) {
FUSSevenDayCheckinTypeLogin = 1,
FUSSevenDayCheckinTypeBackToHomePage,
FUSSevenDayCheckinTypeBackToForground,
};
@interface FUSSevenDayCheckinAlertView : UIView
+(BOOL)fus_createIfNeededWithType:(FUSSevenDayCheckinType)type dismissHandler:(void(^)(void))dismissHandler;
@end
NS_ASSUME_NONNULL_END
//
// FUSCheckInDayRewardModel.h
// FUSShowRoomModule
//
// Created by aaa on 2024/9/24.
//
#import <FUSFoundation/FUSFoundation.h>
#import "FUSCheckInRewardItemModel.h"
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(int, FUSCheckInDayRewardCellSizeType) {
FUSCheckInDayRewardCellSizeTypeNormal = 0,
FUSCheckInDayRewardCellSizeTypeLong,
FUSCheckInDayRewardCellSizeTypeBig,
FUSCheckInDayRewardCellSizeTypeBigLong,
};
@interface FUSCheckInDayRewardModel : FUSBaseModel
/// 第几天
@property (nonatomic, assign) NSInteger day;
/// 签到状态(0:未签到、1:已签到)
@property (nonatomic, assign) BOOL state;
/// 是否签到当天
@property (nonatomic, assign) BOOL isCheckingDay;
/// 奖励列表
@property (nonatomic, strong) NSMutableArray<FUSCheckInRewardItemModel *> *rewardList;
/// 附加奖励
@property (nonatomic, strong) FUSCheckInRewardItemModel * _Nullable rewardAdded;
/// 距离下次签到剩余多少时间(秒)
@property (nonatomic, assign) NSTimeInterval nextTime;
/// 缓存cell的尺寸
@property (nonatomic, assign) FUSCheckInDayRewardCellSizeType cellSizeType;
/// 获取cell尺寸
-(CGSize)fus_getCellSize;
@end
NS_ASSUME_NONNULL_END
//
// FUSCheckInDayRewardModel.m
// FUSShowRoomModule
//
// Created by aaa on 2024/9/24.
//
#import "FUSCheckInDayRewardModel.h"
@implementation FUSCheckInDayRewardModel
- (instancetype)init
{
self = [super init];
if (self) {
self.cellSizeType = FUSCheckInDayRewardCellSizeTypeNormal;
}
return self;
}
+ (NSDictionary *)modelContainerPropertyGenericClass {
return @{@"rewardList": [FUSCheckInRewardItemModel class]};
}
- (CGSize)fus_getCellSize{
switch (self.cellSizeType) {
case FUSCheckInDayRewardCellSizeTypeNormal:
return CGSizeMake(66, 67);
break;
case FUSCheckInDayRewardCellSizeTypeLong:
return CGSizeMake(66, 86.5);
break;
case FUSCheckInDayRewardCellSizeTypeBig:
return CGSizeMake(137 + 2, 67);
break;
case FUSCheckInDayRewardCellSizeTypeBigLong:
return CGSizeMake(137 + 2, 86.5);
break;
}
}
@end
//
// FUSCheckInRewardItemModel.h
// FUSShowRoomModule
//
// Created by aaa on 2024/9/24.
//
#import <FUSFoundation/FUSFoundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface FUSCheckInRewardItemModel : FUSBaseModel
/// 奖励数量
@property (nonatomic, assign) NSInteger num;
/// 奖励ICON
@property (nonatomic, copy) NSString *icon;
/// 奖励名称
@property (nonatomic, copy) NSString *name;
/// 奖励对象物品分类(1:道具、2:礼物、3:座驾、4:宝石、5:露水)
@property (nonatomic, assign) NSInteger classify;
@end
NS_ASSUME_NONNULL_END
//
// FUSCheckInRewardItemModel.m
// FUSShowRoomModule
//
// Created by aaa on 2024/9/24.
//
#import "FUSCheckInRewardItemModel.h"
@implementation FUSCheckInRewardItemModel
@end
//
// FUSSevenDayCheckinListModel.h
// FUSShowRoomModule
//
// Created by aaa on 2024/9/23.
//
#import <Foundation/Foundation.h>
#import "FUSCheckInDayRewardModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface FUSSevenDayCheckinListModel : FUSBaseModel
/// 提醒状态(1:开启提醒、0:关闭提醒)
@property (nonatomic, assign) BOOL remindState;
/// 签到对象集合
@property (nonatomic, strong) NSMutableArray<FUSCheckInDayRewardModel *> *checkinList;
/// 附加奖励在第几天
@property (nonatomic, assign) NSInteger addedRewardIndex;
/// 当前是第几天的奖励
@property (nonatomic, assign) NSInteger checkInDay;
@end
NS_ASSUME_NONNULL_END
//
// FUSSevenDayCheckinListModel.m
// FUSShowRoomModule
//
// Created by aaa on 2024/9/23.
//
#import "FUSSevenDayCheckinListModel.h"
@implementation FUSSevenDayCheckinListModel
- (instancetype)init
{
self = [super init];
if (self) {
self.addedRewardIndex = -1;
self.checkInDay = -1;
}
return self;
}
+ (NSDictionary *)modelContainerPropertyGenericClass {
return @{@"checkinList": [FUSCheckInDayRewardModel class]};
}
- (void)fus_setValueWithDict:(NSDictionary *)dict{
[super fus_setValueWithDict:dict];
NSInteger index = -1;
for (FUSCheckInDayRewardModel *rewardModel in self.checkinList) {
index++;
if (rewardModel.rewardAdded != nil) {
if (rewardModel.rewardAdded.num > 0) {
self.addedRewardIndex = index;
}else {
rewardModel.rewardAdded = nil;
}
}
if (self.checkInDay <= 0 && rewardModel.state == NO) {
self.checkInDay = rewardModel.day;
rewardModel.isCheckingDay = YES;
}
}
NSInteger maxLineItem = 4;
[self.checkinList enumerateObjectsUsingBlock:^(FUSCheckInDayRewardModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
BOOL isLongHeight = NO;
if (self.addedRewardIndex >= 0) {
if (idx < maxLineItem && self.addedRewardIndex < maxLineItem) {
isLongHeight = YES;
}else if (idx >= maxLineItem && self.addedRewardIndex >= maxLineItem) {
isLongHeight = YES;
}
}
BOOL isLongWidth = NO;
if (obj.rewardList.count > 1) {
isLongWidth = YES;
}
if (isLongHeight && isLongWidth) {
obj.cellSizeType = FUSCheckInDayRewardCellSizeTypeBigLong;
}else if (isLongWidth) {
obj.cellSizeType = FUSCheckInDayRewardCellSizeTypeBig;
}else if (isLongHeight) {
obj.cellSizeType = FUSCheckInDayRewardCellSizeTypeLong;
}else {
obj.cellSizeType = FUSCheckInDayRewardCellSizeTypeNormal;
}
}];
}
@end
//
// FUSNewUserRewardItemCell.swift
// HomeList
//
// Created by pierce on 2023/8/31.
//
import UIKit
import FUSCommon
import FUSFoundation
import SnapKit
public class FUSNewUserRewardItemCell: FUSSwiftCollectionViewCell {
let bgImageView = UIImageView(frame: .zero)
let iconImageView = UIImageView(frame: .zero)
let nameLabel = UILabel(frame: .zero)
let dayLabel = UILabel(frame: .zero)
let hasCheckInImageView = UIImageView(image: FUSShowRoomCenterBunble.imageNamed("home_newUser_checkin_reward_item_has_checkin"))
public static func fus_cellIdentifier() -> String {
return "FUSNewUserRewardItemCell"
}
public override func makeUI() {
super.makeUI()
self.contentView.backgroundColor = .clear
self.backgroundColor = .clear
self.selectedBackgroundView = .init()
self.selectedBackgroundView?.backgroundColor = .clear
self.bgImageView.contentMode = .scaleToFill
self.contentView.addSubview(self.bgImageView)
self.iconImageView.contentMode = .scaleAspectFit
self.contentView.addSubview(self.iconImageView)
self.nameLabel.font = .fus_themeFont(8)
self.nameLabel.textColor = .init(white: 1, alpha: 0.4)
self.nameLabel.textAlignment = .center
self.contentView.addSubview(self.nameLabel)
self.dayLabel.font = .fus_themeMediumFont(10)
self.dayLabel.textColor = .fus_textColorLight2()
self.dayLabel.textAlignment = .center
self.contentView.addSubview(self.dayLabel)
self.hasCheckInImageView.contentMode = .scaleAspectFit
self.contentView.addSubview(self.hasCheckInImageView)
self.bgImageView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
self.iconImageView.snp.makeConstraints { make in
make.centerY.equalToSuperview().offset(-12)
make.centerX.equalToSuperview()
make.width.height.equalTo(30)
}
self.nameLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(4)
make.right.equalToSuperview().offset(-4)
make.top.equalTo(self.iconImageView.snp.bottom)
}
self.dayLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(4)
make.right.equalToSuperview().offset(-4)
make.bottom.equalTo(self.snp.bottom).offset(-4)
}
self.hasCheckInImageView.snp.makeConstraints { make in
make.left.top.equalToSuperview()
make.size.equalTo(CGSizeMake(35, 31))
}
}
public func fus_setupModel(_ model:FUSCheckInDayRewardModel) {
if model.isCheckingDay {
self.bgImageView.backgroundColor = .white;
self.bgImageView.layer.cornerRadius = 6;
self.bgImageView.fus_addShadow()
} else {
self.bgImageView.backgroundColor = .init(hex: "#ECEBEC");
self.bgImageView.layer.cornerRadius = 6;
self.bgImageView.layer.shadowColor = UIColor.clear.cgColor
}
self.dayLabel.text = "Day\(model.day)"
self.hasCheckInImageView.isHidden = model.state == false
guard let reward = model.rewardList.firstObject as? FUSCheckInRewardItemModel else {
return
}
self.iconImageView.setWebImageWithSubURLString(reward.icon)
/// 奖励对象物品分类(1:道具、2:礼物、3:座驾、4:宝石、5:露水、6:萤火)
switch reward.classify {
case 4:
self.nameLabel.text = "\(reward.num)"
self.nameLabel.textColor = .fus_diamondBlue()
case 5:
self.nameLabel.text = "\(reward.num)"
self.nameLabel.textColor = .fus_dewBlue()
case 6:
self.nameLabel.text = "\(reward.num)"
self.nameLabel.textColor = .fus_fireGreen()
default:
self.nameLabel.text = "\(reward.name) x\(reward.num)"
self.nameLabel.textColor = .fus_textColorRich()
}
}
}
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#import "FUSHomeLanguageGetlistModel.h" #import "FUSHomeLanguageGetlistModel.h"
#import "FUSBaoFangBroadcastModel.h" #import "FUSBaoFangBroadcastModel.h"
#import "FUSUserTradeRemindModel.h" #import "FUSUserTradeRemindModel.h"
#import "FUSSevenDayCheckinListModel.h"
@interface FUSBaoFangHttpHelper : NSObject @interface FUSBaoFangHttpHelper : NSObject
...@@ -134,4 +135,24 @@ typedef enum : NSUInteger { ...@@ -134,4 +135,24 @@ typedef enum : NSUInteger {
/// @param failure 1 /// @param failure 1
+(void)fus_requestHomeVestFollowGetlistType:(NSInteger)type success:(void(^)(NSMutableArray<FUSBaoFangAnchorModel *> *modelList, FUSBaoFangAnchorModel *recommendModel))success failure:(void(^)(NSString *msg,int code))failure; +(void)fus_requestHomeVestFollowGetlistType:(NSInteger)type success:(void(^)(NSMutableArray<FUSBaoFangAnchorModel *> *modelList, FUSBaoFangAnchorModel *recommendModel))success failure:(void(^)(NSString *msg,int code))failure;
/// 获取新人7天签到列表
/// @param success 成功
/// @param failure 失败
+(void)fus_requestNoviceCheckinListGetSuccess:(void(^)(FUSSevenDayCheckinListModel *model))success
failure:(void(^)(NSString *msg,int code, NSInteger nextTime))failure;
/// 领取新人7天签到奖励
/// @param success 成功
/// @param failure 失败
+(void)fus_requestNoviceCheckinRewardGetSuccess:(void(^)(FUSCheckInDayRewardModel *model))success
failure:(void(^)(NSString *msg,int code))failure;
/// 设置新人7天签到提醒
/// @param isOn 是否打开
/// @param success 成功
/// @param failure 失败
+(void)fus_requestNoviceCheckinRemindSetWithIsOn:(BOOL)isOn
success:(void(^)(void))success
failure:(void(^)(NSString *msg,int code))failure;
@end @end
...@@ -304,4 +304,42 @@ ...@@ -304,4 +304,42 @@
}]; }];
} }
+ (void)fus_requestNoviceCheckinListGetSuccess:(void (^)(FUSSevenDayCheckinListModel *))success failure:(void (^)(NSString *, int, NSInteger))failure{
[FUSHttpHelper postRequestBinaryWithUrl:FUSShowRoomURLs.fus_URL_USER_NOVICE_CHECKIN_LIST params:nil success:^(NSDictionary * _Nullable dataDict, int code) {
FUSSevenDayCheckinListModel *model = [[FUSSevenDayCheckinListModel alloc] init];
[model fus_setValueWithDict:dataDict];
success(model);
} failure:^(NSDictionary * _Nullable dataDict, int code) {
if (failure) {
failure(FAILURE_MESSAGE, code, [[dataDict valueForKey:@"nextTime"] integerValue]);
}
}];
}
+ (void)fus_requestNoviceCheckinRewardGetSuccess:(void (^)(FUSCheckInDayRewardModel *))success failure:(void (^)(NSString *, int))failure{
[FUSHttpHelper postRequestBinaryWithUrl:FUSShowRoomURLs.fus_URL_USER_NOVICE_CHECKIN_REWARD params:nil success:^(NSDictionary * _Nullable dataDict, int code) {
FUSCheckInDayRewardModel *model = [[FUSCheckInDayRewardModel alloc] init];
[model fus_setValueWithDict:dataDict];
success(model);
} failure:^(NSDictionary * _Nullable dataDict, int code) {
if (failure) {
failure(FAILURE_MESSAGE, code);
}
}];
}
+ (void)fus_requestNoviceCheckinRemindSetWithIsOn:(BOOL)isOn success:(void (^)(void))success failure:(void (^)(NSString *, int))failure{
NSDictionary *parm = @{@"state": isOn == YES ? @"1" : @"0"};
[FUSHttpHelper postRequestBinaryWithUrl:FUSShowRoomURLs.fus_URL_USER_NOVICE_CHECKIN_REMIND_SET params:parm success:^(NSDictionary * _Nullable dataDict, int code) {
success();
} failure:^(NSDictionary * _Nullable dataDict, int code) {
if (failure) {
failure(FAILURE_MESSAGE, code);
}
}];
}
@end @end
...@@ -355,6 +355,15 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -355,6 +355,15 @@ NS_ASSUME_NONNULL_BEGIN
// PK规则 // PK规则
+ (NSString *)fus_URL_LIVE_PK_RULE_INFO; + (NSString *)fus_URL_LIVE_PK_RULE_INFO;
/// 获取新人7天签到列表
+(NSString *)fus_URL_USER_NOVICE_CHECKIN_LIST;
/// 领取新人7天签到奖励
+(NSString *)fus_URL_USER_NOVICE_CHECKIN_REWARD;
/// 设置新人7天签到提醒
+ (NSString *)fus_URL_USER_NOVICE_CHECKIN_REMIND_SET;
@end @end
......
...@@ -581,6 +581,20 @@ ...@@ -581,6 +581,20 @@
return [FUSConfig.sharedInstanced.pathConfigs apiUrl:@"/pk/ruleinfo.html"]; return [FUSConfig.sharedInstanced.pathConfigs apiUrl:@"/pk/ruleinfo.html"];
} }
/// 获取新人7天签到列表
+(NSString *)fus_URL_USER_NOVICE_CHECKIN_LIST{
return [FUSConfig.sharedInstanced.pathConfigs apiUrl:@"/novice/checkin/list/get"];
}
+ (NSString *)fus_URL_USER_NOVICE_CHECKIN_REWARD{
return [FUSConfig.sharedInstanced.pathConfigs apiUrl:@"/novice/checkin/reward/get"];
}
/// 设置新人7天签到提醒
+ (NSString *)fus_URL_USER_NOVICE_CHECKIN_REMIND_SET{
return [FUSConfig.sharedInstanced.pathConfigs apiUrl:@"/novice/checkin/remind/set"];
}
@end @end
......
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
<key>FUSUserCenterModule.xcscheme_^#shared#^_</key> <key>FUSUserCenterModule.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>72</integer> <integer>75</integer>
</dict> </dict>
<key>FUSUserCenterModuleBundle.xcscheme_^#shared#^_</key> <key>FUSUserCenterModuleBundle.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>74</integer> <integer>76</integer>
</dict> </dict>
</dict> </dict>
</dict> </dict>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<device id="retina5_9" orientation="portrait" appearance="light"/> <device id="retina5_9" orientation="portrait" appearance="light"/>
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
...@@ -273,8 +273,11 @@ ...@@ -273,8 +273,11 @@
</constraints> </constraints>
</view> </view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZQQ-ne-eTh" customClass="FUSStyleButton"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZQQ-ne-eTh" customClass="FUSStyleButton">
<rect key="frame" x="28" y="506.66666666666674" width="319" height="33"/> <rect key="frame" x="28" y="506.66666666666674" width="319" height="44"/>
<color key="backgroundColor" red="1" green="0.40000000000000002" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> <color key="backgroundColor" red="1" green="0.40000000000000002" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="eTy-ey-BmF"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/> <fontDescription key="fontDescription" type="system" pointSize="17"/>
<state key="normal" title="注册"> <state key="normal" title="注册">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
...@@ -301,7 +304,7 @@ ...@@ -301,7 +304,7 @@
<rect key="frame" x="295" y="642" width="20" height="20"/> <rect key="frame" x="295" y="642" width="20" height="20"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="Button" image="button:5Se-iM-LEc:image"/> <state key="normal" title="Button" image="button:5Se-iM-LEc:image"/>
<state key="selected" image="80808244-A5A6-4E33-BF31-22CEBB181B84"/> <state key="selected" image="A6DC56CB-5CC9-4286-9084-70202569617A"/>
<connections> <connections>
<action selector="onSelected:" destination="-1" eventType="touchUpInside" id="w7C-eD-fQk"/> <action selector="onSelected:" destination="-1" eventType="touchUpInside" id="w7C-eD-fQk"/>
</connections> </connections>
...@@ -367,7 +370,7 @@ ...@@ -367,7 +370,7 @@
</constraints> </constraints>
</view> </view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Csp-xu-dA2"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Csp-xu-dA2">
<rect key="frame" x="118.66666666666669" y="544.66666666666663" width="138" height="27"/> <rect key="frame" x="118.66666666666669" y="555.66666666666663" width="138" height="27"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="27" id="Hpg-h6-S6h"/> <constraint firstAttribute="height" constant="27" id="Hpg-h6-S6h"/>
</constraints> </constraints>
...@@ -502,7 +505,7 @@ ...@@ -502,7 +505,7 @@
</view> </view>
</objects> </objects>
<resources> <resources>
<image name="80808244-A5A6-4E33-BF31-22CEBB181B84" width="45" height="46"> <image name="A6DC56CB-5CC9-4286-9084-70202569617A" width="45" height="46">
<mutableData key="keyedArchiveRepresentation"> <mutableData key="keyedArchiveRepresentation">
YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05T YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05T
S2V5ZWRBcmNoaXZlctEICVRyb290gAGtCwwXHBMhJicuMTQ6PVUkbnVsbNUNDg8QERITFBUWViRjbGFz S2V5ZWRBcmNoaXZlctEICVRyb290gAGtCwwXHBMhJicuMTQ6PVUkbnVsbNUNDg8QERITFBUWViRjbGFz
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#import "FUSNewsFeedListViewController.h" #import "FUSNewsFeedListViewController.h"
#import "FUSThirdPartyLoginHelper.h" #import "FUSThirdPartyLoginHelper.h"
#import "FUSRecieveNotificationHelper.h" #import "FUSRecieveNotificationHelper.h"
#import "FUSGotBackpackItemAnimView.h"
#import "FUSUserCenterModule/FUSUserCenterModule-Swift.h" #import "FUSUserCenterModule/FUSUserCenterModule-Swift.h"
...@@ -605,4 +606,29 @@ ...@@ -605,4 +606,29 @@
return 0; return 0;
} }
- (void)fus_showAwardAnimateWithCurrency:(NSInteger)currency classify:(NSInteger)classify tips:(NSString *)tips icon:(NSString *)icon amount:(NSInteger)amount{
if (currency == 3
|| classify == 4) {
FUSDewAwardAnimationView *dewAnimView = [[FUSDewAwardAnimationView alloc] initWithFrame:UIView.fus_screenFrame];
[dewAnimView addAwardAnimWithType:1 amount:[NSString stringWithFormat:@"%ld",amount] textColor:[UIColor fus_diamondBlue]];
[UIApplication.sharedApplication.keyWindow addSubview:dewAnimView];
} else if (currency == 4
|| classify == 6) {
FUSDewAwardAnimationView *dewAnimView = [[FUSDewAwardAnimationView alloc] initWithFrame:UIView.fus_screenFrame];
[dewAnimView addAwardAnimWithType:2 amount:[NSString stringWithFormat:@"%ld",amount] textColor:[UIColor fus_fireGreen]];
[UIApplication.sharedApplication.keyWindow addSubview:dewAnimView];
} else if (currency == 5
|| classify == 5) {
FUSDewAwardAnimationView *dewAnimView = [[FUSDewAwardAnimationView alloc] initWithFrame:UIView.fus_screenFrame];
[dewAnimView addAwardAnimWithType:0 amount:[NSString stringWithFormat:@"%ld",amount] textColor:[UIColor fus_dewBlue]];
[UIApplication.sharedApplication.keyWindow addSubview:dewAnimView];
} else {
[FUSGotBackpackItemAnimView fus_showWithType:FUSGotBackpackItemAnimType2 icon:icon name:tips goodsType:classify isMotorHasWear:NO];
}
}
@end @end
...@@ -81,6 +81,9 @@ PODS: ...@@ -81,6 +81,9 @@ PODS:
- HyphenateChat (= 3.8.3.1) - HyphenateChat (= 3.8.3.1)
- MGSwipeTableCell - MGSwipeTableCell
- MMDrawerController - MMDrawerController
- RxCocoa
- RxDataSources
- RxSwift
- TenjinSDK - TenjinSDK
- FUSFoundation (1.0.0): - FUSFoundation (1.0.0):
- AFNetworking - AFNetworking
...@@ -362,7 +365,7 @@ SPEC CHECKSUMS: ...@@ -362,7 +365,7 @@ SPEC CHECKSUMS:
FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb
FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd
FMDB: 854a0341b4726e53276f2a8996f06f1b80f9259a FMDB: 854a0341b4726e53276f2a8996f06f1b80f9259a
FUSCommon: 818b16aa7856277a2a4fd91de84700ff5d667ed5 FUSCommon: e454e7b391ab8f8954d471eb13c11e238bfea615
FUSFoundation: d9cf2ed5710c673661780877e31ebf34dcd4a822 FUSFoundation: d9cf2ed5710c673661780877e31ebf34dcd4a822
GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4 GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4
GoogleAppMeasurement: 6b6a08fd9c71f4dbc89e0e812acca81d797aa342 GoogleAppMeasurement: 6b6a08fd9c71f4dbc89e0e812acca81d797aa342
......
...@@ -62,6 +62,15 @@ ...@@ -62,6 +62,15 @@
], ],
"HyphenateChat": [ "HyphenateChat": [
"3.8.3.1" "3.8.3.1"
],
"RxCocoa": [
],
"RxSwift": [
],
"RxDataSources": [
] ]
}, },
"prefix_header_contents": [ "prefix_header_contents": [
......
...@@ -81,6 +81,9 @@ PODS: ...@@ -81,6 +81,9 @@ PODS:
- HyphenateChat (= 3.8.3.1) - HyphenateChat (= 3.8.3.1)
- MGSwipeTableCell - MGSwipeTableCell
- MMDrawerController - MMDrawerController
- RxCocoa
- RxDataSources
- RxSwift
- TenjinSDK - TenjinSDK
- FUSFoundation (1.0.0): - FUSFoundation (1.0.0):
- AFNetworking - AFNetworking
...@@ -362,7 +365,7 @@ SPEC CHECKSUMS: ...@@ -362,7 +365,7 @@ SPEC CHECKSUMS:
FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb
FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd
FMDB: 854a0341b4726e53276f2a8996f06f1b80f9259a FMDB: 854a0341b4726e53276f2a8996f06f1b80f9259a
FUSCommon: 818b16aa7856277a2a4fd91de84700ff5d667ed5 FUSCommon: e454e7b391ab8f8954d471eb13c11e238bfea615
FUSFoundation: d9cf2ed5710c673661780877e31ebf34dcd4a822 FUSFoundation: d9cf2ed5710c673661780877e31ebf34dcd4a822
GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4 GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4
GoogleAppMeasurement: 6b6a08fd9c71f4dbc89e0e812acca81d797aa342 GoogleAppMeasurement: 6b6a08fd9c71f4dbc89e0e812acca81d797aa342
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -76,6 +76,7 @@ ...@@ -76,6 +76,7 @@
#import "FUSBaseTableViewCell.h" #import "FUSBaseTableViewCell.h"
#import "FUSDewAwardAnimationView.h" #import "FUSDewAwardAnimationView.h"
#import "FUSEditPickerView.h" #import "FUSEditPickerView.h"
#import "FUSOCCollectionViewCell.h"
#import "FUSBaseSettingTableViewController.h" #import "FUSBaseSettingTableViewController.h"
#import "FUSCustomSettingCell.h" #import "FUSCustomSettingCell.h"
#import "FUSCustomSettingGroup.h" #import "FUSCustomSettingGroup.h"
......
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FUSCommon CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FUSCommon
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AliyunOSSiOS" "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/FUSFoundation" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HWPanModal" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/MGSwipeTableCell" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/MMDrawerController" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RMStore" "${PODS_CONFIGURATION_BUILD_DIR}/RangersAppLog" "${PODS_CONFIGURATION_BUILD_DIR}/TTSDK" "${PODS_CONFIGURATION_BUILD_DIR}/UIImage+BlurredFrame" "${PODS_CONFIGURATION_BUILD_DIR}/YYKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_ROOT}/AgoraRtcEngine_iOS" "${PODS_ROOT}/FacebookSDK" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/GoogleSignIn/Frameworks" "${PODS_ROOT}/HyphenateChat" "${PODS_ROOT}/LineSDK/LineSDK" "${PODS_ROOT}/MOBFoundation/MOBFoundation" "${PODS_ROOT}/TTSDK/TTSDK/ByteAudio" "${PODS_ROOT}/TTSDK/TTSDK/TTFFmpeg" "${PODS_ROOT}/TTSDK/TTSDK/VCNVCloudNetwork/products/framework" "${PODS_ROOT}/TTSDK/TTSDK/boringssl" "${PODS_ROOT}/TTSDK/TTSDK/ffmpeg_dashdec_iOS" "${PODS_ROOT}/TenjinSDK" "${PODS_ROOT}/TwitterCore/iOS" "${PODS_ROOT}/TwitterKit5/iOS" "${PODS_ROOT}/YYKit/Vendor" "${PODS_ROOT}/mob_sharesdk/ShareSDK" "${PODS_ROOT}/mob_sharesdk/ShareSDK/Support/PlatformConnector" "${PODS_ROOT}/mob_sharesdk/ShareSDK/Support/Required" "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FirebaseAnalytics/AdIdSupport" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAppMeasurement/AdIdSupport" "${PODS_XCFRAMEWORKS_BUILD_DIR}/MOBFoundation" "${PODS_XCFRAMEWORKS_BUILD_DIR}/TTSDK/ByteAudio" "${PODS_XCFRAMEWORKS_BUILD_DIR}/TenjinSDK" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AliyunOSSiOS" "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/FUSFoundation" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HWPanModal" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/MGSwipeTableCell" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/MMDrawerController" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RMStore" "${PODS_CONFIGURATION_BUILD_DIR}/RangersAppLog" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/TTSDK" "${PODS_CONFIGURATION_BUILD_DIR}/UIImage+BlurredFrame" "${PODS_CONFIGURATION_BUILD_DIR}/YYKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_ROOT}/AgoraRtcEngine_iOS" "${PODS_ROOT}/FacebookSDK" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/GoogleSignIn/Frameworks" "${PODS_ROOT}/HyphenateChat" "${PODS_ROOT}/LineSDK/LineSDK" "${PODS_ROOT}/MOBFoundation/MOBFoundation" "${PODS_ROOT}/TTSDK/TTSDK/ByteAudio" "${PODS_ROOT}/TTSDK/TTSDK/TTFFmpeg" "${PODS_ROOT}/TTSDK/TTSDK/VCNVCloudNetwork/products/framework" "${PODS_ROOT}/TTSDK/TTSDK/boringssl" "${PODS_ROOT}/TTSDK/TTSDK/ffmpeg_dashdec_iOS" "${PODS_ROOT}/TenjinSDK" "${PODS_ROOT}/TwitterCore/iOS" "${PODS_ROOT}/TwitterKit5/iOS" "${PODS_ROOT}/YYKit/Vendor" "${PODS_ROOT}/mob_sharesdk/ShareSDK" "${PODS_ROOT}/mob_sharesdk/ShareSDK/Support/PlatformConnector" "${PODS_ROOT}/mob_sharesdk/ShareSDK/Support/Required" "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FirebaseAnalytics/AdIdSupport" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAppMeasurement/AdIdSupport" "${PODS_XCFRAMEWORKS_BUILD_DIR}/MOBFoundation" "${PODS_XCFRAMEWORKS_BUILD_DIR}/TTSDK/ByteAudio" "${PODS_XCFRAMEWORKS_BUILD_DIR}/TenjinSDK"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public"
OTHER_CFLAGS[config=Release] = -mllvm -enable-bcfobf -mllvm -enable-subobf -mllvm -enable-splitobf OTHER_CFLAGS[config=Release] = -mllvm -enable-bcfobf -mllvm -enable-subobf -mllvm -enable-splitobf
......
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FUSCommon CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FUSCommon
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AliyunOSSiOS" "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/FUSFoundation" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HWPanModal" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/MGSwipeTableCell" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/MMDrawerController" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RMStore" "${PODS_CONFIGURATION_BUILD_DIR}/RangersAppLog" "${PODS_CONFIGURATION_BUILD_DIR}/TTSDK" "${PODS_CONFIGURATION_BUILD_DIR}/UIImage+BlurredFrame" "${PODS_CONFIGURATION_BUILD_DIR}/YYKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_ROOT}/AgoraRtcEngine_iOS" "${PODS_ROOT}/FacebookSDK" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/GoogleSignIn/Frameworks" "${PODS_ROOT}/HyphenateChat" "${PODS_ROOT}/LineSDK/LineSDK" "${PODS_ROOT}/MOBFoundation/MOBFoundation" "${PODS_ROOT}/TTSDK/TTSDK/ByteAudio" "${PODS_ROOT}/TTSDK/TTSDK/TTFFmpeg" "${PODS_ROOT}/TTSDK/TTSDK/VCNVCloudNetwork/products/framework" "${PODS_ROOT}/TTSDK/TTSDK/boringssl" "${PODS_ROOT}/TTSDK/TTSDK/ffmpeg_dashdec_iOS" "${PODS_ROOT}/TenjinSDK" "${PODS_ROOT}/TwitterCore/iOS" "${PODS_ROOT}/TwitterKit5/iOS" "${PODS_ROOT}/YYKit/Vendor" "${PODS_ROOT}/mob_sharesdk/ShareSDK" "${PODS_ROOT}/mob_sharesdk/ShareSDK/Support/PlatformConnector" "${PODS_ROOT}/mob_sharesdk/ShareSDK/Support/Required" "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FirebaseAnalytics/AdIdSupport" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAppMeasurement/AdIdSupport" "${PODS_XCFRAMEWORKS_BUILD_DIR}/MOBFoundation" "${PODS_XCFRAMEWORKS_BUILD_DIR}/TTSDK/ByteAudio" "${PODS_XCFRAMEWORKS_BUILD_DIR}/TenjinSDK" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AliyunOSSiOS" "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/FUSFoundation" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HWPanModal" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/MGSwipeTableCell" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/MMDrawerController" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RMStore" "${PODS_CONFIGURATION_BUILD_DIR}/RangersAppLog" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/TTSDK" "${PODS_CONFIGURATION_BUILD_DIR}/UIImage+BlurredFrame" "${PODS_CONFIGURATION_BUILD_DIR}/YYKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_ROOT}/AgoraRtcEngine_iOS" "${PODS_ROOT}/FacebookSDK" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/GoogleSignIn/Frameworks" "${PODS_ROOT}/HyphenateChat" "${PODS_ROOT}/LineSDK/LineSDK" "${PODS_ROOT}/MOBFoundation/MOBFoundation" "${PODS_ROOT}/TTSDK/TTSDK/ByteAudio" "${PODS_ROOT}/TTSDK/TTSDK/TTFFmpeg" "${PODS_ROOT}/TTSDK/TTSDK/VCNVCloudNetwork/products/framework" "${PODS_ROOT}/TTSDK/TTSDK/boringssl" "${PODS_ROOT}/TTSDK/TTSDK/ffmpeg_dashdec_iOS" "${PODS_ROOT}/TenjinSDK" "${PODS_ROOT}/TwitterCore/iOS" "${PODS_ROOT}/TwitterKit5/iOS" "${PODS_ROOT}/YYKit/Vendor" "${PODS_ROOT}/mob_sharesdk/ShareSDK" "${PODS_ROOT}/mob_sharesdk/ShareSDK/Support/PlatformConnector" "${PODS_ROOT}/mob_sharesdk/ShareSDK/Support/Required" "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FirebaseAnalytics/AdIdSupport" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAppMeasurement/AdIdSupport" "${PODS_XCFRAMEWORKS_BUILD_DIR}/MOBFoundation" "${PODS_XCFRAMEWORKS_BUILD_DIR}/TTSDK/ByteAudio" "${PODS_XCFRAMEWORKS_BUILD_DIR}/TenjinSDK"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public"
OTHER_CFLAGS[config=Release] = -mllvm -enable-bcfobf -mllvm -enable-subobf -mllvm -enable-splitobf OTHER_CFLAGS[config=Release] = -mllvm -enable-bcfobf -mllvm -enable-subobf -mllvm -enable-splitobf
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment