Commit f4efad64 authored by David黄金龙's avatar David黄金龙

完善 IM消息 相关

parent 8e916140
...@@ -14,6 +14,8 @@ class YHIMTestViewController: YHBaseViewController { ...@@ -14,6 +14,8 @@ class YHIMTestViewController: YHBaseViewController {
private let roomID : String = "265239166779417" private let roomID : String = "265239166779417"
private let yHID : String = "1040217809134595" private let yHID : String = "1040217809134595"
private var myTextField : UITextField?
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -22,29 +24,20 @@ class YHIMTestViewController: YHBaseViewController { ...@@ -22,29 +24,20 @@ class YHIMTestViewController: YHBaseViewController {
gk_navTitle = "IM 测试" gk_navTitle = "IM 测试"
if EMClient.shared().isLoggedIn { if EMClient.shared().isLoggedIn {
YHHUD.flash(message: "已登录IM服务器") YHHUD.flash(message: "已 登录IM服务器")
} else {
// EMClient.shared().logout(true) { err in YHHUD.flash(message: "未 登录IM服务器")
// if let err = err {
// YHHUD.flash(message: err.errorDescription)
// } else {
// YHHUD.flash(message: "退出IM服务器-成功")
// }
// }
// return
} }
setupUI() setupUI()
//2、处理代理回调 //2、处理代理回调
EMClient.shared().roomManager?.add(self, delegateQueue: nil) EMClient.shared().roomManager?.add(self, delegateQueue: nil)
EMClient.shared().chatManager?.add(self, delegateQueue: nil) EMClient.shared().chatManager?.add(self, delegateQueue: nil)
} }
deinit { deinit {
EMClient.shared().chatManager?.remove(self)
EMClient.shared().roomManager?.remove(self) EMClient.shared().roomManager?.remove(self)
EMClient.shared().chatManager?.remove(self)
} }
} }
...@@ -55,7 +48,7 @@ private extension YHIMTestViewController { ...@@ -55,7 +48,7 @@ private extension YHIMTestViewController {
//1.登录 //1.登录
do { do {
let addBtn = UIButton() let addBtn = UIButton()
addBtn.setTitle("1、用户登录", for: .normal) addBtn.setTitle("1、登录IM 服务器", for: .normal)
view.addSubview(addBtn) view.addSubview(addBtn)
addBtn.snp.makeConstraints { make in addBtn.snp.makeConstraints { make in
make.top.equalToSuperview().offset(80) make.top.equalToSuperview().offset(80)
...@@ -90,6 +83,24 @@ private extension YHIMTestViewController { ...@@ -90,6 +83,24 @@ private extension YHIMTestViewController {
//3.发送消息 //3.发送消息
do { do {
let textField : UITextField = UITextField()
textField.placeholder = "请输入发送内容"
textField.borderStyle = .line
view.addSubview(textField)
if let tagView = tagView {
textField.snp.makeConstraints { make in
make.top.equalTo(tagView.snp.bottom).offset(20)
make.centerX.equalToSuperview()
make.width.equalTo(300)
make.height.equalTo(44)
}
}
tagView = textField
myTextField = textField
let addBtn = UIButton() let addBtn = UIButton()
addBtn.setTitle("3、发送信息", for: .normal) addBtn.setTitle("3、发送信息", for: .normal)
view.addSubview(addBtn) view.addSubview(addBtn)
...@@ -161,6 +172,35 @@ private extension YHIMTestViewController { ...@@ -161,6 +172,35 @@ private extension YHIMTestViewController {
addBtn.addTarget(self, action: #selector(fetchRoomMemberList), for: .touchUpInside) addBtn.addTarget(self, action: #selector(fetchRoomMemberList), for: .touchUpInside)
tagView = addBtn tagView = addBtn
} }
//7、退出IM服务器
do {
let addBtn = UIButton()
addBtn.setTitle("7、退出IM服务器", for: .normal)
view.addSubview(addBtn)
if let tagView = tagView {
addBtn.snp.makeConstraints { make in
make.top.equalTo(tagView.snp.bottom).offset(20)
make.centerX.equalToSuperview()
make.width.equalTo(300)
make.height.equalTo(44)
}
}
addBtn.backgroundColor = UIColor.red
addBtn.addTarget(self, action: #selector(quitIM), for: .touchUpInside)
tagView = addBtn
}
}
//7.聊天室成员列表
@objc func quitIM(){
EMClient.shared().logout(true) { err in
if let err = err {
YHHUD.flash(message: err.errorDescription)
} else {
YHHUD.flash(message: "退出IM服务器-成功")
}
}
} }
//6.聊天室成员列表 //6.聊天室成员列表
...@@ -214,7 +254,20 @@ private extension YHIMTestViewController { ...@@ -214,7 +254,20 @@ private extension YHIMTestViewController {
//3.发送消息 //3.发送消息
@objc func sendMessage() { @objc func sendMessage() {
let textMessageBody = EMTextMessageBody(text: "金龙发送的信息") var sendText : String = ""
if let tf = myTextField {
sendText = tf.text ?? ""
} else {
return
}
if sendText.isEmpty {
YHHUD.flash(message: "请输入内容")
return
}
let textMessageBody = EMTextMessageBody(text: sendText)
// 消息接收方,单聊为对端用户的 ID,群聊为群组 ID,聊天室为聊天室 ID。 // 消息接收方,单聊为对端用户的 ID,群聊为群组 ID,聊天室为聊天室 ID。
let conversationId = roomID let conversationId = roomID
let message = EMChatMessage(conversationID: conversationId, body: textMessageBody, ext:["fromNickName":"YinHe3775"]) let message = EMChatMessage(conversationID: conversationId, body: textMessageBody, ext:["fromNickName":"YinHe3775"])
...@@ -240,7 +293,7 @@ private extension YHIMTestViewController { ...@@ -240,7 +293,7 @@ private extension YHIMTestViewController {
}) })
} }
//1.IM 用户登录 //1.登录 IM服务器
@objc func userLoginOp() { @objc func userLoginOp() {
EMClient.shared().login(withUsername: yHID, token: "YWMtqUTnNKsxEe-ZVA-eCJXgmszPhuTA1UDqp8xrPJoVisk1wDGwqzER74uZ-bqVfmOVAwMAAAGTY4WtWgABUYBw0BfZJnoSM_kNt49EM81gKznPICMuPw-M2Fhj96-G7Q") { name, err in EMClient.shared().login(withUsername: yHID, token: "YWMtqUTnNKsxEe-ZVA-eCJXgmszPhuTA1UDqp8xrPJoVisk1wDGwqzER74uZ-bqVfmOVAwMAAAGTY4WtWgABUYBw0BfZJnoSM_kNt49EM81gKznPICMuPw-M2Fhj96-G7Q") { name, err in
if let err = err { if let err = err {
......
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