Commit 16ee2389 authored by Alex朱枝文's avatar Alex朱枝文

直播相关调整

parent 304aa007
...@@ -407,7 +407,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController { ...@@ -407,7 +407,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
if let error = error, retryCount <= self.maxRetryCount { if let error = error, retryCount <= self.maxRetryCount {
printLog("joinChatRoom: \(error)") printLog("joinChatRoom: \(error)")
DispatchQueue.main.asyncAfter(deadline: .now() + TimeInterval(5 * retryCount)) { DispatchQueue.main.asyncAfter(deadline: .now() + TimeInterval(5 * retryCount)) {
YHIMHelper.shared.registerAndLoginCurrentUser { _ in YHIMHelper.shared.newRegisterAndLoginCurrentUser { _ in
joinRoom(retryCount: retryCount + 1) joinRoom(retryCount: retryCount + 1)
} }
} }
...@@ -418,7 +418,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController { ...@@ -418,7 +418,7 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
} }
if !YHIMHelper.shared.isCurrentUserLogin { if !YHIMHelper.shared.isCurrentUserLogin {
YHIMHelper.shared.registerAndLoginCurrentUser { _ in YHIMHelper.shared.newRegisterAndLoginCurrentUser { _ in
joinRoom(retryCount: 0) joinRoom(retryCount: 0)
} }
} else { } else {
......
...@@ -250,17 +250,32 @@ class YHLiveStateViewController: YHBaseViewController { ...@@ -250,17 +250,32 @@ class YHLiveStateViewController: YHBaseViewController {
messageLabel.text = "预计\(liveDetail.start_time)开始~" messageLabel.text = "预计\(liveDetail.start_time)开始~"
getCodeButton.isHidden = true getCodeButton.isHidden = true
bottomView.isHidden = true bottomView.isHidden = true
logImageView.snp.remakeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(240)
make.width.height.equalTo(78)
}
case .stop: case .stop:
loginSubTitleLabel.text = "主播离开了" loginSubTitleLabel.text = "主播离开了"
messageLabel.text = "主播暂时离开,请稍等片刻~" messageLabel.text = "主播暂时离开,请稍等片刻~"
getCodeButton.isHidden = true getCodeButton.isHidden = true
bottomView.isHidden = true bottomView.isHidden = true
logImageView.snp.remakeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(240)
make.width.height.equalTo(78)
}
case .end: case .end:
loginSubTitleLabel.text = "直播已结束" loginSubTitleLabel.text = "直播已结束"
messageLabel.text = "直播已结束,去首页逛逛吧~" messageLabel.text = "直播已结束,去首页逛逛吧~"
getCodeButton.isHidden = false getCodeButton.isHidden = false
getRecommendLiveList() getRecommendLiveList()
case .onLive, .unknown: case .onLive, .unknown:
logImageView.snp.remakeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(240)
make.width.height.equalTo(78)
}
break break
} }
} }
...@@ -280,11 +295,21 @@ class YHLiveStateViewController: YHBaseViewController { ...@@ -280,11 +295,21 @@ class YHLiveStateViewController: YHBaseViewController {
bottomView.isHidden = true bottomView.isHidden = true
messageLabel.isHidden = false messageLabel.isHidden = false
getCodeButton.isHidden = false getCodeButton.isHidden = false
logImageView.snp.remakeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(240)
make.width.height.equalTo(78)
}
return return
} }
bottomView.isHidden = false bottomView.isHidden = false
messageLabel.isHidden = true messageLabel.isHidden = true
getCodeButton.isHidden = true getCodeButton.isHidden = true
logImageView.snp.remakeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(140)
make.width.height.equalTo(78)
}
bottomView.subviews.forEach { view in bottomView.subviews.forEach { view in
if view != self.recommendHeader { if view != self.recommendHeader {
view.removeFromSuperview() view.removeFromSuperview()
......
...@@ -46,7 +46,8 @@ class YHIMHelper: NSObject { ...@@ -46,7 +46,8 @@ class YHIMHelper: NSObject {
} }
var currentNickname: String { var currentNickname: String {
return viewModel.huanXinUserInfoModel?.nickname ?? "" return viewModel.huanXinTokenModel?.nickname ?? ""
//return viewModel.huanXinUserInfoModel?.nickname ?? ""
} }
static let shared: YHIMHelper = { static let shared: YHIMHelper = {
...@@ -62,7 +63,7 @@ class YHIMHelper: NSObject { ...@@ -62,7 +63,7 @@ class YHIMHelper: NSObject {
super.init() super.init()
initHelper() initHelper()
setupNotification() setupNotification()
registerAndLoginCurrentUser { success in newRegisterAndLoginCurrentUser { success in
printLog("registerAndLoginCurrentUser: \(success)") printLog("registerAndLoginCurrentUser: \(success)")
} }
} }
...@@ -87,6 +88,7 @@ class YHIMHelper: NSObject { ...@@ -87,6 +88,7 @@ class YHIMHelper: NSObject {
NotificationCenter.default.addObserver(self, selector: #selector(logoutSuccess), name: YhConstant.YhNotification.didLogoutSuccessNotifiction, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(logoutSuccess), name: YhConstant.YhNotification.didLogoutSuccessNotifiction, object: nil)
} }
/*
func registerAndLoginCurrentUser(completion: @escaping (Bool) -> Void) { func registerAndLoginCurrentUser(completion: @escaping (Bool) -> Void) {
guard let userId = YHLoginManager.shared.userModel?.id, userId.count > 0 else { guard let userId = YHLoginManager.shared.userModel?.id, userId.count > 0 else {
completion(false) completion(false)
...@@ -116,9 +118,31 @@ class YHIMHelper: NSObject { ...@@ -116,9 +118,31 @@ class YHIMHelper: NSObject {
} }
} }
} }
*/
func newRegisterAndLoginCurrentUser(completion: @escaping (Bool) -> Void) {
guard let userId = YHLoginManager.shared.userModel?.id, userId.count > 0 else {
completion(false)
return
}
viewModel.getHuanXinToken { [weak self] tokenModel, _ in
guard let tokenModel = tokenModel else {
completion(false)
return
}
guard let self = self else {
completion(false)
return
}
let token = tokenModel.accessToken
self.loginEaseIM(name: "\(userId)", token: token) { success in
completion(success)
}
}
}
@objc private func loginSuccess() { @objc private func loginSuccess() {
registerAndLoginCurrentUser { _ in newRegisterAndLoginCurrentUser { _ in
// //
} }
} }
......
...@@ -18,6 +18,7 @@ class YHHuanXinUserModel: SmartCodable { ...@@ -18,6 +18,7 @@ class YHHuanXinUserModel: SmartCodable {
} }
class YHHuanXinTokenModel: SmartCodable { class YHHuanXinTokenModel: SmartCodable {
var nickname: String = ""
var accessToken: String = "" var accessToken: String = ""
required init() { required init() {
......
...@@ -136,7 +136,12 @@ class YHRecommendedAppointmentLiveView: UIView { ...@@ -136,7 +136,12 @@ class YHRecommendedAppointmentLiveView: UIView {
func updateViews(liveTitle: String, fromTime: String, endTime: String, avatar: String, anchorName: String, isAppointmented: Bool) { func updateViews(liveTitle: String, fromTime: String, endTime: String, avatar: String, anchorName: String, isAppointmented: Bool) {
liveTitleLabel.text = liveTitle liveTitleLabel.text = liveTitle
timeLabel.text = "直播时间:" + fromTime + "~" + endTime var timeStr = "直播时间:" + fromTime
if !fromTime.isEmpty, !endTime.isEmpty {
let time = isSameDayAndGetShortEndTime(date1String: fromTime, date2String: endTime)
timeStr += "~" + time
}
timeLabel.text = timeStr
if let url = URL(string: avatar) { if let url = URL(string: avatar) {
avatarImageView.kf.setImage(with: url, placeholder: UIImage(named: "global_default_image")) avatarImageView.kf.setImage(with: url, placeholder: UIImage(named: "global_default_image"))
} else { } else {
...@@ -145,4 +150,24 @@ class YHRecommendedAppointmentLiveView: UIView { ...@@ -145,4 +150,24 @@ class YHRecommendedAppointmentLiveView: UIView {
anchorLabel.text = anchorName anchorLabel.text = anchorName
updateAppointmentButton(isAppointmented: isAppointmented) updateAppointmentButton(isAppointmented: isAppointmented)
} }
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 components1 = calendar.dateComponents([.month, .day, .hour, .minute], from: date1)
let components2 = calendar.dateComponents([.month, .day, .hour, .minute], from: date2)
if components1.month == components2.month &&
components1.day == components2.day {
let hour = components2.hour ?? 0
let minute = components2.minute ?? 0
return String(format: "%02d:%02d", hour, minute)
}
return date2String
}
} }
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 to comment