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

直播相关调整

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