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

完善 IM消息 相关

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