礼物
This commit is contained in:
@@ -13,7 +13,7 @@ class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
self.roomUid = roomUid
|
||||
}
|
||||
deinit {
|
||||
YinRoomAudMioanager.share.destroySharedIntance()
|
||||
YinRoomAudioManager.share.destroySharedIntance()
|
||||
}
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
@@ -24,33 +24,100 @@ class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
requestData()
|
||||
addNIMSDKManager()
|
||||
addChild(chatListVC)
|
||||
menuView.clickMenuViewBlcok = {[weak self] in
|
||||
menuView.clickMenuViewBlcok = {[weak self] type in
|
||||
guard let self = self else { return}
|
||||
self.view.addSubview(self.bgChatView)
|
||||
self.bgChatView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(self.view)
|
||||
}
|
||||
let height = ScreenHeight * 2 / 3
|
||||
self.view.addSubview(self.chatListVC.view)
|
||||
self.chatListVC.view.layer.cornerRadius = 20
|
||||
self.chatListVC.view.layer.masksToBounds = true
|
||||
self.chatListVC.view.frame = CGRect(x: 0, y: ScreenHeight, width: ScreenWidth, height: height)
|
||||
UIView.animate(withDuration: 0.1) {
|
||||
self.chatListVC.view.frame = CGRect(x: 0, y:ScreenHeight - height, width: ScreenWidth, height: height)
|
||||
if type == .chat{
|
||||
self.view.addSubview(self.bgChatView)
|
||||
self.bgChatView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(self.view)
|
||||
}
|
||||
let height = ScreenHeight * 2 / 3
|
||||
self.view.addSubview(self.chatListVC.view)
|
||||
self.chatListVC.view.layer.cornerRadius = 20
|
||||
self.chatListVC.view.layer.masksToBounds = true
|
||||
self.chatListVC.view.frame = CGRect(x: 0, y: ScreenHeight, width: ScreenWidth, height: height)
|
||||
UIView.animate(withDuration: 0.1) {
|
||||
self.chatListVC.view.frame = CGRect(x: 0, y:ScreenHeight - height, width: ScreenWidth, height: height)
|
||||
}
|
||||
}else{
|
||||
let sendGiftVC = SendGiftVC()
|
||||
let nav = BaseNavigationViewController.init(rootViewController: sendGiftVC)
|
||||
nav.modalPresentationStyle = .overCurrentContext
|
||||
let list = micSeatView.getMicUser()
|
||||
var userList:[SendGiftUserModel] = []
|
||||
for item:[String:UserObject] in list {
|
||||
|
||||
|
||||
if let first = item.keys.first,let user = item[first],let uid = user.uid,uid != AuthManager.userUid{
|
||||
let model = SendGiftUserModel()
|
||||
model.position = first
|
||||
model.nick = user.nick ?? ""
|
||||
model.avatar = user.avatar ?? ""
|
||||
model.uid = user.uid ?? 0
|
||||
userList.append(model)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
sendGiftVC.userList = userList
|
||||
sendGiftVC.roomUid = self.roomUid
|
||||
sendGiftVC.roomId = self.roomInfo?.roomId ?? ""
|
||||
sendGiftVC.userData = self.userData
|
||||
self.present(nav, animated: true, completion: nil)
|
||||
}
|
||||
|
||||
}
|
||||
micSeatView.showUserInfoBlock = {[weak self] user in
|
||||
guard let weakSelf = self else { return }
|
||||
let userInfoView:HomeVoiceUserInfoView = HomeVoiceUserInfoView.init(frame: .zero)
|
||||
userInfoView.clickBtnBlock = {[weak self] (type,uid) in
|
||||
guard let weakSelf = self else {
|
||||
return
|
||||
}
|
||||
if type == 0{
|
||||
let session = NIMSession(uid, type: .P2P)
|
||||
let chatVC = ChatVC.init(session: session)
|
||||
weakSelf.navigationController?.pushViewController(chatVC, animated: true)
|
||||
}else if (type == 5){
|
||||
if let first = user.keys.first,let userModel = user[first],let uid = userModel.uid,uid != AuthManager.userUid{
|
||||
var userList:[SendGiftUserModel] = []
|
||||
let model = SendGiftUserModel()
|
||||
model.position = first
|
||||
model.nick = userModel.nick ?? ""
|
||||
model.avatar = userModel.avatar ?? ""
|
||||
model.uid = userModel.uid ?? 0
|
||||
userList.append(model)
|
||||
let sendGiftVC = SendGiftVC()
|
||||
let nav = BaseNavigationViewController.init(rootViewController: sendGiftVC)
|
||||
nav.modalPresentationStyle = .overCurrentContext
|
||||
sendGiftVC.userList = userList
|
||||
sendGiftVC.roomUid = weakSelf.roomUid
|
||||
sendGiftVC.roomId = weakSelf.roomInfo?.roomId ?? ""
|
||||
sendGiftVC.userData = weakSelf.userData
|
||||
sendGiftVC.isSendPerson = true
|
||||
weakSelf.present(nav, animated: true, completion: nil)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
userInfoView.type = 2
|
||||
userInfoView.user = user.values.first
|
||||
weakSelf.view.addSubview(userInfoView)
|
||||
userInfoView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(weakSelf.view)
|
||||
}
|
||||
}
|
||||
|
||||
topView.didClickTypeBlcok = {[weak self] (type,uid) in
|
||||
guard let self = self else { return}
|
||||
if type == 0{
|
||||
YinRoomAudMioanager.share.exitRoom()
|
||||
YinRoomAudioManager.share.exitRoom()
|
||||
RoomVCViewModel.roomVM.isMute = true
|
||||
NIMSDK.shared().chatroomManager.exitChatroom(self.roomInfo?.roomId ?? "")
|
||||
self.dismiss(animated: true, completion: nil)
|
||||
|
||||
}else if type == 1 {
|
||||
|
||||
YinRoomAudMioanager.share.exitRoom()
|
||||
YinRoomAudioManager.share.exitRoom()
|
||||
RoomVCViewModel.roomVM.isMute = true
|
||||
NIMSDK.shared().chatroomManager.exitChatroom(self.roomInfo?.roomId ?? "")
|
||||
self.dismiss(animated: true, completion: nil)
|
||||
@@ -84,6 +151,7 @@ class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
view.addSubview(micSeatView)
|
||||
view.addSubview(chatScreenView)
|
||||
view.addSubview(menuView)
|
||||
view.addSubview(roomEffectView)
|
||||
backgroundView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(self.view)
|
||||
}
|
||||
@@ -108,27 +176,10 @@ class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
make.bottom.equalTo(-bottom)
|
||||
make.height.equalTo(UIDevice.scaleWidth(width: 40))
|
||||
}
|
||||
micSeatView.showUserInfoBlock = {[weak self] user in
|
||||
guard let weakSelf = self else { return }
|
||||
let userInfoView:HomeVoiceUserInfoView = HomeVoiceUserInfoView.init(frame: .zero)
|
||||
userInfoView.clickBtnBlock = {[weak self] (type,uid) in
|
||||
guard let weakSelf = self else {
|
||||
return
|
||||
}
|
||||
if type == 0{
|
||||
let session = NIMSession(uid, type: .P2P)
|
||||
let chatVC = ChatVC.init(session: session)
|
||||
weakSelf.navigationController?.pushViewController(chatVC, animated: true)
|
||||
}
|
||||
|
||||
}
|
||||
userInfoView.type = 2
|
||||
userInfoView.user = user
|
||||
weakSelf.view.addSubview(userInfoView)
|
||||
userInfoView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(weakSelf.view)
|
||||
}
|
||||
roomEffectView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(view)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private func requestData(){
|
||||
@@ -143,6 +194,7 @@ class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
RoomVCViewModel.roomVM.NIMSDKEnterRoom(roomId:roomid , user: result)
|
||||
self?.micSeatView.userData = result
|
||||
self?.menuView.user = result
|
||||
self?.userData = result
|
||||
}
|
||||
|
||||
}).disposed(by: rx.disposeBag)
|
||||
@@ -160,7 +212,7 @@ class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
topView.roomData = self.roomInfo
|
||||
micSeatView.roomData = self.roomInfo
|
||||
if let roomInfo = self.roomInfo{
|
||||
YinRoomAudMioanager.share.dealWithChatData(roomData:roomInfo)
|
||||
YinRoomAudioManager.share.dealWithChatData(roomData:roomInfo)
|
||||
}
|
||||
micSeatView.setMicList()
|
||||
menuView.roomUid = self.roomInfo?.roomId ?? ""
|
||||
@@ -192,6 +244,7 @@ class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
var roomUid:String = ""
|
||||
var roomText:String = ""
|
||||
var roomInfo:RoomDataModel?
|
||||
var userData:UserObject?
|
||||
//MARK: - 懒加载
|
||||
private lazy var backgroundView:RoomBackgroundView = {
|
||||
let _backgroundView = RoomBackgroundView(frame: .zero)
|
||||
@@ -229,6 +282,11 @@ class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
|
||||
return _chatListVC
|
||||
}()
|
||||
private lazy var roomEffectView:RoomDynamicEffectView = {
|
||||
let _roomEffectView = RoomDynamicEffectView(frame: .zero)
|
||||
_roomEffectView.isUserInteractionEnabled = false
|
||||
return _roomEffectView
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
@@ -266,6 +324,9 @@ extension RoomVC : NIMChatManagerDelegate, NIMChatroomManagerDelegate, NIMLoginM
|
||||
self.topView.roomData = self.roomInfo
|
||||
}else if msg.messageType == .text{
|
||||
chatScreenView.getTextMsg(msg: msg)
|
||||
}else if msg.messageType == .custom{
|
||||
chatScreenView.dealWithCustomMsg(msg: msg)
|
||||
roomEffectView.dealWithCustomMsg(msg: msg)
|
||||
}
|
||||
micSeatView.dealWithNotMessage(msg: msg)
|
||||
menuView.dealWithNotMessage(msg: msg)
|
||||
@@ -278,6 +339,9 @@ extension RoomVC : NIMChatManagerDelegate, NIMChatroomManagerDelegate, NIMLoginM
|
||||
}
|
||||
if message.messageType == .text{
|
||||
chatScreenView.getTextMsg(msg: message)
|
||||
}else if message.messageType == .custom{
|
||||
chatScreenView.dealWithCustomMsg(msg: message)
|
||||
roomEffectView.dealWithCustomMsg(msg: message)
|
||||
}
|
||||
}
|
||||
func updateOnlineNum(num:Int){
|
||||
|
Reference in New Issue
Block a user