awesome-im
Version:
Lightweight, extensible, JavaScript Instant Messaging.
112 lines (98 loc) • 3.34 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
button {
height: 120px;
width: 200px;
}
</style>
</head>
<body>
<button onclick="connect()">connect</button>
<button onclick="disconnect()">disconnect</button>
<button onclick="reconnect()">reconnect</button>
<button onclick="sendText()">发送单聊会话</button>
<button onclick="sendSignal()">发送信令消息</button>
<script src="../../dist/index.umd.js"></script>
<script>
// websocket server url
const url = "ws://localhost:8090";
// const url = "ws://192.168.3.160:8090";
im.init({
pingGap: 2000,
userId: "allenye"
});
im.addEventListener("STATUS", evt => {
console.log("连接状态->", evt)
})
im.addEventListener("MESSAGE", evt => {
console.log("监听消息->", evt)
})
function connect() {
im.connect(url).then(res => {
console.log("connect ->", res)
})
}
function reconnect() {
im.reconnect().then(res => {
console.log("重新连接", res)
})
}
function disconnect() {
im.disconnect().then(res => {
console.log("断开连接", res)
})
}
function sendText() {
im.send(new im.Message.TextMessage({
conversationType: 1,
message: {
random: Math.random(),
test: 123,
array: [123, 456],
object: {
name: "allen"
}
},
to: "user2"
})).then(res => {
console.log("发送TextMessage成功 ->", res)
})
}
function sendSignal() {
im.send(new im.Message.SignalMessage({
signalName: "login", // 信令名称自定义,与服务端约定。
to: "server"
})).then(res => {
console.log("发送SignalMessage成功", res)
})
}
setInterval(() => {
// im.send(new im.Message.SignalMessage({
// signalName: "start", // 信令名称自定义,与服务端约定。
// to: "server"
// })).then(res => {
// console.log("发送SignalMessage成功", res)
// })
// im.send(new im.Message.TextMessage({
// conversationType: 1,
// message: {
// test: 123,
// array: [123, 456],
// object: {
// name: "allen"
// }
// },
// to: "user2"
// })).then(res => {
// console.log("发送TextMessage成功 ->", res)
// })
}, 3000)
</script>
</body>
</html>