Commit c32a6947 authored by Alex朱枝文's avatar Alex朱枝文

直播间进聊天室增加失败重试

parent 80cadb19
...@@ -29,6 +29,8 @@ class YHLivePlayerViewController: YHBasePlayerViewController { ...@@ -29,6 +29,8 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
private var timer: DispatchSourceTimer? private var timer: DispatchSourceTimer?
private var isDisappearFromZoom = false private var isDisappearFromZoom = false
private let timeCount: Int = 120 private let timeCount: Int = 120
// 进聊天室尝试次数
private let maxRetryCount = 3
// MARK: - UI Components // MARK: - UI Components
...@@ -347,12 +349,16 @@ class YHLivePlayerViewController: YHBasePlayerViewController { ...@@ -347,12 +349,16 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
// MARK: - Chat Room Methods // MARK: - Chat Room Methods
private func joinChatRoom(roomId: String) { private func joinChatRoom(roomId: String) {
func joinRoom() { func joinRoom(retryCount: Int) {
YHIMHelper.shared.joinChatRoom(roomID: roomId, leaveOtherRooms: true) { [weak self] error in YHIMHelper.shared.joinChatRoom(roomID: roomId, leaveOtherRooms: true) { [weak self] error in
guard let self = self else { return } guard let self = self else { return }
if let error = error, retryCount <= self.maxRetryCount {
if let error = error {
printLog("joinChatRoom: \(error)") printLog("joinChatRoom: \(error)")
DispatchQueue.main.asyncAfter(deadline: .now() + TimeInterval(5 * (retryCount + 1))) {
YHIMHelper.shared.registerAndLoginCurrentUser { _ in
joinRoom(retryCount: retryCount + 1)
}
}
} else { } else {
self.loadHistoryMessages(roomId: roomId) self.loadHistoryMessages(roomId: roomId)
} }
...@@ -361,10 +367,10 @@ class YHLivePlayerViewController: YHBasePlayerViewController { ...@@ -361,10 +367,10 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
if !YHIMHelper.shared.isCurrentUserLogin { if !YHIMHelper.shared.isCurrentUserLogin {
YHIMHelper.shared.registerAndLoginCurrentUser { _ in YHIMHelper.shared.registerAndLoginCurrentUser { _ in
joinRoom() joinRoom(retryCount: 0)
} }
} else { } else {
joinRoom() joinRoom(retryCount: 0)
} }
} }
......
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