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
1f2cca19
Commit
1f2cca19
authored
Dec 31, 2024
by
Alex朱枝文
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预约相关
parent
1e8b1b01
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
91 additions
and
12 deletions
+91
-12
YHHomeBannerView.swift
.../galaxy/Classes/Modules/Home(首页)/V/YHHomeBannerView.swift
+36
-4
YHLiveAppointmentViewController.swift
...streamSales(直播销售)/C/YHLiveAppointmentViewController.swift
+53
-8
YHShareLiveInfoModel.swift
...odules/LivestreamSales(直播销售)/M/YHShareLiveInfoModel.swift
+2
-0
No files found.
galaxy/galaxy/Classes/Modules/Home(首页)/V/YHHomeBannerView.swift
View file @
1f2cca19
...
@@ -42,6 +42,8 @@ class YHHomeBannerView: UIView {
...
@@ -42,6 +42,8 @@ class YHHomeBannerView: UIView {
}
}
}
}
private
let
viewModel
=
YHLiveSalesViewModel
()
override
init
(
frame
:
CGRect
)
{
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
super
.
init
(
frame
:
frame
)
initView
()
initView
()
...
@@ -251,8 +253,23 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
...
@@ -251,8 +253,23 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
// YHPlayerManager.shared.leaveChannel(for: player)
// YHPlayerManager.shared.leaveChannel(for: player)
// player.clearPlayerView()
// player.clearPlayerView()
// }
// }
let
playbackInfo
=
YHPlayerManager
.
PlaybackInfo
(
id
:
model
.
live_id
,
url
:
nil
,
title
:
nil
,
roomId
:
nil
,
token
:
nil
,
channelId
:
nil
,
uid
:
nil
,
isLive
:
true
,
scene
:
.
fullscreen
)
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
YHPlayerManager
.
shared
.
enterLive
(
from
:
cell
?
.
bannerImagV
,
playbackInfo
:
playbackInfo
)
viewModel
.
getLiveStatus
(
liveId
:
model
.
live_id
)
{
liveInfo
,
error
in
YHHUD
.
hide
()
guard
let
liveInfo
=
liveInfo
else
{
let
ctl
=
YHLiveAppointmentViewController
(
liveId
:
model
.
live_id
)
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
ctl
)
return
}
if
liveInfo
.
status
==
2
{
let
ctl
=
YHLiveAppointmentViewController
(
liveId
:
model
.
live_id
)
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
ctl
)
}
else
{
let
playbackInfo
=
YHPlayerManager
.
PlaybackInfo
(
id
:
model
.
live_id
,
url
:
nil
,
title
:
nil
,
roomId
:
nil
,
token
:
nil
,
channelId
:
nil
,
uid
:
nil
,
isLive
:
true
,
scene
:
.
fullscreen
)
YHPlayerManager
.
shared
.
enterLive
(
from
:
cell
?
.
bannerImagV
,
playbackInfo
:
playbackInfo
)
}
}
printLog
(
"跳转直播"
)
printLog
(
"跳转直播"
)
case
101
:
//录播
case
101
:
//录播
printLog
(
"跳转录播"
)
printLog
(
"跳转录播"
)
...
@@ -276,8 +293,23 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
...
@@ -276,8 +293,23 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
// player.clearPlayerView()
// player.clearPlayerView()
// }
// }
let
cell
:
YHHomeBannerCollectionViewCell
?
=
pagerView
.
cellForItem
(
at
:
index
)
as?
YHHomeBannerCollectionViewCell
let
cell
:
YHHomeBannerCollectionViewCell
?
=
pagerView
.
cellForItem
(
at
:
index
)
as?
YHHomeBannerCollectionViewCell
let
playbackInfo
=
YHPlayerManager
.
PlaybackInfo
(
id
:
model
.
live_id
,
url
:
nil
,
title
:
nil
,
roomId
:
nil
,
token
:
nil
,
channelId
:
nil
,
uid
:
nil
,
isLive
:
true
,
scene
:
.
fullscreen
)
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
YHPlayerManager
.
shared
.
enterLive
(
from
:
cell
?
.
bannerImagV
,
playbackInfo
:
playbackInfo
)
viewModel
.
getLiveStatus
(
liveId
:
model
.
live_id
)
{
liveInfo
,
error
in
YHHUD
.
hide
()
guard
let
liveInfo
=
liveInfo
else
{
let
ctl
=
YHLiveAppointmentViewController
(
liveId
:
model
.
live_id
)
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
ctl
)
return
}
if
liveInfo
.
status
==
2
{
let
ctl
=
YHLiveAppointmentViewController
(
liveId
:
model
.
live_id
)
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
ctl
)
}
else
{
let
playbackInfo
=
YHPlayerManager
.
PlaybackInfo
(
id
:
model
.
live_id
,
url
:
nil
,
title
:
nil
,
roomId
:
nil
,
token
:
nil
,
channelId
:
nil
,
uid
:
nil
,
isLive
:
true
,
scene
:
.
fullscreen
)
YHPlayerManager
.
shared
.
enterLive
(
from
:
cell
?
.
bannerImagV
,
playbackInfo
:
playbackInfo
)
}
}
case
0
:
//0 不需要跳转
case
0
:
//0 不需要跳转
printLog
(
"0 不需要跳转"
)
printLog
(
"0 不需要跳转"
)
default
:
default
:
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/C/YHLiveAppointmentViewController.swift
View file @
1f2cca19
...
@@ -10,6 +10,7 @@ import UIKit
...
@@ -10,6 +10,7 @@ import UIKit
class
YHLiveAppointmentViewController
:
YHBaseViewController
{
class
YHLiveAppointmentViewController
:
YHBaseViewController
{
private
let
viewModel
=
YHLiveSalesViewModel
()
private
let
viewModel
=
YHLiveSalesViewModel
()
private
var
liveInfo
:
YHShareLiveInfoModel
?
private
lazy
var
topImageView
:
UIImageView
=
{
private
lazy
var
topImageView
:
UIImageView
=
{
let
view
=
UIImageView
()
let
view
=
UIImageView
()
...
@@ -110,6 +111,10 @@ class YHLiveAppointmentViewController: YHBaseViewController {
...
@@ -110,6 +111,10 @@ class YHLiveAppointmentViewController: YHBaseViewController {
gk_navTitle
=
"直播预约"
gk_navTitle
=
"直播预约"
gk_navBarAlpha
=
1.0
gk_navBarAlpha
=
1.0
gk_navBackgroundColor
=
.
white
gk_navBackgroundColor
=
.
white
let
rightButtonItem
=
UIBarButtonItem
(
image
:
UIImage
(
named
:
"share_item"
)?
.
withRenderingMode
(
.
alwaysOriginal
),
style
:
.
plain
,
target
:
self
,
action
:
#selector(
share
)
)
gk_navRightBarButtonItem
=
rightButtonItem
gk_navItemRightSpace
=
16
view
.
backgroundColor
=
UIColor
.
contentBkgColor
view
.
backgroundColor
=
UIColor
.
contentBkgColor
view
.
addSubview
(
topImageView
)
view
.
addSubview
(
topImageView
)
view
.
addSubview
(
centerContainerView
)
view
.
addSubview
(
centerContainerView
)
...
@@ -210,20 +215,32 @@ class YHLiveAppointmentViewController: YHBaseViewController {
...
@@ -210,20 +215,32 @@ class YHLiveAppointmentViewController: YHBaseViewController {
}
}
}
}
var
timeStr
=
"直播时间:"
+
liveInfo
.
start_time
var
timeStr
=
"直播时间:"
+
liveInfo
.
start_time
if
!
liveInfo
.
end_time
.
isEmpty
{
if
!
liveInfo
.
end_time
.
isEmpty
,
!
liveInfo
.
start_time
.
isEmpty
{
timeStr
+=
"~"
+
liveInfo
.
end_time
let
endTime
=
isSameDayAndGetShortEndTime
(
date1String
:
liveInfo
.
start_time
,
date2String
:
liveInfo
.
end_time
)
timeStr
+=
"~"
+
endTime
}
}
infoTimeLabel
.
text
=
timeStr
infoTimeLabel
.
text
=
timeStr
updateAppointmentButton
(
!
liveInfo
.
is_schedule_live
)
updateAppointmentButton
(
!
liveInfo
.
is_schedule_live
)
}
}
private
func
isSameDay
(
date1
:
Date
,
date2
:
Date
)
->
Bool
{
private
func
isSameDayAndGetShortEndTime
(
date1String
:
String
,
date2String
:
String
)
->
String
{
let
dateFormatter
=
DateFormatter
()
dateFormatter
.
dateFormat
=
"MM月dd日HH:mm"
let
date1
=
dateFormatter
.
date
(
from
:
date1String
)
let
date2
=
dateFormatter
.
date
(
from
:
date2String
)
guard
let
date1
=
date1
,
let
date2
=
date2
else
{
return
date2String
}
let
calendar
=
Calendar
.
current
let
calendar
=
Calendar
.
current
let
components1
=
calendar
.
dateComponents
([
.
year
,
.
month
,
.
day
],
from
:
date1
)
let
components1
=
calendar
.
dateComponents
([
.
month
,
.
day
,
.
hour
,
.
minute
],
from
:
date1
)
let
components2
=
calendar
.
dateComponents
([
.
year
,
.
month
,
.
day
],
from
:
date2
)
let
components2
=
calendar
.
dateComponents
([
.
month
,
.
day
,
.
hour
,
.
minute
],
from
:
date2
)
return
components1
.
year
==
components2
.
year
&&
if
components1
.
month
==
components2
.
month
&&
components1
.
month
==
components2
.
month
&&
components1
.
day
==
components2
.
day
{
components1
.
day
==
components2
.
day
let
hour
=
components2
.
hour
??
0
let
minute
=
components2
.
minute
??
0
return
String
(
format
:
"%02d:%02d"
,
hour
,
minute
)
}
return
date2String
}
}
private
func
updateAppointmentButton
(
_
isEnable
:
Bool
)
{
private
func
updateAppointmentButton
(
_
isEnable
:
Bool
)
{
...
@@ -231,6 +248,33 @@ class YHLiveAppointmentViewController: YHBaseViewController {
...
@@ -231,6 +248,33 @@ class YHLiveAppointmentViewController: YHBaseViewController {
appointmentButton
.
backgroundColor
=
isEnable
?
.
brandMainColor
:
UIColor
(
hexString
:
"#B3C8E9"
)
appointmentButton
.
backgroundColor
=
isEnable
?
.
brandMainColor
:
UIColor
(
hexString
:
"#B3C8E9"
)
appointmentButton
.
setTitle
(
isEnable
?
"立即预约"
:
"已预约"
,
for
:
.
normal
)
appointmentButton
.
setTitle
(
isEnable
?
"立即预约"
:
"已预约"
,
for
:
.
normal
)
}
}
@objc
private
func
share
()
{
guard
let
liveInfo
=
liveInfo
else
{
return
}
DispatchQueue
.
global
()
.
async
{
YHShareManager
.
shared
.
createMutilShareShortUrl
(
type
:
1
,
param
:
[
"LiveID"
:
String
(
self
.
liveId
)])
{
shortUrl
,
error
in
if
let
url
=
shortUrl
{
let
tmpT
=
url
.
base64Encoded
??
""
//对deepLink使用 base64编码
var
oldUrl
=
liveInfo
.
live_h5_url
if
oldUrl
.
contains
(
"?"
)
{
oldUrl
=
oldUrl
+
"&appDeepLink=
\(
tmpT
)
"
}
else
{
oldUrl
=
oldUrl
+
"?appDeepLink=
\(
tmpT
)
"
}
DispatchQueue
.
main
.
async
{
YHShareAlertView
.
show
(
image
:
liveInfo
.
image
,
title
:
"@"
+
liveInfo
.
account
,
subMessage
:
liveInfo
.
title
,
linkUrl
:
oldUrl
,
isLive
:
true
,
fromAiSale
:
true
)
}
return
}
DispatchQueue
.
main
.
async
{
YHShareAlertView
.
show
(
image
:
liveInfo
.
image
,
title
:
"@"
+
liveInfo
.
account
,
subMessage
:
liveInfo
.
title
,
linkUrl
:
liveInfo
.
live_h5_url
,
isLive
:
true
,
fromAiSale
:
true
)
}
}
}
}
@objc
private
func
clickAppointmentButton
()
{
@objc
private
func
clickAppointmentButton
()
{
bookLive
()
bookLive
()
...
@@ -249,6 +293,7 @@ class YHLiveAppointmentViewController: YHBaseViewController {
...
@@ -249,6 +293,7 @@ class YHLiveAppointmentViewController: YHBaseViewController {
}
}
return
return
}
}
self
.
liveInfo
=
liveInfo
self
.
updateViews
(
liveInfo
)
self
.
updateViews
(
liveInfo
)
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/M/YHShareLiveInfoModel.swift
View file @
1f2cca19
...
@@ -29,6 +29,8 @@ class YHShareLiveInfoModel: SmartCodable {
...
@@ -29,6 +29,8 @@ class YHShareLiveInfoModel: SmartCodable {
var
token
:
String
=
""
var
token
:
String
=
""
var
user_id
:
Int
=
0
var
user_id
:
Int
=
0
var
watch
:
String
=
""
var
watch
:
String
=
""
// h5直播地址
var
live_h5_url
:
String
=
""
required
init
()
{
required
init
()
{
}
}
...
...
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