Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
933db8ea
Commit
933db8ea
authored
Dec 09, 2024
by
Alex朱枝文
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页banner和小窗逻辑调整
parent
c9c486f7
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
79 additions
and
14 deletions
+79
-14
YHHomePageViewController.swift
...Classes/Modules/Home(首页)/C/YHHomePageViewController.swift
+16
-9
YHHomePageViewModel.swift
...axy/Classes/Modules/Home(首页)/VM/YHHomePageViewModel.swift
+21
-0
YHH5WebViewVC.swift
.../Classes/Modules/InteractionH5(与H5交互)/YHH5WebViewVC.swift
+3
-0
YHBasePlayerViewController.swift
.../LivestreamSales(直播销售)/C/YHBasePlayerViewController.swift
+2
-0
YHLivePlayerViewController.swift
.../LivestreamSales(直播销售)/C/YHLivePlayerViewController.swift
+4
-2
YHPlayerManager.swift
...ses/Modules/LivestreamSales(直播销售)/C/YHPlayerManager.swift
+0
-0
YHVODPlayerViewController.swift
...s/LivestreamSales(直播销售)/C/YHVODPlayerViewController.swift
+1
-1
YHFloatingWindow.swift
...es/Modules/LivestreamSales(直播销售)/V/YHFloatingWindow.swift
+21
-0
YHShareAlertView.swift
...es/Modules/LivestreamSales(直播销售)/V/YHShareAlertView.swift
+8
-2
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+3
-0
No files found.
galaxy/galaxy/Classes/Modules/Home(首页)/C/YHHomePageViewController.swift
View file @
933db8ea
...
@@ -33,10 +33,6 @@ class YHHomePageViewController: YHBaseViewController {
...
@@ -33,10 +33,6 @@ class YHHomePageViewController: YHBaseViewController {
var
configModel
:
YHHomeInfoModel
?
{
var
configModel
:
YHHomeInfoModel
?
{
didSet
{
didSet
{
homeHeaderView
.
kingModel
=
configModel
?
.
king_kong_list
??
[]
homeHeaderView
.
kingModel
=
configModel
?
.
king_kong_list
??
[]
if
let
live_info
=
configModel
?
.
live_info
{
setupLiveFloating
(
liveInfo
:
live_info
)
}
}
}
}
}
...
@@ -74,11 +70,13 @@ class YHHomePageViewController: YHBaseViewController {
...
@@ -74,11 +70,13 @@ class YHHomePageViewController: YHBaseViewController {
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
super
.
viewWillDisappear
(
animated
)
super
.
viewWillDisappear
(
animated
)
isTopMostAndVisible
=
false
isTopMostAndVisible
=
false
YHPlayerManager
.
shared
.
handlePageChanged
(
isRecommendPage
:
false
)
}
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
super
.
viewWillAppear
(
animated
)
isTopMostAndVisible
=
true
isTopMostAndVisible
=
true
YHPlayerManager
.
shared
.
handlePageChanged
(
isRecommendPage
:
true
)
}
}
override
func
viewDidAppear
(
_
animated
:
Bool
)
{
override
func
viewDidAppear
(
_
animated
:
Bool
)
{
...
@@ -119,14 +117,14 @@ class YHHomePageViewController: YHBaseViewController {
...
@@ -119,14 +117,14 @@ class YHHomePageViewController: YHBaseViewController {
private
extension
YHHomePageViewController
{
private
extension
YHHomePageViewController
{
private
func
setupLiveFloating
(
liveInfo
:
YHHomeLiveInfoModel
)
{
private
func
setupLiveFloating
(
liveInfo
:
YHHomeLiveInfoModel
)
{
printLog
(
"#####setupLiveFloating(liveInfo: YHHomeLiveInfoModel) "
)
printLog
(
"#####setupLiveFloating(liveInfo: YHHomeLiveInfoModel) "
)
guard
!
didShowFloating
else
{
guard
YHPlayerManager
.
shared
.
isConfigFloating
!=
false
else
{
return
return
}
}
if
liveInfo
.
status
==
1
{
if
liveInfo
.
status
==
1
{
didShowFloating
=
true
let
playbackInfo
=
YHPlayerManager
.
PlaybackInfo
(
id
:
liveInfo
.
id
,
token
:
liveInfo
.
token
,
channelId
:
liveInfo
.
rtmp_channel
,
uid
:
UInt
(
liveInfo
.
id
),
isLive
:
true
,
scene
:
.
floating
,
playerType
:
.
main
)
let
playbackInfo
=
YHPlayerManager
.
PlaybackInfo
(
id
:
liveInfo
.
id
,
token
:
liveInfo
.
token
,
channelId
:
liveInfo
.
rtmp_channel
,
uid
:
UInt
(
liveInfo
.
id
),
isLive
:
true
,
scene
:
.
floating
,
playerType
:
.
main
)
YHPlayerManager
.
shared
.
enterFloating
(
from
:
nil
,
playbackInfo
:
playbackInfo
)
YHPlayerManager
.
shared
.
enterFloating
(
from
:
nil
,
playbackInfo
:
playbackInfo
,
isConfigured
:
true
)
}
else
{
YHPlayerManager
.
shared
.
exitFloating
()
}
}
}
}
...
@@ -415,9 +413,18 @@ extension YHHomePageViewController {
...
@@ -415,9 +413,18 @@ extension YHHomePageViewController {
func
getData
()
{
func
getData
()
{
loadFirstData
()
loadFirstData
()
getHomeBannerData
()
getHomeBannerData
()
viewModel
.
getHomeFloatingLive
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
{
if
let
liveInfo
=
self
.
viewModel
.
liveInfo
{
setupLiveFloating
(
liveInfo
:
liveInfo
)
}
}
}
}
}
// 请求订单数据
// 请求订单数据
func
requestOrder
()
{
func
requestOrder
()
{
if
YHLoginManager
.
shared
.
isLogin
()
==
false
{
if
YHLoginManager
.
shared
.
isLogin
()
==
false
{
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/VM/YHHomePageViewModel.swift
View file @
933db8ea
...
@@ -20,6 +20,7 @@ class YHHomePageViewModel : YHBaseViewModel {
...
@@ -20,6 +20,7 @@ class YHHomePageViewModel : YHBaseViewModel {
var
categoryArr
:[
YHHomeLifeCategoryModel
?]
=
[]
var
categoryArr
:[
YHHomeLifeCategoryModel
?]
=
[]
var
detailModel
:
YHHomeLifeCategoryDetailModel
=
YHHomeLifeCategoryDetailModel
()
var
detailModel
:
YHHomeLifeCategoryDetailModel
=
YHHomeLifeCategoryDetailModel
()
var
liveArr
:
[
YHLiveModel
]
=
[]
var
liveArr
:
[
YHLiveModel
]
=
[]
var
liveInfo
:
YHHomeLiveInfoModel
?
//首页相关参数
//首页相关参数
private
var
curPageIndex
:
Int
=
1
private
var
curPageIndex
:
Int
=
1
private
var
page_Size
:
Int
=
50
private
var
page_Size
:
Int
=
50
...
@@ -574,4 +575,24 @@ extension YHHomePageViewModel {
...
@@ -574,4 +575,24 @@ extension YHHomePageViewModel {
callBackBlock
(
false
,
err
)
callBackBlock
(
false
,
err
)
}
}
}
}
//获取首页浮动小窗
func
getHomeFloatingLive
(
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Home
.
homeFloatingLive
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
resultModel
=
YHHomeLiveInfoModel
.
deserialize
(
from
:
dic
)
else
{
callBackBlock
(
false
,
nil
)
return
}
self
.
liveInfo
=
resultModel
callBackBlock
(
true
,
nil
)
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
}
galaxy/galaxy/Classes/Modules/InteractionH5(与H5交互)/YHH5WebViewVC.swift
View file @
933db8ea
...
@@ -35,6 +35,9 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
...
@@ -35,6 +35,9 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
webview
.
scrollView
.
contentInsetAdjustmentBehavior
=
.
never
webview
.
scrollView
.
contentInsetAdjustmentBehavior
=
.
never
webview
.
navigationDelegate
=
self
webview
.
navigationDelegate
=
self
webview
.
scrollView
.
delegate
=
self
webview
.
scrollView
.
delegate
=
self
// config.allowsInlineMediaPlayback = true
// /// 开启让自动播放
// config.mediaTypesRequiringUserActionForPlayback = []
webview
.
setDebugMode
(
false
)
webview
.
setDebugMode
(
false
)
return
webview
return
webview
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/C/YHBasePlayerViewController.swift
View file @
933db8ea
...
@@ -54,6 +54,7 @@ class YHBasePlayerViewController: YHBaseViewController {
...
@@ -54,6 +54,7 @@ class YHBasePlayerViewController: YHBaseViewController {
gk_navBarAlpha
=
0
gk_navBarAlpha
=
0
gk_navigationBar
.
isHidden
=
true
gk_navigationBar
.
isHidden
=
true
view
.
backgroundColor
=
.
black
view
.
backgroundColor
=
.
black
UIApplication
.
shared
.
isIdleTimerDisabled
=
true
}
}
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
...
@@ -63,6 +64,7 @@ class YHBasePlayerViewController: YHBaseViewController {
...
@@ -63,6 +64,7 @@ class YHBasePlayerViewController: YHBaseViewController {
view
.
backgroundColor
=
.
black
view
.
backgroundColor
=
.
black
controlsAutoHideTimer
?
.
invalidate
()
controlsAutoHideTimer
?
.
invalidate
()
controlsAutoHideTimer
=
nil
controlsAutoHideTimer
=
nil
UIApplication
.
shared
.
isIdleTimerDisabled
=
false
}
}
deinit
{
deinit
{
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/C/YHLivePlayerViewController.swift
View file @
933db8ea
...
@@ -54,6 +54,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
...
@@ -54,6 +54,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
}
}
vc
.
closeEvent
=
{
[
weak
self
]
in
vc
.
closeEvent
=
{
[
weak
self
]
in
self
?
.
leaveLiveRoom
()
self
?
.
closeLive
()
self
?
.
closeLive
()
}
}
...
@@ -135,6 +136,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
...
@@ -135,6 +136,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
}
}
topBarView
.
zoomButtonClickEvent
=
{
[
weak
self
]
in
topBarView
.
zoomButtonClickEvent
=
{
[
weak
self
]
in
self
?
.
leaveLiveRoom
()
self
?
.
enterFloating
()
self
?
.
enterFloating
()
}
}
...
@@ -206,7 +208,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
...
@@ -206,7 +208,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
messageListView
.
anchorName
=
liveDetail
.
hxNickname
messageListView
.
anchorName
=
liveDetail
.
hxNickname
if
needJoinLiveChannel
{
if
needJoinLiveChannel
{
if
!
liveDetail
.
rtmp_channel
.
isEmpty
,
!
liveDetail
.
token
.
isEmpty
,
let
uid
=
playbackInfo
?
.
uid
,
let
player
=
player
{
if
!
liveDetail
.
rtmp_channel
.
isEmpty
,
!
liveDetail
.
token
.
isEmpty
,
let
uid
=
playbackInfo
?
.
uid
,
let
player
=
player
{
YHPlayerManager
.
shared
.
joinChannel
(
for
:
player
,
token
:
liveDetail
.
token
,
channelId
:
liveDetail
.
rtmp_channel
,
uid
:
uid
,
view
:
playerView
)
YHPlayerManager
.
shared
.
joinChannel
(
for
:
player
,
token
:
liveDetail
.
token
,
channelId
:
liveDetail
.
rtmp_channel
,
uid
:
uid
,
view
:
playerView
,
defaultMuted
:
false
)
}
else
if
currentPlayingURL
==
nil
,
!
liveDetail
.
pullUrl
.
isEmpty
{
}
else
if
currentPlayingURL
==
nil
,
!
liveDetail
.
pullUrl
.
isEmpty
{
play
(
url
:
liveDetail
.
pullUrl
)
// 如果没有预设URL,使用接口返回的URL播放
play
(
url
:
liveDetail
.
pullUrl
)
// 如果没有预设URL,使用接口返回的URL播放
}
}
...
@@ -338,7 +340,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
...
@@ -338,7 +340,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
guard
let
liveModel
=
viewModel
.
liveDetailModel
else
{
guard
let
liveModel
=
viewModel
.
liveDetailModel
else
{
return
return
}
}
YHShareAlertView
.
show
(
image
:
liveModel
.
live_image
,
title
:
"@"
+
liveModel
.
account
,
subMessage
:
liveModel
.
live_title
,
linkUrl
:
liveModel
.
live_h5_url
,
isLive
:
true
)
YHShareAlertView
.
show
(
image
:
liveModel
.
live_image
,
title
:
"@"
+
liveModel
.
account
,
subMessage
:
liveModel
.
live_title
,
linkUrl
:
liveModel
.
live_h5_url
,
isLive
:
true
,
fromAiSale
:
true
)
}
}
private
func
showGoods
()
{
private
func
showGoods
()
{
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/C/YHPlayerManager.swift
View file @
933db8ea
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/C/YHVODPlayerViewController.swift
View file @
933db8ea
...
@@ -110,7 +110,7 @@ class YHVODPlayerViewController: YHBasePlayerViewController {
...
@@ -110,7 +110,7 @@ class YHVODPlayerViewController: YHBasePlayerViewController {
guard
let
recordedDetailModel
=
viewModel
.
recordedDetailModel
else
{
guard
let
recordedDetailModel
=
viewModel
.
recordedDetailModel
else
{
return
return
}
}
YHShareAlertView
.
show
(
image
:
recordedDetailModel
.
recorded_image
,
title
:
"@"
+
recordedDetailModel
.
account
,
subMessage
:
recordedDetailModel
.
recorded_title
,
linkUrl
:
recordedDetailModel
.
recorded_h5_url
,
isLive
:
false
)
YHShareAlertView
.
show
(
image
:
recordedDetailModel
.
recorded_image
,
title
:
"@"
+
recordedDetailModel
.
account
,
subMessage
:
recordedDetailModel
.
recorded_title
,
linkUrl
:
recordedDetailModel
.
recorded_h5_url
,
isLive
:
false
,
fromAiSale
:
true
)
}
}
// MARK: - Data Loading
// MARK: - Data Loading
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/V/YHFloatingWindow.swift
View file @
933db8ea
...
@@ -20,8 +20,15 @@ protocol YHFloatingWindowDelegate: AnyObject {
...
@@ -20,8 +20,15 @@ protocol YHFloatingWindowDelegate: AnyObject {
class
YHFloatingWindow
:
NSObject
{
class
YHFloatingWindow
:
NSObject
{
// MARK: - Properties
// MARK: - Properties
enum
Source
{
case
configured
// 配置产生的小窗(只在推荐页显示)
case
userAction
// 用户操作产生的小窗(全局显示)
}
weak
var
player
:
YHPlayer
?
weak
var
player
:
YHPlayer
?
var
source
:
Source
=
.
userAction
weak
var
delegate
:
YHFloatingWindowDelegate
?
weak
var
delegate
:
YHFloatingWindowDelegate
?
var
playbackInfo
:
YHPlayerManager
.
PlaybackInfo
?
var
playbackInfo
:
YHPlayerManager
.
PlaybackInfo
?
...
@@ -62,6 +69,20 @@ class YHFloatingWindow: NSObject {
...
@@ -62,6 +69,20 @@ class YHFloatingWindow: NSObject {
private
var
currentScale
:
CGFloat
=
1.0
private
var
currentScale
:
CGFloat
=
1.0
private
var
initialDistance
:
CGFloat
=
0
private
var
initialDistance
:
CGFloat
=
0
private
let
scaleMultiplier
:
CGFloat
=
1.5
private
let
scaleMultiplier
:
CGFloat
=
1.5
var
isHidden
:
Bool
=
false
{
didSet
{
if
isHidden
{
player
?
.
isMuted
=
true
}
else
{
if
source
==
.
configured
{
player
?
.
isMuted
=
true
}
else
{
player
?
.
isMuted
=
false
}
}
}
}
// UI组件
// UI组件
private
lazy
var
closeButton
:
UIButton
=
{
private
lazy
var
closeButton
:
UIButton
=
{
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/V/YHShareAlertView.swift
View file @
933db8ea
...
@@ -11,6 +11,7 @@ import AttributedString
...
@@ -11,6 +11,7 @@ import AttributedString
import
Photos
import
Photos
class
YHShareAlertView
:
UIView
{
class
YHShareAlertView
:
UIView
{
var
fromAiSale
:
Bool
=
false
var
centerView
:
UIView
!
var
centerView
:
UIView
!
var
leftButton
:
YHShareButton
!
var
leftButton
:
YHShareButton
!
var
centerButton
:
YHShareButton
!
var
centerButton
:
YHShareButton
!
...
@@ -266,13 +267,14 @@ class YHShareAlertView: UIView {
...
@@ -266,13 +267,14 @@ class YHShareAlertView: UIView {
dismiss
()
dismiss
()
}
}
static
func
show
(
image
:
String
=
""
,
title
:
String
=
""
,
subMessage
:
String
=
""
,
linkUrl
:
String
=
""
,
isLive
:
Bool
=
false
)
{
static
func
show
(
image
:
String
=
""
,
title
:
String
=
""
,
subMessage
:
String
=
""
,
linkUrl
:
String
=
""
,
isLive
:
Bool
=
false
,
fromAiSale
:
Bool
=
false
)
{
let
view
=
YHShareAlertView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
KScreenHeight
))
let
view
=
YHShareAlertView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
KScreenHeight
))
view
.
image
=
image
view
.
image
=
image
view
.
title
=
title
view
.
title
=
title
view
.
subMessage
=
subMessage
view
.
subMessage
=
subMessage
view
.
linkUrl
=
linkUrl
view
.
linkUrl
=
linkUrl
view
.
isLive
=
isLive
view
.
isLive
=
isLive
view
.
fromAiSale
=
fromAiSale
let
window
=
UIApplication
.
shared
.
yhKeyWindow
()
let
window
=
UIApplication
.
shared
.
yhKeyWindow
()
window
?
.
addSubview
(
view
)
window
?
.
addSubview
(
view
)
}
}
...
@@ -293,7 +295,11 @@ class YHShareAlertView: UIView {
...
@@ -293,7 +295,11 @@ class YHShareAlertView: UIView {
}
}
@objc
func
wxClick
()
{
@objc
func
wxClick
()
{
YHShareManager
.
shared
.
sendLinkContent
(
title
,
subMessage
,
mainImageView
.
image
??
UIImage
(),
link
:
linkUrl
)
if
fromAiSale
{
YHShareManager
.
shared
.
sendLinkContent
(
subMessage
,
""
,
mainImageView
.
image
??
UIImage
(),
link
:
linkUrl
)
}
else
{
YHShareManager
.
shared
.
sendLinkContent
(
title
,
subMessage
,
mainImageView
.
image
??
UIImage
(),
link
:
linkUrl
)
}
}
}
func
saveImageToPhotosAlbum
(
image
:
UIImage
)
{
func
saveImageToPhotosAlbum
(
image
:
UIImage
)
{
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
933db8ea
...
@@ -84,6 +84,9 @@ class YHAllApiName {
...
@@ -84,6 +84,9 @@ class YHAllApiName {
//获取签约用户信息
//获取签约用户信息
static
let
signerInfoApi
=
"super-app/infoflow/signer/info"
static
let
signerInfoApi
=
"super-app/infoflow/signer/info"
// 获取首页小窗
static
let
homeFloatingLive
=
"super-app/live/app-live-latest"
}
}
//接口 模块名 Common
//接口 模块名 Common
...
...
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