# 接收消息

在你想接收消息的地方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
});