Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
pidan
/
FuSiLive
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
4ca2107a
authored
Mar 09, 2026
by
ludi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
保存一下
parent
96e4a8c5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
177 additions
and
41 deletions
DevelopmentPods/FUSCommon/FUSCommon/Classes/Common/Other/FUSHandleEventHelper.swift
DevelopmentPods/FUSCommon/FUSCommon/Classes/Foundation/DataShare/FUSSwiftCacheDataShare.swift
DevelopmentPods/FUSCommon/FUSCommon/FUSRouter/Routers/LiveRouter/FUSLiveRouterProtocol.h
FuSiLive.xcodeproj/project.pbxproj
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Other/FUSSwiftLiveHelper.swift
Modules/FUSShowRoomModule/FUSShowRoomModule/Router/FUSShowRoomRouter.m
DevelopmentPods/FUSCommon/FUSCommon/Classes/Common/Other/FUSHandleEventHelper.swift
View file @
4ca2107a
This diff is collapsed.
Click to expand it.
DevelopmentPods/FUSCommon/FUSCommon/Classes/Foundation/DataShare/FUSSwiftCacheDataShare.swift
View file @
4ca2107a
...
...
@@ -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
()
...
...
DevelopmentPods/FUSCommon/FUSCommon/FUSRouter/Routers/LiveRouter/FUSLiveRouterProtocol.h
View file @
4ca2107a
...
...
@@ -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
/**
* 追踪包房
...
...
FuSiLive.xcodeproj/project.pbxproj
View file @
4ca2107a
...
...
@@ -673,7 +673,7 @@
CLANG_CXX_LANGUAGE_STANDARD
=
"gnu++17"
;
CODE_SIGN_ENTITLEMENTS
=
FuSiLive/FuSiLive.entitlements
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
20250626003
2
;
CURRENT_PROJECT_VERSION
=
20250626003
3
;
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
=
20250626003
2
;
CURRENT_PROJECT_VERSION
=
20250626003
3
;
DEFINES_MODULE
=
YES
;
DEVELOPMENT_TEAM
=
6GG26BHUMC
;
ENABLE_ON_DEMAND_RESOURCES
=
NO
;
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Other/FUSSwiftLiveHelper.swift
View file @
4ca2107a
...
...
@@ -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
?
{
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Router/FUSShowRoomRouter.m
View file @
4ca2107a
...
...
@@ -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
/**
* 追踪包房
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment