Commit 4ca2107a by ludi

保存一下

parent 96e4a8c5
......@@ -195,6 +195,14 @@ import SwiftyJSON
/// 注册的时候绑定成功的标志性:1=绑定成功,0=绑定失败
public var registeredBindsuccess: Int = 0
// 网页或者其他分享相关
/// 网页或者其他地方分享的直播间id,需要保存下来,在手动登录之后请求服务器推荐直播间,再进入,如果无推荐直播间,就直接进入这个roomid
@objc public var recommendRoomId: String?
/// 网页或者其他地方分享的 额外参数,配合recommendRoomId使用
@objc public var recommendExtraJson: String? = ""
/// 网页或者其他地方分享的 类型,配合recommendRoomId使用
@objc public var recommendReqEventType: Int = 0
// - base
public override init() {
super.init()
......
......@@ -101,6 +101,11 @@ NS_ASSUME_NONNULL_BEGIN
- (void)fus_showVideoScoreQualityAlertView:(NSString *)sid;
/// 第一次启动的时候,完成了推荐分享房间的操作,0=初始化,1= 有推荐分享并进入,2=没有推荐分享并且完成了
- (void)fus_setLaunchCompleteRecommendLiveRoom:(NSInteger)tag;
/// 第一次启动的时候,完成了网页分享房间的操作,0=初始化,1= 有网页分享并进入,2=没有网页分享并且完成了
- (void)fus_setLaunchCompleteWebShareLiveRoom:(NSInteger)tag;
#pragma mark - HTTP
/**
* 追踪包房
......
......@@ -673,7 +673,7 @@
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_ENTITLEMENTS = FuSiLive/FuSiLive.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 202506260032;
CURRENT_PROJECT_VERSION = 202506260033;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 6GG26BHUMC;
ENABLE_ON_DEMAND_RESOURCES = NO;
......@@ -938,7 +938,7 @@
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_ENTITLEMENTS = FuSiLive/FuSiLive.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 202506260032;
CURRENT_PROJECT_VERSION = 202506260033;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 6GG26BHUMC;
ENABLE_ON_DEMAND_RESOURCES = NO;
......
......@@ -28,6 +28,46 @@ import RxSwift
let _ = ProcessInfo.processInfo.thermalState
// 注册监听热量状态变化的通知
NotificationCenter.default.addObserver(self, selector: #selector(handleThermalStateChange), name: ProcessInfo.thermalStateDidChangeNotification, object: nil)
// 每次退出登录的时候,都设置一遍列表仍为加载
FUSSwiftCacheDataShare.share.isLogin
.distinctUntilChanged()
.filter({ $0 == false })
.subscribe(onNext: {[weak self] _ in
self?.liveRoomsDataDidLoaded.accept(false)
self?.loginAlertViewIsComplete.accept(false)
self?.recommendLiveRoomHasShow = false
self?.launchCompleteRecommendLiveRoom.accept(0)
self?.launchCompleteWebShareLiveRoom.accept(0)
})
.disposed(by: disposeBag)
// 每一次房间列表加载完成状态的改变
Observable.combineLatest(self.liveRoomsDataDidLoaded, self.loginAlertViewIsComplete)
.subscribe(onNext: {[weak self] liveRoomsDataDidLoaded, loginAlertViewIsComplete in
guard let self = self else { return }
if liveRoomsDataDidLoaded == true &&
loginAlertViewIsComplete == true {
if self.recommendLiveRoomHasShow == true {
// 每次登录只整一次
return
}
self.recommendLiveRoomHasShow = true
// 当每一次房间列表从未加载变成加载完成的状态
if self.isManualLoginBehavior.value == true {
// 是手动登录的
// Mediator.HomeList?.ff_getSuccessRecommendResult()
}
else {
// 不是手动登录的,所以不会触发推荐房间,那么检查一下是否有分享房间的缓存
let _ = FUSHandleEventHelper.fus_checkAndEnterWebShareLiveRoom(isEnter: true)
}
}
})
.disposed(by: disposeBag)
}
......@@ -204,18 +244,29 @@ import RxSwift
// }
// // 这里控制着几个非常复杂的逻辑,要求的过程是在登录期间:1.首页信息加载完成+弹窗弹完了--->2.检查是否能进入推荐房间,并且进入。--->3.如果没有推荐进入房间,则立刻弹出7天签到,如果进入了推荐房间,则退出推荐房间再进行7天签到
// /// 直播间房间已经加载过
// public let liveRoomsDataDidLoaded: BehaviorRelay<Bool> = .init(value: false)
// /// 登录期间,弹窗已经弹完了
// public let loginAlertViewIsComplete: BehaviorRelay<Bool> = .init(value: false)
// /// 第一次启动的时候,完成了推荐分享房间的操作,0=初始化,1= 有推荐分享并进入,2=没有推荐分享并且完成了
// public let launchCompleteRecommendLiveRoom: BehaviorRelay<Int> = .init(value: 0)
// /// 第一次启动的时候,完成了网页分享房间的操作,0=初始化,1= 有网页分享并进入,2=没有网页分享并且完成了
// public let launchCompleteWebShareLiveRoom: BehaviorRelay<Int> = .init(value: 0)
//
// /// 是否通过账号/第三方登陆进来,是为true,如果是自动登录,也就是重新打开app进来的为false
// public let isManualLoginBehavior: BehaviorRelay<Bool> = .init(value: false)
// 这里控制着几个非常复杂的逻辑,要求的过程是在登录期间:1.首页信息加载完成+弹窗弹完了--->2.检查是否能进入推荐房间,并且进入。--->3.如果没有推荐进入房间,则立刻弹出7天签到,如果进入了推荐房间,则退出推荐房间再进行7天签到
/// 直播间房间已经加载过
public let liveRoomsDataDidLoaded: BehaviorRelay<Bool> = .init(value: false)
/// 登录期间,弹窗已经弹完了
public let loginAlertViewIsComplete: BehaviorRelay<Bool> = .init(value: false)
/// 第一次启动的时候,完成了推荐分享房间的操作,0=初始化,1= 有推荐分享并进入,2=没有推荐分享并且完成了
public let launchCompleteRecommendLiveRoom: BehaviorRelay<Int> = .init(value: 0)
@objc public var oc_launchCompleteRecommendLiveRoom: Int {
get { self.launchCompleteRecommendLiveRoom.value }
set { self.launchCompleteRecommendLiveRoom.accept(newValue) }
}
/// 第一次启动的时候,完成了网页分享房间的操作,0=初始化,1= 有网页分享并进入,2=没有网页分享并且完成了
public let launchCompleteWebShareLiveRoom: BehaviorRelay<Int> = .init(value: 0)
@objc public var oc_launchCompleteWebShareLiveRoom: Int {
get { self.launchCompleteWebShareLiveRoom.value }
set { self.launchCompleteWebShareLiveRoom.accept(newValue) }
}
/// 这一次登录是否已经检查过推荐房间了
private var recommendLiveRoomHasShow = false
/// 是否通过账号/第三方登陆进来,是为true,如果是自动登录,也就是重新打开app进来的为false
public let isManualLoginBehavior: BehaviorRelay<Bool> = .init(value: false)
/// 当前的推流 View
@objc public var currentPushView:FUSStreamPushView? {
......
......@@ -642,6 +642,14 @@
menuView.dismissHandler = dismissHandle;
}
- (void)fus_setLaunchCompleteRecommendLiveRoom:(NSInteger)tag {
[FUSSwiftLiveHelper shared].oc_launchCompleteRecommendLiveRoom = tag;
}
- (void)fus_setLaunchCompleteWebShareLiveRoom:(NSInteger)tag {
[FUSSwiftLiveHelper shared].oc_launchCompleteWebShareLiveRoom = tag;
}
#pragma mark - HTTP
/**
* 追踪包房
......
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