# 接收消息
在你想接收消息的地方preload.js
或者页面上都可以,监听你的消息
# on
// 监听消息
window.cool.socket.on('test', (msg)=>{
console.log('收到的消息', msg)
})
# 方法参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
event | 字符串 | 是 | 自定义的消息事件,不同的应用事件相互隔离 |
callBack | 方法 | 是 | 回调方法,返回消息信息 |
# 发送消息
# send
// 发送消息
const msg = {
content: '你好啊'
}
window.cool.socket.send('test', msg);
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
event | 字符串 | 是 | 自定义的消息事件,不同的应用事件相互隔离 |
msg | 对象 | 是 | 消息对象,可以根据业务自定义 |
# 聊天实现
聊天是一个常见的即时通信功能,下面会简单描述下实现方法和逻辑,开发者可以根据自己业务的实际需求灵活变通,可以结合用户信息
、通知功能
等实现一个比较完整的聊天功能
1、获得用户信息并监听其他人发给你的消息
// 获得登录用户的openid
const { openid } = window.cool.user.info();
window.cool.socket.on(openid, (msg)=>{
console.log('收到其他人发来给我的消息', msg);
});
2、绑定一个群组消息,接受来自公告或
window.cool.socket.on('group', (msg)=>{
console.log('收到群消息', msg);
});
3、绑定一个公告频道,接受来自公告或
// 比如这边定义公告频道为: public
window.cool.socket.on('public', (msg)=>{
console.log('收到公告消息', msg);
});
4、向某个好友发送消息
// 这边假设对方的openid为: 960695e1b7354c2288110464558ae219
const { openid } = window.cool.user.info();
window.cool.socket.send('960695e1b7354c2288110464558ae219', {
content: '我收到你的消息了',
contentType: 'text',
fromId: openid // 发送者的openid
});
5、发送群消息
const { openid } = window.cool.user.info();
window.cool.socket.send('group', {
content: '我发了一条群消息',
contentType: 'text',
fromId: openid // 发送者的openid
});
6、发送公告消息
const { openid } = window.cool.user.info();
window.cool.socket.send('public', {
content: '我发了一条公告消息',
contentType: 'text',
fromId: openid // 发送者的openid
});